Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

BesTofDigitizerEcV1 Class Reference

#include <BesTofDigitizerEcV1.hh>

Inheritance diagram for BesTofDigitizerEcV1:

BesTofDigitizerV BesTofDigitizerV List of all members.

Public Member Functions

 BesTofDigitizerEcV1 ()
 BesTofDigitizerEcV1 ()
virtual void Digitize (ScintSingle *, BesTofDigitsCollection *)
virtual void Digitize (ScintSingle *, BesTofDigitsCollection *)
void Initialize ()
void Initialize ()
void Smear (G4int)
void Smear (G4int)
void TofPmtAccum (BesTofHit *)
void TofPmtAccum (BesTofHit *)
void TofPmtInit ()
void TofPmtInit ()
 ~BesTofDigitizerEcV1 ()
 ~BesTofDigitizerEcV1 ()

Protected Attributes

G4double m_ADC [2]
BesTofDigitsCollectionm_besTofDigitsCollection
BesTofDigitsCollectionm_besTofDigitsCollection
G4double m_globalTime
G4double m_TDC [2]
BesTofHitsCollectionm_THC
BesTofHitsCollectionm_THC
ITofCaliSvcm_tofCaliSvc
ITofCaliSvcm_tofCaliSvc
ITofQElecSvcm_tofQElecSvc
ITofQElecSvcm_tofQElecSvc
ITofSimSvcm_tofSimSvc
ITofSimSvcm_tofSimSvc
G4int m_trackIndex

Static Protected Attributes

NTuple::Item< double > m_adc0
NTuple::Item< double > m_adc0
NTuple::Item< double > m_adc1
NTuple::Item< double > m_adc1
bool m_booked = false
NTuple::Item< double > m_ddT
NTuple::Item< double > m_ddT
NTuple::Item< double > m_edep
NTuple::Item< double > m_edep
NTuple::Item< double > m_edepHit
NTuple::Item< double > m_edepHit
NTuple::Item< double > m_edepMPV
NTuple::Item< double > m_edepMPV
NTuple::Item< double > m_endTime
NTuple::Item< double > m_endTime
NTuple::Item< double > m_eTotal
NTuple::Item< double > m_eTotal
NTuple::Item< double > m_forb
NTuple::Item< double > m_forb
NTuple::Item< double > m_max0
NTuple::Item< double > m_max0
NTuple::Item< double > m_max1
NTuple::Item< double > m_max1
NTuple::Item< double > m_nDigi
NTuple::Item< double > m_nDigi
NTuple::Item< double > m_nDigiOut
NTuple::Item< double > m_nDigiOut
NTuple::Item< double > m_nHits
NTuple::Item< double > m_nHits
NTuple::Item< double > m_NphAllSteps
NTuple::Item< double > m_NphAllSteps
NTuple::Item< double > m_partId
NTuple::Item< double > m_partId
NTuple::Item< double > m_partIdMPV
NTuple::Item< double > m_partIdMPV
NTuple::Item< double > m_scinNb
NTuple::Item< double > m_scinNb
NTuple::Item< double > m_scinNbMPV
NTuple::Item< double > m_scinNbMPV
NTuple::Item< double > m_scinSwim
NTuple::Item< double > m_scinSwim
NTuple::Item< double > m_scinTime
NTuple::Item< double > m_scinTime
NTuple::Item< double > m_tdc0
NTuple::Item< double > m_tdc0
NTuple::Item< double > m_tdc1
NTuple::Item< double > m_tdc1
NTuple::Item< double > m_time1st0
NTuple::Item< double > m_time1st0
NTuple::Item< double > m_time1st1
NTuple::Item< double > m_time1st1
NTuple::Item< double > m_timeFlight
NTuple::Item< double > m_timeFlight
NTuple::Item< double > m_timelast0
NTuple::Item< double > m_timelast0
NTuple::Item< double > m_timelast1
NTuple::Item< double > m_timelast1
NTuple::Item< double > m_totalPhot0
NTuple::Item< double > m_totalPhot0
NTuple::Item< double > m_totalPhot1
NTuple::Item< double > m_totalPhot1
NTuple::Item< double > m_transitTime
NTuple::Item< double > m_transitTime
NTuple::Tuple * m_tupleTof1
NTuple::Tuple * m_tupleTof1 = 0
NTuple::Tuple * m_tupleTof2
NTuple::Tuple * m_tupleTof2 = 0
NTuple::Tuple * m_tupleTof3
NTuple::Tuple * m_tupleTof3 = 0

Private Attributes

G4double m_bucketPosR
G4double m_r
G4double m_t1st

Constructor & Destructor Documentation

BesTofDigitizerEcV1::BesTofDigitizerEcV1  ) 
 

00022 {
00023     BesTofGeoParameter* tofPara = BesTofGeoParameter::GetInstance();
00024     m_bucketPosR = tofPara->GetBucketPosR();
00025 }

BesTofDigitizerEcV1::~BesTofDigitizerEcV1  ) 
 

00028 {
00029 }

BesTofDigitizerEcV1::BesTofDigitizerEcV1  ) 
 

BesTofDigitizerEcV1::~BesTofDigitizerEcV1  ) 
 


Member Function Documentation

virtual void BesTofDigitizerEcV1::Digitize ScintSingle ,
BesTofDigitsCollection
[virtual]
 

Reimplemented from BesTofDigitizerV.

void BesTofDigitizerEcV1::Digitize ScintSingle ,
BesTofDigitsCollection
[virtual]
 

Reimplemented from BesTofDigitizerV.

00032 {
00033     G4cout<<"BesTofDigitizerEcV1::Digitize"<<G4endl;
00034     m_besTofDigitsCollection = DC;
00035     G4DigiManager* digiManager = G4DigiManager::GetDMpointer();
00036     G4int THCID = digiManager->GetHitsCollectionID("BesTofHitsCollection");
00037     m_THC = (BesTofHitsCollection*) (digiManager->GetHitsCollection(THCID));
00038     if (m_THC)
00039     {
00040         G4int partId, scinNb, nHits;
00041         BesTofHit* hit;
00042         partId=scint->GetPartId();
00043         scinNb=scint->GetScinNb();
00044         nHits=scint->GetHitIndexes()->size();
00045         TofPmtInit();
00046         for (G4int j=0;j<nHits;j++)
00047         {
00048             hit= (*m_THC)[( *(scint->GetHitIndexes()) )[j]];
00049             TofPmtAccum(hit);
00050         }
00051 
00052         Smear(scinNb);
00053         if ( m_TDC[0]>0 )
00054         {
00055             BesTofDigi* digi = new BesTofDigi;
00056             digi->SetTrackIndex(m_trackIndex);
00057             digi->SetPartId(partId);
00058             digi->SetScinNb(scinNb);
00059             digi->SetForwADC( m_ADC[0]) ;
00060             digi->SetForwTDC( m_TDC[0]) ;
00061             digi->SetBackADC( m_ADC[1]) ;
00062             digi->SetBackTDC( m_TDC[1]) ;
00063             m_besTofDigitsCollection->insert(digi);
00064         }
00065     }
00066 }

void BesTofDigitizerV::Initialize  )  [inherited]
 

void BesTofDigitizerV::Initialize  )  [inherited]
 

00149 {
00150     for (G4int i=0;i<2;i++)
00151     {
00152         m_ADC[i] = -999;
00153         m_TDC[i] = -999;
00154     }
00155     m_trackIndex = -999;
00156     m_globalTime = 9999;
00157 }

void BesTofDigitizerEcV1::Smear G4int   ) 
 

void BesTofDigitizerEcV1::Smear G4int   ) 
 

00102 {
00103     /*G4double tofRes = 0.08;
00104     for(G4int i=0;i<2;i++)
00105     {
00106       m_TDC[i] += tofRes * G4RandGauss::shoot();
00107     }*/
00108 
00109     double pp[8];
00110     for (int i=0;i<8;i++)
00111     {
00112         pp[i]=m_tofCaliSvc->ETof(scinNb)->getP(i);
00113     }
00114     m_ADC[0] *= 7.;
00115     m_TDC[0] += (pp[0]+pp[1]*m_r)/TMath::Sqrt(m_ADC[0])+
00116                 pp[2]/m_ADC[0]+
00117                 pp[3]*m_r/m_ADC[0]+
00118                 pp[4]*m_r+
00119                 pp[5]*m_r*m_r+
00120                 pp[6]*m_r*m_r*m_r+
00121                 pp[7];
00122 }

void BesTofDigitizerEcV1::TofPmtAccum BesTofHit  ) 
 

void BesTofDigitizerEcV1::TofPmtAccum BesTofHit  ) 
 

00075 {
00076     G4int trackIndex = hit->GetTrackIndex();
00077     G4int scinNb = hit->GetScinNb();
00078     G4double time = hit->GetTime();
00079     if (time<m_globalTime)
00080     {
00081         m_globalTime = time;
00082         m_trackIndex = trackIndex;
00083     }
00084     G4double edep = hit->GetEdep();
00085     G4ThreeVector pos = hit->GetPos();
00086     G4double posx = pos.x();
00087     G4double posy = pos.y();
00088     G4double pathL=abs(m_bucketPosR-sqrt(posx*posx+posy*posy));
00089     G4double atten;
00090     atten = m_tofCaliSvc->EAtten(scinNb);
00091     m_ADC[0] += edep*exp(-pathL/atten);
00092 
00093     if (time<m_t1st)
00094     {
00095         m_t1st = time;
00096         m_r = sqrt(posx*posx+posy*posy);
00097         m_TDC[0] = m_t1st;
00098     }
00099 }

void BesTofDigitizerEcV1::TofPmtInit  ) 
 

void BesTofDigitizerEcV1::TofPmtInit  ) 
 

00069 {
00070     Initialize();
00071     m_t1st = 9999.;
00072 }


Member Data Documentation

G4double BesTofDigitizerV::m_ADC [protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_adc0 [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_adc0 [static, protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_adc1 [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_adc1 [static, protected, inherited]
 

BesTofDigitsCollection* BesTofDigitizerV::m_besTofDigitsCollection [protected, inherited]
 

BesTofDigitsCollection* BesTofDigitizerV::m_besTofDigitsCollection [protected, inherited]
 

bool BesTofDigitizerV::m_booked = false [static, protected, inherited]
 

G4double BesTofDigitizerEcV1::m_bucketPosR [private]
 

NTuple::Item<double> BesTofDigitizerV::m_ddT [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_ddT [static, protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_edep [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_edep [static, protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_edepHit [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_edepHit [static, protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_edepMPV [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_edepMPV [static, protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_endTime [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_endTime [static, protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_eTotal [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_eTotal [static, protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_forb [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_forb [static, protected, inherited]
 

G4double BesTofDigitizerV::m_globalTime [protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_max0 [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_max0 [static, protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_max1 [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_max1 [static, protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_nDigi [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_nDigi [static, protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_nDigiOut [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_nDigiOut [static, protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_nHits [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_nHits [static, protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_NphAllSteps [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_NphAllSteps [static, protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_partId [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_partId [static, protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_partIdMPV [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_partIdMPV [static, protected, inherited]
 

G4double BesTofDigitizerEcV1::m_r [private]
 

NTuple::Item<double> BesTofDigitizerV::m_scinNb [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_scinNb [static, protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_scinNbMPV [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_scinNbMPV [static, protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_scinSwim [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_scinSwim [static, protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_scinTime [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_scinTime [static, protected, inherited]
 

G4double BesTofDigitizerEcV1::m_t1st [private]
 

G4double BesTofDigitizerV::m_TDC [protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_tdc0 [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_tdc0 [static, protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_tdc1 [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_tdc1 [static, protected, inherited]
 

BesTofHitsCollection* BesTofDigitizerV::m_THC [protected, inherited]
 

BesTofHitsCollection* BesTofDigitizerV::m_THC [protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_time1st0 [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_time1st0 [static, protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_time1st1 [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_time1st1 [static, protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_timeFlight [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_timeFlight [static, protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_timelast0 [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_timelast0 [static, protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_timelast1 [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_timelast1 [static, protected, inherited]
 

ITofCaliSvc* BesTofDigitizerV::m_tofCaliSvc [protected, inherited]
 

ITofCaliSvc* BesTofDigitizerV::m_tofCaliSvc [protected, inherited]
 

ITofQElecSvc* BesTofDigitizerV::m_tofQElecSvc [protected, inherited]
 

ITofQElecSvc* BesTofDigitizerV::m_tofQElecSvc [protected, inherited]
 

ITofSimSvc* BesTofDigitizerV::m_tofSimSvc [protected, inherited]
 

ITofSimSvc* BesTofDigitizerV::m_tofSimSvc [protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_totalPhot0 [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_totalPhot0 [static, protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_totalPhot1 [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_totalPhot1 [static, protected, inherited]
 

G4int BesTofDigitizerV::m_trackIndex [protected, inherited]
 

NTuple::Item<double> BesTofDigitizerV::m_transitTime [static, protected, inherited]
 

NTuple::Item< double > BesTofDigitizerV::m_transitTime [static, protected, inherited]
 

NTuple::Tuple* BesTofDigitizerV::m_tupleTof1 [static, protected, inherited]
 

NTuple::Tuple * BesTofDigitizerV::m_tupleTof1 = 0 [static, protected, inherited]
 

NTuple::Tuple* BesTofDigitizerV::m_tupleTof2 [static, protected, inherited]
 

NTuple::Tuple * BesTofDigitizerV::m_tupleTof2 = 0 [static, protected, inherited]
 

NTuple::Tuple* BesTofDigitizerV::m_tupleTof3 [static, protected, inherited]
 

NTuple::Tuple * BesTofDigitizerV::m_tupleTof3 = 0 [static, protected, inherited]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 15:53:26 2011 for BOSS6.5.5 by  doxygen 1.3.9.1