00001 //---------------------------------------------------------------------------// 00002 // BOOST --- BESIII Object_Oriented Simulation Tool // 00003 //---------------------------------------------------------------------------// 00004 //Description: 00005 //Author: Dengzy 00006 //Created: Oct, 2004 00007 //Modified: 00008 //Comment: 00009 //---------------------------------------------------------------------------// 00010 // $Id: BesTofDigitizerEcV2.hh 00011 00012 #ifndef BesTofDigitizerEcV2_h 00013 #define BesTofDigitizerEcV2_h 1 00014 00015 #include "GaudiKernel/NTuple.h" 00016 00017 #include "BesTofDigitizerV.hh" 00018 #include "BesTofDigi.hh" 00019 #include "ScintSingle.hh" 00020 #include "globals.hh" 00021 #include "G4ThreeVector.hh" 00022 #include <vector> 00023 using namespace std; 00024 00025 class BesTofHit; 00026 class BesRunAction; 00027 class G4Svc; 00028 00029 00030 const G4int m_profBinNEcV2 = 8000; 00031 const G4int m_snpeBinNEcV2 = 2000; 00032 00033 class BesTofDigitizerEcV2 : public BesTofDigitizerV 00034 { 00035 public: 00036 BesTofDigitizerEcV2(); 00037 ~BesTofDigitizerEcV2(); 00038 00039 virtual void Digitize(ScintSingle*, BesTofDigitsCollection*); 00040 void ReadData(); 00041 void TofPmtInit(); 00042 void TofPmtAccum(BesTofHit* ); 00043 void DirectPh(G4int, G4ThreeVector, G4double &, G4int&); 00044 G4double Scintillation(G4int); 00045 //G4double GenPhoton(G4int); 00046 G4double TransitTime(); 00047 void AccuSignal(G4double, G4int); 00048 void TofPmtRspns(G4int); 00049 00050 private: 00051 00052 G4double m_ecR1; 00053 00054 G4double m_tau1Ec; 00055 G4double m_tau2Ec; 00056 G4double m_tau3Ec; 00057 G4double m_tauRatioEc; 00058 G4double m_refIndexEc; 00059 G4double m_phNConstEc; 00060 G4double m_Cpe2pmtEc; 00061 G4double m_rAngleEc; 00062 G4double m_QEEc; 00063 G4double m_CEEc; 00064 G4double m_peCorFacEc; 00065 G4double m_attenEc; 00066 00067 G4double m_ttsMeanEc; 00068 G4double m_ttsSigmaEc; 00069 G4double m_PMTgainEc; 00070 G4double m_CeEc; 00071 G4double m_riseTimeEc; 00072 G4double m_LLthreshEc; 00073 G4double m_HLthreshEc; 00074 G4double m_preGainEc; 00075 G4double m_noiseSigmaEc; 00076 00077 G4double m_t1st[2]; 00078 G4double m_tLast[2]; 00079 G4double m_timeBinSize; 00080 G4int m_totalPhot[2]; 00081 G4int m_nPhot[m_profBinNEcV2][2]; 00082 00083 G4Svc* m_G4Svc; 00084 G4double m_beamTime; 00085 00086 00087 00088 }; 00089 00090 #endif 00091