1 /**************************************************************************
2 * Copyright(c) 2007, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
18 // Base class for the EMCAL simulation parameters.
23 // --- Root header files ---
25 // --- AliRoot header files ---
26 #include "AliEMCALSimParam.h"
30 ClassImp(AliEMCALSimParam)
32 AliEMCALSimParam * AliEMCALSimParam::fgSimParam = 0 ;
33 //-----------------------------------------------------------------------------
34 AliEMCALSimParam::AliEMCALSimParam() :
37 fMeanPhotonElectron(0),
40 fTimeResolutionPar0(0),
41 fTimeResolutionPar1(0),
42 fNADCEC(0),//Digitizer
45 fECPrimThreshold(0.) //SDigitizer
49 //Parameters in Digitizer
50 fMeanPhotonElectron = 4400; // electrons per GeV
51 fPinNoise = 0.012; // pin noise in GeV from analysis test beam data
52 fDigitThreshold = 3; // 3 ADC counts not anymore cut in energy: //fPinNoise * 3; // 3 * sigma
53 fTimeResolutionPar0 = 0.26666; // From F. Blanco: 0.51639^2
54 fTimeResolutionPar1 = 1.45861; // From F. Blanco: 1.20773^2
55 fTimeDelay = 600e-9 ; // 600 ns
57 fNADCEC = (Int_t) TMath::Power(2,16) ; // number of channels in Tower ADC - 65536
61 fB = 1.e+6; // Dynamic range now 2 TeV
62 fECPrimThreshold = 0.05; // GeV // threshold for deposit energy of hit
67 //-----------------------------------------------------------------------------
68 AliEMCALSimParam::AliEMCALSimParam(const AliEMCALSimParam& ):
71 fMeanPhotonElectron(0),
74 fTimeResolutionPar0(0),
75 fTimeResolutionPar1(0),
79 fECPrimThreshold(0.)//SDigitizer
82 AliError("Should not use copy constructor for singleton") ;
88 //-----------------------------------------------------------------------------
89 AliEMCALSimParam * AliEMCALSimParam::GetInstance(){
93 fgSimParam = new AliEMCALSimParam() ;
100 //-----------------------------------------------------------------------------
101 AliEMCALSimParam& AliEMCALSimParam::operator = (const AliEMCALSimParam& simParam)
103 //Assignment operator.
105 if(this != &simParam) {
106 AliError("Should not use operator= for singleton\n") ;
112 //-----------------------------------------------------------------------------
113 void AliEMCALSimParam::Print(Option_t *) const
115 // Print simulation parameters to stdout
117 printf("=== Parameters in Digitizer === \n");
118 printf("\t Electronics noise in EMC (fPinNoise) = %f\n", fPinNoise) ;
119 printf("\t Threshold in EMC (fDigitThreshold) = %d\n", fDigitThreshold) ;
120 printf("\t Time Resolution (fTimeResolutionPar0) = %g\n", fTimeResolutionPar0) ;
121 printf("\t Time Resolution (fTimeResolutionPar1) = %g\n", fTimeResolutionPar1) ;
122 printf("\t Time Delay (fTimeDelay) = %g\n", fTimeDelay) ;
123 printf("\t Mean Photon-Electron (fMeanPhotonElectron) = %d\n", fMeanPhotonElectron) ;
124 printf("\t N channels in EC section ADC (fNADCEC) = %d\n", fNADCEC) ;
128 printf("=== Parameters in SDigitizer === \n");
129 printf("\t sdigitization parameters A = %f\n", fA);
130 printf("\t B = %f\n", fB);
131 printf("\t Threshold for EC Primary assignment = %f\n", fECPrimThreshold);