ROOT logo
#ifndef ALIEMCALSIMPARAM_H
#define ALIEMCALSIMPARAM_H
/* Copyright(c) 2007, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                          */

/* $Id: AliEMCALSimParam.h  $ */
/*
//
// Base class for the EMCAL simulation parameters.
//
//
*/

#include "TNamed.h"

class AliEMCALSimParam : public TNamed {

public:

  AliEMCALSimParam();
  AliEMCALSimParam(const AliEMCALSimParam& recoParam);
  AliEMCALSimParam& operator = (const AliEMCALSimParam& recoParam);
  virtual ~AliEMCALSimParam() {}

  static AliEMCALSimParam * GetInstance() ;
  virtual void Print(Option_t * option="") const ;

  //Parameters used in Digitizer
  Int_t    GetDigitThreshold()          const { return fDigitThreshold     ; }
  Float_t  GetPinNoise()                const { return fPinNoise           ; }
  Double_t GetTimeNoise()               const { return fTimeNoise          ; }
  Double_t GetTimeDelay()               const { return fTimeDelay          ; }
  Double_t GetTimeResolutionPar0()      const { return fTimeResolutionPar0 ; }
  Double_t GetTimeResolutionPar1()      const { return fTimeResolutionPar1 ; }
  Int_t    GetNADCEC()                  const { return fNADCEC             ; }
  Int_t    GetMeanPhotonElectron()      const { return fMeanPhotonElectron ; }
  Float_t  GetGainFluctuations()        const { return fGainFluctuations   ; }
  
  void     SetDigitThreshold(Int_t val)       { fDigitThreshold      = val ; }
  void     SetPinNoise(Float_t val)           { fPinNoise            = val ; }
  void     SetTimeNoise(Float_t val)          { fTimeNoise           = val ; }
  void     SetTimeDelay(Double_t val)         { fTimeDelay           = val ; }
  void     SetTimeResolutionPar0(Double_t val){ fTimeResolutionPar0  = val ; }
  void     SetTimeResolutionPar1(Double_t val){ fTimeResolutionPar1  = val ; }
  void     SetNADCED(Int_t val)               { fNADCEC              = val ; }
  void     SetMeanPhotonElectron(Int_t val)   { fMeanPhotonElectron  = val ; }
  void     SetGainFluctuations(Float_t val)   { fGainFluctuations    = val ; }

  //Parameters used in SDigitizer
  Float_t  GetA()                       const { return fA                  ; }
  Float_t  GetB()                       const { return fB                  ; }
  Float_t  GetECPrimaryThreshold()      const { return fECPrimThreshold    ; }
  
  void     SetA(Float_t val)                  { fA                   = val ; }
  void     SetB(Float_t val)                  { fB                   = val ; }
  void     SetECPrimaryThreshold(Float_t val) { fECPrimThreshold     = val ; }


private:


  static AliEMCALSimParam * fgSimParam ; // pointer to the unique instance of the class

  // Digitizer
  Int_t    fDigitThreshold  ;     // Threshold for storing digits in EMC
  Int_t    fMeanPhotonElectron ;  // number of photon electrons per GeV deposited energy 
  Float_t  fGainFluctuations ;    // correct fMeanPhotonElectron by the gain fluctuations
  Float_t  fPinNoise ;            // Electronics noise in EMC, APD
  Double_t fTimeNoise ;           // Electronics noise in EMC, time
  Double_t fTimeDelay;            // Time delay to reproduce data delay
  Double_t fTimeResolutionPar0 ;  // Time resolution of FEE electronics
  Double_t fTimeResolutionPar1 ;  // Time resolution of FEE electronics
  Int_t    fNADCEC ;              // number of channels in EC section ADC
	
  // SDigitizer
  Float_t fA ;                     // Pedestal parameter
  Float_t fB ;                     // Slope Digitizition parameters
  Float_t fECPrimThreshold ;       // To store primary if EC Shower Elos > threshold
		
  ClassDef(AliEMCALSimParam,6)
};

#endif

 AliEMCALSimParam.h:1
 AliEMCALSimParam.h:2
 AliEMCALSimParam.h:3
 AliEMCALSimParam.h:4
 AliEMCALSimParam.h:5
 AliEMCALSimParam.h:6
 AliEMCALSimParam.h:7
 AliEMCALSimParam.h:8
 AliEMCALSimParam.h:9
 AliEMCALSimParam.h:10
 AliEMCALSimParam.h:11
 AliEMCALSimParam.h:12
 AliEMCALSimParam.h:13
 AliEMCALSimParam.h:14
 AliEMCALSimParam.h:15
 AliEMCALSimParam.h:16
 AliEMCALSimParam.h:17
 AliEMCALSimParam.h:18
 AliEMCALSimParam.h:19
 AliEMCALSimParam.h:20
 AliEMCALSimParam.h:21
 AliEMCALSimParam.h:22
 AliEMCALSimParam.h:23
 AliEMCALSimParam.h:24
 AliEMCALSimParam.h:25
 AliEMCALSimParam.h:26
 AliEMCALSimParam.h:27
 AliEMCALSimParam.h:28
 AliEMCALSimParam.h:29
 AliEMCALSimParam.h:30
 AliEMCALSimParam.h:31
 AliEMCALSimParam.h:32
 AliEMCALSimParam.h:33
 AliEMCALSimParam.h:34
 AliEMCALSimParam.h:35
 AliEMCALSimParam.h:36
 AliEMCALSimParam.h:37
 AliEMCALSimParam.h:38
 AliEMCALSimParam.h:39
 AliEMCALSimParam.h:40
 AliEMCALSimParam.h:41
 AliEMCALSimParam.h:42
 AliEMCALSimParam.h:43
 AliEMCALSimParam.h:44
 AliEMCALSimParam.h:45
 AliEMCALSimParam.h:46
 AliEMCALSimParam.h:47
 AliEMCALSimParam.h:48
 AliEMCALSimParam.h:49
 AliEMCALSimParam.h:50
 AliEMCALSimParam.h:51
 AliEMCALSimParam.h:52
 AliEMCALSimParam.h:53
 AliEMCALSimParam.h:54
 AliEMCALSimParam.h:55
 AliEMCALSimParam.h:56
 AliEMCALSimParam.h:57
 AliEMCALSimParam.h:58
 AliEMCALSimParam.h:59
 AliEMCALSimParam.h:60
 AliEMCALSimParam.h:61
 AliEMCALSimParam.h:62
 AliEMCALSimParam.h:63
 AliEMCALSimParam.h:64
 AliEMCALSimParam.h:65
 AliEMCALSimParam.h:66
 AliEMCALSimParam.h:67
 AliEMCALSimParam.h:68
 AliEMCALSimParam.h:69
 AliEMCALSimParam.h:70
 AliEMCALSimParam.h:71
 AliEMCALSimParam.h:72
 AliEMCALSimParam.h:73
 AliEMCALSimParam.h:74
 AliEMCALSimParam.h:75
 AliEMCALSimParam.h:76
 AliEMCALSimParam.h:77
 AliEMCALSimParam.h:78
 AliEMCALSimParam.h:79
 AliEMCALSimParam.h:80
 AliEMCALSimParam.h:81
 AliEMCALSimParam.h:82
 AliEMCALSimParam.h:83
 AliEMCALSimParam.h:84