BesTofDigitizerEcV4 Class Reference

#include <BesTofDigitizerEcV4.hh>

Inheritance diagram for BesTofDigitizerEcV4:

BesTofDigitizerV List of all members.

Public Member Functions

 BesTofDigitizerEcV4 ()
 ~BesTofDigitizerEcV4 ()
void initial ()
virtual void Digitize (ScintSingle *, BesTofDigitsCollection *)
int calStrip (double locZ)
bool underStrip (double locX, double locZ)
double calTdcRes_charge (double charge_fC)
double charge2Time (double charge_fC)
double calAdcRes_charge (double charge_fC)
double calTdcRes_charge1 (double charge_fC)
double charge2Time1 (double charge_fC)
double calAdcRes_charge1 (double charge_fC)
void Initialize ()

Protected Attributes

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

Static Protected Attributes

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

Private Attributes

Param m_param
int partId
int module
double tdc_sphi
double tdc_xphi
double tdcRes_const
double tdcRes
double adc
double adcRes_const
double adcRes
double time_leading_sphi
double time_leading_xphi
double time_trailing_sphi
double time_trailing_xphi
bool m_rootFlag
string m_fileName
double m_V
double m_threshold
TFile * m_file
TTree * m_tree
int m_nstep
double m_E_weight
bool m_saturationFlag
int m_calTdcRes_charge_flag
int m_charge2Time_flag
int m_calAdcRes_charge_flag
double m_event
double m_partId
double m_module
double m_time_leading_sphi
double m_time_leading_xphi
double m_time_trailing_sphi
double m_time_trailing_xphi
double m_tdcRes
double m_tdcRes_charge
double m_adc
double m_adcRes
double m_adcRes_charge
double m_strip
double m_trkIndex
double m_tStart
double m_tPropagate_sphi
double m_tPropagate_xphi
double m_tThreshold
double m_charge
int m_nhit
double m_ions_hit [10000]
double m_trkIndex_hit [10000]
double m_pdgCode_hit [10000]
double m_gap_hit [10000]
double m_underStrip_hit [10000]
double m_locx_hit [10000]
double m_locy_hit [10000]
double m_locz_hit [10000]
double m_x_hit [10000]
double m_y_hit [10000]
double m_z_hit [10000]
double m_px_hit [10000]
double m_py_hit [10000]
double m_pz_hit [10000]

Classes

struct  HitStruct
struct  Param
struct  StripStruct

Detailed Description

Definition at line 27 of file BesTofDigitizerEcV4.hh.


Constructor & Destructor Documentation

BesTofDigitizerEcV4::BesTofDigitizerEcV4 (  ) 

Definition at line 32 of file BesTofDigitizerEcV4.cc.

References adcRes_const, initial(), m_adc, m_adcRes, m_adcRes_charge, m_calAdcRes_charge_flag, m_calTdcRes_charge_flag, m_charge, m_charge2Time_flag, m_E_weight, m_event, m_file, m_fileName, m_gap_hit, m_ions_hit, m_locx_hit, m_locy_hit, m_locz_hit, m_module, m_nhit, m_nstep, m_partId, m_pdgCode_hit, m_px_hit, m_py_hit, m_pz_hit, m_rootFlag, m_saturationFlag, m_strip, m_tdcRes, m_tdcRes_charge, m_threshold, m_time_leading_sphi, m_time_leading_xphi, m_time_trailing_sphi, m_time_trailing_xphi, m_tPropagate_sphi, m_tPropagate_xphi, m_tree, m_trkIndex, m_trkIndex_hit, m_tStart, m_tThreshold, m_underStrip_hit, m_V, m_x_hit, m_y_hit, m_z_hit, and tdcRes_const.

00033 {
00034     PropertyMgr m_propMgr;
00035     m_propMgr.declareProperty("FileName",         m_fileName = "mrpc.root");
00036     m_propMgr.declareProperty("RootFlag",         m_rootFlag = false);
00037     m_propMgr.declareProperty("E",                m_V = 7000);
00038     m_propMgr.declareProperty("Threshold",        m_threshold = 5.5e+08);
00039 
00040     m_propMgr.declareProperty("nstep",            m_nstep = -1);
00041     m_propMgr.declareProperty("E_weight",         m_E_weight = -1);
00042     m_propMgr.declareProperty("saturationFlag",   m_saturationFlag = true);
00043     m_propMgr.declareProperty("tdcRes_const",     tdcRes_const = -1);
00044     m_propMgr.declareProperty("adcRes_const",     adcRes_const = -1);
00045     m_propMgr.declareProperty("calTdcRes_charge_flag",  m_calTdcRes_charge_flag=0);
00046     m_propMgr.declareProperty("charge2Time_flag",       m_charge2Time_flag=0);
00047     m_propMgr.declareProperty("calAdcRes_charge_flag",  m_calAdcRes_charge_flag=0);
00048     cout<<"Property:"<<endl
00049         <<"  FileName= "<<m_fileName
00050         <<"  E= "<<m_V
00051         <<"  Threshold= "<<m_threshold
00052         <<"  nstep= "<<m_nstep
00053         <<"  E_weight= "<<m_E_weight
00054         <<"  saturationFlag= "<<m_saturationFlag
00055         <<"  tdcRes_const= "<<tdcRes_const
00056         <<"  adcRes_const= "<<adcRes_const
00057         <<"  calTdcRes_charge_flag= "<<m_calTdcRes_charge_flag
00058         <<"  charge2Time_flag= "<<m_charge2Time_flag
00059         <<"  calAdcRes_charge_flag= "<<m_calAdcRes_charge_flag
00060         <<endl;
00061 
00062 
00063     IJobOptionsSvc* jobSvc;
00064     Gaudi::svcLocator()->service("JobOptionsSvc", jobSvc);
00065     jobSvc->setMyProperties("BesTofDigitizerEcV4", &m_propMgr);
00066 
00067     initial();
00068 
00069     if(m_rootFlag)
00070     {
00071         m_file = new TFile(m_fileName.c_str(), "RECREATE");
00072         m_tree = new TTree("mrpc", "mrpc");
00073 
00074         m_tree->Branch("event",     &m_event,     "event/D");
00075         m_tree->Branch("partId",    &m_partId,    "partId/D");
00076         m_tree->Branch("module", &m_module, "module/D");
00077         m_tree->Branch("time_leading_sphi", &m_time_leading_sphi, "time_leading_sphi/D");
00078         m_tree->Branch("time_leading_xphi", &m_time_leading_xphi, "time_leading_xphi/D");
00079         m_tree->Branch("time_trailing_sphi", &m_time_trailing_sphi, "time_trailing_sphi/D");
00080         m_tree->Branch("time_trailing_xphi", &m_time_trailing_xphi, "time_trailing_xphi/D");
00081         m_tree->Branch("tdcRes", &m_tdcRes, "tdcRes/D");
00082         m_tree->Branch("tdcRes_charge", &m_tdcRes_charge, "tdcRes_charge/D");
00083         m_tree->Branch("adc", &m_adc, "adc/D");
00084         m_tree->Branch("adcRes", &m_adcRes, "adcRes/D");
00085         m_tree->Branch("adcRes_charge", &m_adcRes_charge, "adcRes_charge/D");
00086         m_tree->Branch("strip", &m_strip, "strip/D");
00087         m_tree->Branch("trkIndex", &m_trkIndex, "trkIndex/D");
00088         m_tree->Branch("tStart", &m_tStart, "tStart/D");
00089         m_tree->Branch("tPropagate_sphi", &m_tPropagate_sphi, "tPropagate_sphi/D");
00090         m_tree->Branch("tPropagate_xphi", &m_tPropagate_xphi, "tPropagate_xphi/D");
00091         m_tree->Branch("tThreshold", &m_tThreshold, "tThreshold/D");
00092         m_tree->Branch("charge", &m_charge, "charge/D");
00093         m_tree->Branch("nhit", &m_nhit, "nhit/I");
00094         m_tree->Branch("ions_hit", m_ions_hit, "ions_hit[nhit]/D");
00095         m_tree->Branch("trkIndex_hit", m_trkIndex_hit, "trkIndex_hit[nhit]/D");
00096         m_tree->Branch("pdgCode_hit", m_pdgCode_hit, "pdgCode_hit[nhit]/D");
00097         m_tree->Branch("gap_hit", m_gap_hit, "gap_hit[nhit]/D");
00098         m_tree->Branch("underStrip_hit", m_underStrip_hit, "underStrip_hit[nhit]/D");
00099         m_tree->Branch("locx_hit", m_locx_hit, "locx_hit[nhit]/D");
00100         m_tree->Branch("locy_hit", m_locy_hit, "locy_hit[nhit]/D");
00101         m_tree->Branch("locz_hit", m_locz_hit, "locz_hit[nhit]/D");
00102         m_tree->Branch("x_hit", m_x_hit, "x_hit[nhit]/D");
00103         m_tree->Branch("y_hit", m_y_hit, "y_hit[nhit]/D");
00104         m_tree->Branch("z_hit", m_z_hit, "z_hit[nhit]/D");
00105         m_tree->Branch("px_hit", m_px_hit, "px_hit[nhit]/D");
00106         m_tree->Branch("py_hit", m_py_hit, "py_hit[nhit]/D");
00107         m_tree->Branch("pz_hit", m_pz_hit, "pz_hit[nhit]/D");
00108     }
00109 }

BesTofDigitizerEcV4::~BesTofDigitizerEcV4 (  ) 

Definition at line 112 of file BesTofDigitizerEcV4.cc.

References m_file, and m_rootFlag.

00113 {
00114     if(m_rootFlag)
00115     {
00116         m_file->Write();
00117         m_file->Close();
00118     }
00119 }


Member Function Documentation

double BesTofDigitizerEcV4::calAdcRes_charge ( double  charge_fC  ) 

Definition at line 583 of file BesTofDigitizerEcV4.cc.

References exp().

Referenced by Digitize().

00584 {
00585     double time=0;
00586     if(charge_fC<250)
00587     {
00588         time = 72.6005*exp(-charge_fC*0.0302626 + 1.49059) + 40.8627;
00589     }
00590     else 
00591     {
00592         time = 32.6233+0.00404149*charge_fC;
00593     }
00594     if(time<0) time=0;
00595     return time; //ps
00596 }

double BesTofDigitizerEcV4::calAdcRes_charge1 ( double  charge_fC  ) 

Definition at line 621 of file BesTofDigitizerEcV4.cc.

References exp().

Referenced by Digitize().

00622 {
00623     double time = 64.3326*exp(-charge_fC/25.4638 + 0.944184)+19.4846;
00624     if(time<0) time=0;
00625     return time; //ps
00626 }

int BesTofDigitizerEcV4::calStrip ( double  locZ  ) 

Definition at line 352 of file BesTofDigitizerEcV4.cc.

References genRecEmupikp::i, m_param, BesTofDigitizerEcV4::Param::nstrip, BesTofDigitizerEcV4::Param::strip_gap, and BesTofDigitizerEcV4::Param::strip_z.

Referenced by Digitize().

00353 {
00354     int strip=-1;
00355     double stripWidth = m_param.strip_z+m_param.strip_gap; //Strip spread: (24+3)mm
00356     int nstrip = m_param.nstrip;
00357     //the offset between strip coordinate and gas SD: 0.5
00358     double length = locZ+stripWidth*nstrip/2-0.5;
00359     if(length<=0)
00360     {
00361         strip=0;
00362     }
00363     else if(length<stripWidth*nstrip)
00364     {
00365         for(int i=0; i<nstrip; i++)
00366         {
00367             if(length>i*stripWidth && length<(i+1)*stripWidth)
00368             {
00369                 strip = i;
00370                 break;
00371             }
00372         }
00373     }
00374     else
00375     {
00376         strip=nstrip-1;
00377     }
00378     if(strip<0) strip=0;
00379     if(strip>nstrip-1) strip=nstrip-1;
00380 
00381     return strip;
00382 }

double BesTofDigitizerEcV4::calTdcRes_charge ( double  charge_fC  ) 

Definition at line 560 of file BesTofDigitizerEcV4.cc.

References exp().

Referenced by Digitize().

00561 {
00562     double time=0;
00563     if( charge_fC<250) 
00564     {
00565         time =  100.764*exp(-charge_fC*0.0413966+0.377154)+ 13.814;
00566     }
00567     else
00568     {
00569         time = 12.8562+0.000507299*charge_fC;
00570     }
00571     if(time<0) time=0;
00572     return time; //ps
00573 }

double BesTofDigitizerEcV4::calTdcRes_charge1 ( double  charge_fC  ) 

Definition at line 598 of file BesTofDigitizerEcV4.cc.

References exp().

Referenced by Digitize().

00599 {
00600     double result =0;
00601     if( charge_fC > 50.)
00602     {
00603         result =  67.6737*exp(-charge_fC/50.9995-0.27755)+9.06223;
00604     }
00605     else
00606     {
00607         result = 176.322-2.98345*charge_fC;
00608     }
00609     if(result<0) result=0;
00610     return result; //ps
00611 }

double BesTofDigitizerEcV4::charge2Time ( double  charge_fC  ) 

Definition at line 575 of file BesTofDigitizerEcV4.cc.

Referenced by Digitize().

00576 {
00577     double time=0;
00578     time=-120.808/log(charge_fC*30.1306)+26.6024; //ns
00579     if(time<0) time=0;
00580     return time;
00581 }

double BesTofDigitizerEcV4::charge2Time1 ( double  charge_fC  ) 

Definition at line 613 of file BesTofDigitizerEcV4.cc.

Referenced by Digitize().

00614 {
00615     double time=0;
00616     time=-4.50565/log(charge_fC*0.0812208)+16.6653; //ns
00617     if(time<0) time=0;
00618     return time;
00619 }

void BesTofDigitizerEcV4::Digitize ( ScintSingle ,
BesTofDigitsCollection  
) [virtual]

Reimplemented from BesTofDigitizerV.

Definition at line 143 of file BesTofDigitizerEcV4.cc.

References adc, adcRes, adcRes_const, BesTofDigitizerEcV4::StripStruct::avalanche(), calAdcRes_charge(), calAdcRes_charge1(), BesTofDigitizerEcV4::StripStruct::calFirstHit(), calStrip(), calTdcRes_charge(), calTdcRes_charge1(), BesTofDigitizerEcV4::StripStruct::charge, charge2Time(), charge2Time1(), BesTofDigitizerEcV4::Param::deadChannel, BesTofDigitizerEcV4::HitStruct::gap, BesTofHit::GetEvent(), BesTofHit::GetG4Index(), BesTofHit::GetGapNb(), ScintSingle::GetHitIndexes_mrpc(), BesTofHit::GetIons(), BesTofHit::GetLocPos(), ScintSingle::GetModule_mrpc(), BesTofHit::GetMomentum(), ScintSingle::GetPartId(), BesTofHit::GetPDGcode(), BesTofHit::GetPos(), BesTofHit::GetTime(), BesTofDigitizerEcV4::HitStruct::glbTime, BesTofDigitizerEcV4::StripStruct::hitStructCol, genRecEmupikp::i, BesTofDigitizerEcV4::HitStruct::ions, ganga-rec::j, BesTofDigitizerEcV4::HitStruct::locx, BesTofDigitizerEcV4::HitStruct::locy, BesTofDigitizerEcV4::HitStruct::locz, m_adc, m_adcRes, m_adcRes_charge, BesTofDigitizerV::m_besTofDigitsCollection, m_calAdcRes_charge_flag, m_calTdcRes_charge_flag, m_charge, m_charge2Time_flag, m_event, m_gap_hit, m_ions_hit, m_locx_hit, m_locy_hit, m_locz_hit, m_module, m_nhit, BesTofDigitizerEcV4::HitStruct::m_param, m_param, m_partId, m_pdgCode_hit, m_px_hit, m_py_hit, m_pz_hit, m_rootFlag, m_saturationFlag, m_strip, m_tdcRes, m_tdcRes_charge, BesTofDigitizerV::m_THC, m_threshold, m_time_leading_sphi, m_time_leading_xphi, m_time_trailing_sphi, m_time_trailing_xphi, m_tPropagate_sphi, m_tPropagate_xphi, m_tree, m_trkIndex, m_trkIndex_hit, m_tStart, m_tThreshold, m_underStrip_hit, m_V, m_x_hit, m_y_hit, m_z_hit, module, ns, BesTofDigitizerEcV4::Param::nstrip, partId, BesTofDigitizerEcV4::HitStruct::pdgCode, BesTofDigitizerEcV4::HitStruct::px, BesTofDigitizerEcV4::HitStruct::py, BesTofDigitizerEcV4::HitStruct::pz, s, BesTofDigi::SetBackT1(), BesTofDigi::SetBackT2(), BesTofDigi::SetForwT1(), BesTofDigi::SetForwT2(), BesTofDigi::SetModule(), BesTofDigitizerEcV4::StripStruct::setPar(), BesTofDigi::SetPartId(), BesTofDigi::SetStrip(), BesTofDigi::SetTrackIndex(), BesTofDigitizerEcV4::StripStruct::strip, BesTofDigitizerEcV4::HitStruct::strip, tdc_sphi, tdc_xphi, tdcRes, tdcRes_const, time_leading_sphi, time_leading_xphi, time_trailing_sphi, time_trailing_xphi, BesTofDigitizerEcV4::StripStruct::tPropagate_sphi, BesTofDigitizerEcV4::StripStruct::tPropagate_xphi, BesTofDigitizerEcV4::StripStruct::trkIndex, BesTofDigitizerEcV4::HitStruct::trkIndex, BesTofDigitizerEcV4::StripStruct::tStart, BesTofDigitizerEcV4::StripStruct::tThreshold, underStrip(), BesTofDigitizerEcV4::HitStruct::underStrip, BesTofDigitizerEcV4::HitStruct::x, BesTofDigitizerEcV4::HitStruct::y, and BesTofDigitizerEcV4::HitStruct::z.

Referenced by BesTofDigitizer::Digitize().

00144 {
00145     m_besTofDigitsCollection = DC;
00146     G4DigiManager* digiManager = G4DigiManager::GetDMpointer();
00147     G4int THCID = digiManager->GetHitsCollectionID("BesTofHitsCollection");
00148     m_THC = (BesTofHitsCollection*) (digiManager->GetHitsCollection(THCID));
00149     if( !m_THC ) return;
00150 
00151     partId = single_module->GetPartId();
00152     module = single_module->GetModule_mrpc();
00153     //cout<<"partId= "<<partId<<"  module= "<<module<<endl;
00154 
00155     //Process the hits
00156     int nstrip = m_param.nstrip;
00157     StripStruct stripStruct[12];
00158     for(int i=0; i<nstrip; i++)
00159     {
00160         stripStruct[i].m_param = m_param;
00161         stripStruct[i].setPar(m_V, m_threshold, m_saturationFlag);
00162     }
00163 
00164     BesTofHit* hit;
00165     for(unsigned int i=0; i<single_module->GetHitIndexes_mrpc()->size(); i++)
00166     {
00167         hit = (*m_THC)[ (*(single_module->GetHitIndexes_mrpc()))[i] ];
00168         m_event = hit->GetEvent();
00169 
00170         HitStruct hitStruct;
00171         hitStruct.m_param = m_param;
00172         hitStruct.trkIndex = hit->GetG4Index();
00173         hitStruct.pdgCode = hit->GetPDGcode();
00174         hitStruct.ions = hit->GetIons();
00175         hitStruct.strip = calStrip(hit->GetLocPos().z()/mm);
00176         hitStruct.underStrip = underStrip(hit->GetLocPos().x()/mm, hit->GetLocPos().z()/mm);
00177         hitStruct.gap = hit->GetGapNb();
00178         hitStruct.glbTime = hit->GetTime()/ns;
00179         hitStruct.locx = hit->GetLocPos().x()/mm;
00180         hitStruct.locy = hit->GetLocPos().y()/mm;
00181         hitStruct.locz = hit->GetLocPos().z()/mm;
00182         hitStruct.x = hit->GetPos().x()/mm;
00183         hitStruct.y = hit->GetPos().y()/mm;
00184         hitStruct.z = hit->GetPos().z()/mm;
00185         hitStruct.px = hit->GetMomentum().x()/(GeV/(3e+08*m/s));
00186         hitStruct.py = hit->GetMomentum().y()/(GeV/(3e+08*m/s));
00187         hitStruct.pz = hit->GetMomentum().z()/(GeV/(3e+08*m/s));
00188         //hitStruct.print();
00189 
00190         if(hitStruct.ions>0 && hitStruct.glbTime>0) 
00191         {
00192             stripStruct[hitStruct.strip].hitStructCol.push_back(hitStruct);
00193         }
00194     }
00195 
00196     //test multihit, study the lower peak in charge
00197     int hitSize=0;
00198 
00199     for(int i=0; i<nstrip; i++)
00200     {
00201         if(stripStruct[i].hitStructCol.size()==0) continue;
00202         stripStruct[i].strip = i;
00203         stripStruct[i].calFirstHit();
00204         stripStruct[i].avalanche();
00205         //stripStruct[i].print();
00206 
00207         if(stripStruct[i].tThreshold<=0) continue;
00208 
00209         tdc_sphi = stripStruct[i].tStart + stripStruct[i].tThreshold + stripStruct[i].tPropagate_sphi;
00210         tdc_xphi = stripStruct[i].tStart + stripStruct[i].tThreshold + stripStruct[i].tPropagate_xphi;
00211 
00212         double tdcRes_charge;
00213         if(m_calTdcRes_charge_flag==0)
00214         {
00215             tdcRes_charge = calTdcRes_charge(stripStruct[i].charge*1000); //ps, charge in fC
00216         }
00217         else if(m_calTdcRes_charge_flag==1)
00218         {
00219             tdcRes_charge = calTdcRes_charge1(stripStruct[i].charge*1000);
00220         }
00221         else if(m_calTdcRes_charge_flag==2)
00222         {
00223             tdcRes_charge = 0;
00224         }
00225 
00226         tdcRes = sqrt(tdcRes_charge*tdcRes_charge+tdcRes_const*tdcRes_const)/1000; //ns
00227 
00228         tdc_sphi = G4RandGauss::shoot(tdc_sphi, tdcRes);
00229         tdc_xphi = G4RandGauss::shoot(tdc_xphi, tdcRes);
00230 
00231         if(m_charge2Time_flag==0)
00232         {
00233             adc = charge2Time(stripStruct[i].charge*1000); //ns, charge in fC
00234         }
00235         else if(m_charge2Time_flag==1)
00236         {
00237             adc = charge2Time1(stripStruct[i].charge*1000);
00238         }
00239 
00240         double adcRes_charge;       
00241         if(m_calAdcRes_charge_flag==0)
00242         {
00243             adcRes_charge = calAdcRes_charge(stripStruct[i].charge*1000); //ps, charge in fC
00244         }
00245         else if(m_calAdcRes_charge_flag==1)
00246         {
00247             adcRes_charge = calAdcRes_charge1(stripStruct[i].charge*1000);
00248         }
00249         else if(m_calAdcRes_charge_flag==2)
00250         {
00251             adcRes_charge = 0;
00252         }
00253 
00254         adcRes = sqrt(adcRes_charge*adcRes_charge+adcRes_const*adcRes_const)/1000;
00255         adc = G4RandGauss::shoot(adc, adcRes);
00256         if(adc<0) adc=0;
00257 
00258         time_leading_sphi = tdc_sphi;
00259         time_leading_xphi = tdc_xphi;
00260         time_trailing_sphi = tdc_sphi+adc;
00261         time_trailing_xphi = tdc_xphi+adc;
00262 
00263 
00264         //save digi information
00265         BesTofDigi *digi = new BesTofDigi;
00266         digi->SetTrackIndex(stripStruct[i].trkIndex);
00267         digi->SetPartId(partId);
00268         digi->SetModule(module);
00269         digi->SetStrip(stripStruct[i].strip);
00270         int mo = (partId-3)*36+module;
00271         int st = stripStruct[i].strip;
00272         if(m_param.deadChannel[mo][st]==0 || m_param.deadChannel[mo][st]==2)
00273         {
00274             //Set dead channel
00275             digi->SetForwT1(-999);
00276             digi->SetForwT2(-999);
00277         }
00278         else
00279         {
00280             digi->SetForwT1(time_leading_sphi);
00281             digi->SetForwT2(time_trailing_sphi);
00282         }
00283         if(m_param.deadChannel[mo][st]==1 || m_param.deadChannel[mo][st]==2)
00284         {
00285             digi->SetBackT1(-999);
00286             digi->SetBackT2(-999);
00287         }
00288         else
00289         {
00290             digi->SetBackT1(time_leading_xphi);
00291             digi->SetBackT2(time_trailing_xphi);
00292         }
00293         m_besTofDigitsCollection->insert(digi);
00294         //cout<<"Print digi info: "
00295         //    <<"  partId= "<<partId
00296         //    <<"  module= "<<module
00297         //    <<"  strip= "<<stripStruct[i].strip
00298         //    <<"  time_leading_sphi= "<<time_leading_sphi
00299         //    <<"  time_leading_xphi= "<<time_leading_xphi
00300         //    <<"  time_trailing_sphi= "<<time_trailing_sphi
00301         //    <<"  time_trailing_xphi= "<<time_trailing_xphi
00302         //    <<endl;
00303 
00304 
00305         //save digi information
00306         if(m_rootFlag)
00307         {
00308             m_partId = partId;
00309             m_module = module;
00310             m_time_leading_sphi = time_leading_sphi;
00311             m_time_leading_xphi = time_leading_xphi;
00312             m_time_trailing_sphi = time_trailing_sphi;
00313             m_time_trailing_xphi = time_trailing_xphi;
00314             m_tdcRes = tdcRes;
00315             m_tdcRes_charge = tdcRes_charge;
00316             m_adc = adc;
00317             m_adcRes = adcRes;
00318             m_adcRes_charge = adcRes_charge;
00319 
00320             m_strip = stripStruct[i].strip;
00321             m_trkIndex = stripStruct[i].trkIndex;
00322             m_tStart = stripStruct[i].tStart;
00323             m_tPropagate_sphi = stripStruct[i].tPropagate_sphi;
00324             m_tPropagate_xphi = stripStruct[i].tPropagate_xphi;
00325             m_tThreshold = stripStruct[i].tThreshold;
00326             m_charge = stripStruct[i].charge;
00327 
00328             m_nhit = stripStruct[i].hitStructCol.size();
00329             //cout<<"m_nhit= "<<m_nhit<<endl;
00330             for(int j=0; j<m_nhit; j++)
00331             {
00332                 m_ions_hit[j] = stripStruct[i].hitStructCol[j].ions;
00333                 m_trkIndex_hit[j] = stripStruct[i].hitStructCol[j].trkIndex;
00334                 m_pdgCode_hit[j] = stripStruct[i].hitStructCol[j].pdgCode;
00335                 m_gap_hit[j] = stripStruct[i].hitStructCol[j].gap;
00336                 m_underStrip_hit[j] = stripStruct[i].hitStructCol[j].underStrip;
00337                 m_locx_hit[j] = stripStruct[i].hitStructCol[j].locx;
00338                 m_locy_hit[j] = stripStruct[i].hitStructCol[j].locy;
00339                 m_locz_hit[j] = stripStruct[i].hitStructCol[j].locz;
00340                 m_x_hit[j] = stripStruct[i].hitStructCol[j].x;
00341                 m_y_hit[j] = stripStruct[i].hitStructCol[j].y;
00342                 m_z_hit[j] = stripStruct[i].hitStructCol[j].z;
00343                 m_px_hit[j] = stripStruct[i].hitStructCol[j].px;
00344                 m_py_hit[j] = stripStruct[i].hitStructCol[j].py;
00345                 m_pz_hit[j] = stripStruct[i].hitStructCol[j].pz;
00346             }
00347             m_tree->Fill();
00348         }
00349     }
00350 }

void BesTofDigitizerEcV4::initial (  ) 

Definition at line 121 of file BesTofDigitizerEcV4.cc.

References adc, adcRes, adcRes_const, m_E_weight, m_event, m_nstep, m_param, module, partId, BesTofDigitizerEcV4::Param::setPar(), tdc_sphi, tdc_xphi, tdcRes, tdcRes_const, time_leading_sphi, time_leading_xphi, time_trailing_sphi, and time_trailing_xphi.

Referenced by BesTofDigitizerEcV4().

00122 {
00123     m_param = Param();
00124     m_param.setPar(m_nstep, m_E_weight);
00125     m_event=-1;
00126     partId = -999;
00127     module = -999;
00128     tdc_sphi = -999;
00129     tdc_xphi = -999;
00130     if(tdcRes_const<0) tdcRes_const = 38; //sqrt(27*27.+10.*10+20.*20)+3.; //ps, 27:TDC; 10:gapNb; 20:cables..
00131     tdcRes = -999;
00132 
00133     adc = -999;
00134     if(adcRes_const<0) adcRes_const = 27; //ps TDC
00135     adcRes = -999;
00136 
00137     time_leading_sphi = -999;
00138     time_leading_xphi = -999;
00139     time_trailing_sphi = -999;
00140     time_trailing_xphi = -999;
00141 }

void BesTofDigitizerV::Initialize (  )  [inherited]

Definition at line 189 of file BesTofDigitizerV.cc.

References genRecEmupikp::i, BesTofDigitizerV::m_ADC, BesTofDigitizerV::m_globalTime, BesTofDigitizerV::m_TDC, and BesTofDigitizerV::m_trackIndex.

Referenced by BesTofDigitizerEcV1::TofPmtInit(), BesTofDigitizerBrV2::TofPmtInit(), and BesTofDigitizerBrV1::TofPmtInit().

00190 {
00191     for (G4int i=0;i<2;i++)
00192     {
00193         m_ADC[i] = -999;
00194         m_TDC[i] = -999;
00195     }
00196     m_trackIndex = -999;
00197     m_globalTime = 9999;
00198 }

bool BesTofDigitizerEcV4::underStrip ( double  locX,
double  locZ 
)

Definition at line 384 of file BesTofDigitizerEcV4.cc.

References genRecEmupikp::i, m_param, BesTofDigitizerEcV4::Param::nstrip, BesTofDigitizerEcV4::Param::strip_gap, BesTofDigitizerEcV4::Param::strip_x, and BesTofDigitizerEcV4::Param::strip_z.

Referenced by Digitize().

00385 {
00386     bool flag = 0;
00387     int strip=-1;
00388     double stripWidth = m_param.strip_z+m_param.strip_gap; //Strip spread: (24+3)mm
00389     int nstrip = m_param.nstrip;
00390     //the offset between strip coordinate and gas SD: 0.5
00391     double length = locZ+stripWidth*nstrip/2-0.5;
00392     if(length<stripWidth*nstrip)
00393     {
00394         for(int i=0; i<nstrip; i++)
00395         {
00396             if(length>i*stripWidth && length<(i+1)*stripWidth)
00397             {
00398                 strip = i;
00399                 if(length>i*stripWidth+m_param.strip_gap/2 && length<(i+1)*stripWidth-m_param.strip_gap/2
00400                             && locX>-m_param.strip_x[strip]/2 && locX<m_param.strip_x[strip]/2) flag=1;
00401                 break;
00402             }
00403         }
00404     }
00405 
00406     return flag;
00407 }


Member Data Documentation

double BesTofDigitizerEcV4::adc [private]

Definition at line 148 of file BesTofDigitizerEcV4.hh.

Referenced by Digitize(), and initial().

double BesTofDigitizerEcV4::adcRes [private]

Definition at line 150 of file BesTofDigitizerEcV4.hh.

Referenced by Digitize(), and initial().

double BesTofDigitizerEcV4::adcRes_const [private]

Definition at line 149 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), Digitize(), and initial().

G4double BesTofDigitizerV::m_ADC[2] [protected, inherited]

Definition at line 45 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerEcV3::Digitize(), BesTofDigitizerEcV2::Digitize(), BesTofDigitizerEcV1::Digitize(), BesTofDigitizerBrV2::Digitize(), BesTofDigitizerBrV1::Digitize(), BesTofDigitizerV::Initialize(), BesTofDigitizerEcV1::Smear(), BesTofDigitizerBrV1::Smear(), BesTofDigitizerEcV1::TofPmtAccum(), BesTofDigitizerBrV1::TofPmtAccum(), BesTofDigitizerEcV3::TofPmtInit(), BesTofDigitizerEcV3::TofPmtRspns(), BesTofDigitizerEcV2::TofPmtRspns(), and BesTofDigitizerBrV2::TofPmtRspns().

double BesTofDigitizerEcV4::m_adc [private]

Definition at line 180 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

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

Definition at line 67 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::TofPmtInit(), BesTofDigitizerBrV2::TofPmtInit(), BesTofDigitizerEcV3::TofPmtRspns(), and BesTofDigitizerBrV2::TofPmtRspns().

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

Definition at line 69 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::TofPmtInit(), BesTofDigitizerBrV2::TofPmtInit(), BesTofDigitizerEcV3::TofPmtRspns(), and BesTofDigitizerBrV2::TofPmtRspns().

double BesTofDigitizerEcV4::m_adcRes [private]

Definition at line 181 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

double BesTofDigitizerEcV4::m_adcRes_charge [private]

Definition at line 182 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

BesTofDigitsCollection* BesTofDigitizerV::m_besTofDigitsCollection [protected, inherited]

Definition at line 38 of file BesTofDigitizerV.hh.

Referenced by Digitize(), BesTofDigitizerEcV3::Digitize(), BesTofDigitizerEcV2::Digitize(), BesTofDigitizerEcV1::Digitize(), BesTofDigitizerBrV2::Digitize(), and BesTofDigitizerBrV1::Digitize().

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

Definition at line 50 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV().

int BesTofDigitizerEcV4::m_calAdcRes_charge_flag [private]

Definition at line 169 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

int BesTofDigitizerEcV4::m_calTdcRes_charge_flag [private]

Definition at line 167 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

double BesTofDigitizerEcV4::m_charge [private]

Definition at line 189 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

int BesTofDigitizerEcV4::m_charge2Time_flag [private]

Definition at line 168 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

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

Definition at line 82 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), and BesTofDigitizerEcV3::TofPmtAccum().

double BesTofDigitizerEcV4::m_E_weight [private]

Definition at line 165 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and initial().

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

Definition at line 55 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::Digitize(), BesTofDigitizerBrV2::Digitize(), BesTofDigitizerEcV3::TofPmtInit(), and BesTofDigitizerBrV2::TofPmtInit().

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

Definition at line 88 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV().

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

Definition at line 76 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::Digitize(), and BesTofDigitizerBrV2::Digitize().

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

Definition at line 86 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::TofPmtAccum(), and BesTofDigitizerBrV2::TofPmtAccum().

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

Definition at line 72 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::Digitize(), and BesTofDigitizerBrV2::Digitize().

double BesTofDigitizerEcV4::m_event [private]

Definition at line 171 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), Digitize(), and initial().

TFile* BesTofDigitizerEcV4::m_file [private]

Definition at line 161 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and ~BesTofDigitizerEcV4().

string BesTofDigitizerEcV4::m_fileName [private]

Definition at line 158 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4().

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

Definition at line 80 of file BesTofDigitizerV.hh.

double BesTofDigitizerEcV4::m_gap_hit[10000] [private]

Definition at line 194 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

G4double BesTofDigitizerV::m_globalTime [protected, inherited]

Definition at line 48 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::Initialize(), BesTofDigitizerEcV3::TofPmtAccum(), BesTofDigitizerEcV2::TofPmtAccum(), BesTofDigitizerEcV1::TofPmtAccum(), BesTofDigitizerBrV2::TofPmtAccum(), BesTofDigitizerBrV1::TofPmtAccum(), BesTofDigitizerEcV3::TofPmtInit(), and BesTofDigitizerEcV2::TofPmtInit().

double BesTofDigitizerEcV4::m_ions_hit[10000] [private]

Definition at line 191 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

double BesTofDigitizerEcV4::m_locx_hit[10000] [private]

Definition at line 196 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

double BesTofDigitizerEcV4::m_locy_hit[10000] [private]

Definition at line 197 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

double BesTofDigitizerEcV4::m_locz_hit[10000] [private]

Definition at line 198 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

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

Definition at line 64 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::TofPmtInit(), BesTofDigitizerBrV2::TofPmtInit(), BesTofDigitizerEcV3::TofPmtRspns(), and BesTofDigitizerBrV2::TofPmtRspns().

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

Definition at line 65 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::TofPmtInit(), BesTofDigitizerBrV2::TofPmtInit(), BesTofDigitizerEcV3::TofPmtRspns(), and BesTofDigitizerBrV2::TofPmtRspns().

double BesTofDigitizerEcV4::m_module [private]

Definition at line 173 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

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

Definition at line 73 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::Digitize(), and BesTofDigitizerBrV2::Digitize().

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

Definition at line 77 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::Digitize(), and BesTofDigitizerBrV2::Digitize().

int BesTofDigitizerEcV4::m_nhit [private]

Definition at line 190 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

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

Definition at line 56 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::Digitize(), BesTofDigitizerBrV2::Digitize(), BesTofDigitizerEcV3::TofPmtInit(), and BesTofDigitizerBrV2::TofPmtInit().

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

Definition at line 63 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::TofPmtAccum(), BesTofDigitizerBrV2::TofPmtAccum(), BesTofDigitizerEcV3::TofPmtInit(), and BesTofDigitizerBrV2::TofPmtInit().

int BesTofDigitizerEcV4::m_nstep [private]

Definition at line 164 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and initial().

Param BesTofDigitizerEcV4::m_param [private]

Definition at line 140 of file BesTofDigitizerEcV4.hh.

Referenced by calStrip(), Digitize(), initial(), and underStrip().

double BesTofDigitizerEcV4::m_partId [private]

Reimplemented from BesTofDigitizerV.

Definition at line 172 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

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

Definition at line 74 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::Digitize(), and BesTofDigitizerBrV2::Digitize().

double BesTofDigitizerEcV4::m_pdgCode_hit[10000] [private]

Definition at line 193 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

double BesTofDigitizerEcV4::m_px_hit[10000] [private]

Definition at line 202 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

double BesTofDigitizerEcV4::m_py_hit[10000] [private]

Definition at line 203 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

double BesTofDigitizerEcV4::m_pz_hit[10000] [private]

Definition at line 204 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

bool BesTofDigitizerEcV4::m_rootFlag [private]

Definition at line 157 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), Digitize(), and ~BesTofDigitizerEcV4().

bool BesTofDigitizerEcV4::m_saturationFlag [private]

Definition at line 166 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

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

Definition at line 54 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::Digitize(), BesTofDigitizerBrV2::Digitize(), BesTofDigitizerEcV3::TofPmtInit(), and BesTofDigitizerBrV2::TofPmtInit().

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

Definition at line 75 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::Digitize(), and BesTofDigitizerBrV2::Digitize().

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

Definition at line 83 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::TofPmtAccum(), and BesTofDigitizerBrV2::TofPmtAccum().

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

Definition at line 84 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), and BesTofDigitizerEcV3::TofPmtAccum().

double BesTofDigitizerEcV4::m_strip [private]

Definition at line 183 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

G4double BesTofDigitizerV::m_TDC[2] [protected, inherited]

Definition at line 46 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerEcV3::Digitize(), BesTofDigitizerEcV2::Digitize(), BesTofDigitizerEcV1::Digitize(), BesTofDigitizerBrV2::Digitize(), BesTofDigitizerBrV1::Digitize(), BesTofDigitizerV::Initialize(), BesTofDigitizerEcV1::Smear(), BesTofDigitizerBrV1::Smear(), BesTofDigitizerEcV1::TofPmtAccum(), BesTofDigitizerBrV1::TofPmtAccum(), BesTofDigitizerEcV3::TofPmtInit(), BesTofDigitizerEcV3::TofPmtRspns(), BesTofDigitizerEcV2::TofPmtRspns(), and BesTofDigitizerBrV2::TofPmtRspns().

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

Definition at line 66 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::TofPmtInit(), BesTofDigitizerBrV2::TofPmtInit(), BesTofDigitizerEcV3::TofPmtRspns(), and BesTofDigitizerBrV2::TofPmtRspns().

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

Definition at line 68 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::TofPmtInit(), BesTofDigitizerBrV2::TofPmtInit(), BesTofDigitizerEcV3::TofPmtRspns(), and BesTofDigitizerBrV2::TofPmtRspns().

double BesTofDigitizerEcV4::m_tdcRes [private]

Definition at line 178 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

double BesTofDigitizerEcV4::m_tdcRes_charge [private]

Definition at line 179 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

BesTofHitsCollection* BesTofDigitizerV::m_THC [protected, inherited]

Definition at line 39 of file BesTofDigitizerV.hh.

Referenced by Digitize(), BesTofDigitizerEcV3::Digitize(), BesTofDigitizerEcV2::Digitize(), BesTofDigitizerEcV1::Digitize(), BesTofDigitizerBrV2::Digitize(), and BesTofDigitizerBrV1::Digitize().

double BesTofDigitizerEcV4::m_threshold [private]

Definition at line 160 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

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

Definition at line 57 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::Digitize(), BesTofDigitizerBrV2::Digitize(), BesTofDigitizerEcV3::TofPmtInit(), and BesTofDigitizerBrV2::TofPmtInit().

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

Definition at line 58 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::Digitize(), BesTofDigitizerBrV2::Digitize(), BesTofDigitizerEcV3::TofPmtInit(), and BesTofDigitizerBrV2::TofPmtInit().

double BesTofDigitizerEcV4::m_time_leading_sphi [private]

Definition at line 174 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

double BesTofDigitizerEcV4::m_time_leading_xphi [private]

Definition at line 175 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

double BesTofDigitizerEcV4::m_time_trailing_sphi [private]

Definition at line 176 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

double BesTofDigitizerEcV4::m_time_trailing_xphi [private]

Definition at line 177 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

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

Definition at line 81 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), and BesTofDigitizerEcV3::TofPmtAccum().

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

Definition at line 59 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::Digitize(), BesTofDigitizerBrV2::Digitize(), BesTofDigitizerEcV3::TofPmtInit(), and BesTofDigitizerBrV2::TofPmtInit().

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

Definition at line 60 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::Digitize(), BesTofDigitizerBrV2::Digitize(), BesTofDigitizerEcV3::TofPmtInit(), and BesTofDigitizerBrV2::TofPmtInit().

ITofCaliSvc* BesTofDigitizerV::m_tofCaliSvc [protected, inherited]

Definition at line 41 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerEcV1::Smear(), BesTofDigitizerBrV1::Smear(), BesTofDigitizerEcV1::TofPmtAccum(), and BesTofDigitizerBrV1::TofPmtAccum().

ITofQElecSvc* BesTofDigitizerV::m_tofQElecSvc [protected, inherited]

Definition at line 43 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::TofPmtRspns(), and BesTofDigitizerBrV2::TofPmtRspns().

ITofSimSvc* BesTofDigitizerV::m_tofSimSvc [protected, inherited]

Definition at line 42 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerBrV2::TofPmtAccum(), BesTofDigitizerEcV3::TofPmtRspns(), and BesTofDigitizerBrV2::TofPmtRspns().

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

Definition at line 61 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::Digitize(), BesTofDigitizerBrV2::Digitize(), BesTofDigitizerEcV3::TofPmtInit(), and BesTofDigitizerBrV2::TofPmtInit().

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

Definition at line 62 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::Digitize(), BesTofDigitizerBrV2::Digitize(), BesTofDigitizerEcV3::TofPmtInit(), and BesTofDigitizerBrV2::TofPmtInit().

double BesTofDigitizerEcV4::m_tPropagate_sphi [private]

Definition at line 186 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

double BesTofDigitizerEcV4::m_tPropagate_xphi [private]

Definition at line 187 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

G4int BesTofDigitizerV::m_trackIndex [protected, inherited]

Definition at line 47 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerEcV3::Digitize(), BesTofDigitizerEcV2::Digitize(), BesTofDigitizerEcV1::Digitize(), BesTofDigitizerBrV2::Digitize(), BesTofDigitizerBrV1::Digitize(), BesTofDigitizerV::Initialize(), BesTofDigitizerEcV3::TofPmtAccum(), BesTofDigitizerEcV2::TofPmtAccum(), BesTofDigitizerEcV1::TofPmtAccum(), BesTofDigitizerBrV2::TofPmtAccum(), BesTofDigitizerBrV1::TofPmtAccum(), BesTofDigitizerEcV3::TofPmtInit(), and BesTofDigitizerEcV2::TofPmtInit().

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

Definition at line 85 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), and BesTofDigitizerEcV3::TofPmtAccum().

TTree* BesTofDigitizerEcV4::m_tree [private]

Definition at line 162 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

double BesTofDigitizerEcV4::m_trkIndex [private]

Definition at line 184 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

double BesTofDigitizerEcV4::m_trkIndex_hit[10000] [private]

Definition at line 192 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

double BesTofDigitizerEcV4::m_tStart [private]

Definition at line 185 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

double BesTofDigitizerEcV4::m_tThreshold [private]

Definition at line 188 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

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

Definition at line 52 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::Digitize(), and BesTofDigitizerBrV2::Digitize().

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

Definition at line 71 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::Digitize(), and BesTofDigitizerBrV2::Digitize().

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

Definition at line 79 of file BesTofDigitizerV.hh.

Referenced by BesTofDigitizerV::BesTofDigitizerV(), BesTofDigitizerEcV3::TofPmtAccum(), and BesTofDigitizerBrV2::TofPmtAccum().

double BesTofDigitizerEcV4::m_underStrip_hit[10000] [private]

Definition at line 195 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

double BesTofDigitizerEcV4::m_V [private]

Definition at line 159 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

double BesTofDigitizerEcV4::m_x_hit[10000] [private]

Definition at line 199 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

double BesTofDigitizerEcV4::m_y_hit[10000] [private]

Definition at line 200 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

double BesTofDigitizerEcV4::m_z_hit[10000] [private]

Definition at line 201 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), and Digitize().

int BesTofDigitizerEcV4::module [private]

Definition at line 142 of file BesTofDigitizerEcV4.hh.

Referenced by Digitize(), and initial().

int BesTofDigitizerEcV4::partId [private]

Definition at line 141 of file BesTofDigitizerEcV4.hh.

Referenced by Digitize(), and initial().

double BesTofDigitizerEcV4::tdc_sphi [private]

Definition at line 144 of file BesTofDigitizerEcV4.hh.

Referenced by Digitize(), and initial().

double BesTofDigitizerEcV4::tdc_xphi [private]

Definition at line 145 of file BesTofDigitizerEcV4.hh.

Referenced by Digitize(), and initial().

double BesTofDigitizerEcV4::tdcRes [private]

Definition at line 147 of file BesTofDigitizerEcV4.hh.

Referenced by Digitize(), and initial().

double BesTofDigitizerEcV4::tdcRes_const [private]

Definition at line 146 of file BesTofDigitizerEcV4.hh.

Referenced by BesTofDigitizerEcV4(), Digitize(), and initial().

double BesTofDigitizerEcV4::time_leading_sphi [private]

Definition at line 152 of file BesTofDigitizerEcV4.hh.

Referenced by Digitize(), and initial().

double BesTofDigitizerEcV4::time_leading_xphi [private]

Definition at line 153 of file BesTofDigitizerEcV4.hh.

Referenced by Digitize(), and initial().

double BesTofDigitizerEcV4::time_trailing_sphi [private]

Definition at line 154 of file BesTofDigitizerEcV4.hh.

Referenced by Digitize(), and initial().

double BesTofDigitizerEcV4::time_trailing_xphi [private]

Definition at line 155 of file BesTofDigitizerEcV4.hh.

Referenced by Digitize(), and initial().


Generated on Tue Nov 29 23:17:36 2016 for BOSS_7.0.2 by  doxygen 1.4.7