BesEmcDigitizer Class Reference

#include <BesEmcDigitizer.hh>

List of all members.

Public Member Functions

 BesEmcDigitizer (G4String modName)
 ~BesEmcDigitizer ()
virtual void Digitize ()
virtual void GroupHits (BesEmcHitsCollection *)
virtual void AddNoise5x5 (G4double coherentNoise)
virtual void AddNoiseAll (G4double coherentNoise)

Private Member Functions

void Initialize ()

Private Attributes

BesEmcDigitsCollectionm_besEmcDigitsCollection
vector< CrystalSingle * > * m_crystalGroup
G4double m_energy
G4Svcm_G4Svc
IEmcCalibConstSvcm_emcCalibConstSvc
NTuple::Tuple * m_tupleEmc1
NTuple::Item< long > m_partId
NTuple::Item< long > m_nTheta
NTuple::Item< long > m_nPhi
NTuple::Item< double > m_eDep
NTuple::Item< long > m_nHits
NTuple::Item< double > m_adc
NTuple::Item< long > m_tdc
NTuple::Tuple * m_tupleEmc2
NTuple::Item< double > m_eTot
NTuple::Item< long > m_nDigi


Detailed Description

Definition at line 79 of file BesEmcDigitizer.hh.


Constructor & Destructor Documentation

BesEmcDigitizer::BesEmcDigitizer ( G4String  modName  ) 

Definition at line 24 of file BesEmcDigitizer.cc.

References G4Svc::EmcRootFlag(), G4Svc::GetTupleEmc1(), G4Svc::GetTupleEmc2(), m_adc, m_besEmcDigitsCollection, m_eDep, m_emcCalibConstSvc, m_eTot, m_G4Svc, m_nDigi, m_nHits, m_nPhi, m_nTheta, m_partId, m_tdc, m_tupleEmc1, and m_tupleEmc2.

00025 :G4VDigitizerModule(modName),m_emcCalibConstSvc(0)
00026 {
00027   collectionName.push_back("BesEmcDigitsCollection");
00028   m_besEmcDigitsCollection = 0;
00029 
00030   //retrieve G4Svc
00031   ISvcLocator* svcLocator = Gaudi::svcLocator();
00032   IG4Svc* iG4Svc;
00033   StatusCode sc=svcLocator->service("G4Svc", iG4Svc);
00034   m_G4Svc=dynamic_cast<G4Svc *>(iG4Svc);
00035 
00036   //get Emc Ntuple from G4Svc
00037   if(m_G4Svc->EmcRootFlag())
00038   {
00039     m_tupleEmc1 = m_G4Svc->GetTupleEmc1();
00040     sc = m_tupleEmc1->addItem("partId",m_partId);
00041     sc = m_tupleEmc1->addItem("nTheta",m_nTheta);
00042     sc = m_tupleEmc1->addItem("nPhi",m_nPhi);
00043     sc = m_tupleEmc1->addItem("edep",m_eDep);
00044     sc = m_tupleEmc1->addItem("nHits",m_nHits);
00045     sc = m_tupleEmc1->addItem("adc",m_adc);
00046     sc = m_tupleEmc1->addItem("tdc",m_tdc);
00047     
00048     m_tupleEmc2 = m_G4Svc->GetTupleEmc2();
00049     sc = m_tupleEmc2->addItem("etot",m_eTot);
00050     sc = m_tupleEmc2->addItem("nDigi",m_nDigi);
00051   }
00052 
00053   // Get EmcCalibConstSvc.
00054   sc = svcLocator->service("EmcCalibConstSvc", m_emcCalibConstSvc);
00055   if(sc != StatusCode::SUCCESS) {
00056     G4cout << "BesEmcDigitizer Error: Can't get EmcCalibConstSvc." << G4endl;
00057   }
00058 
00059 }

BesEmcDigitizer::~BesEmcDigitizer (  ) 

Definition at line 61 of file BesEmcDigitizer.cc.

00062 {
00063 }


Member Function Documentation

void BesEmcDigitizer::AddNoise5x5 ( G4double  coherentNoise  )  [virtual]

Definition at line 285 of file BesEmcDigitizer.cc.

References BesEmcWaveform::addElecNoise(), bin, BesEmcWaveform::digitize(), G4Svc::EmcIncoherentNoise(), G4Svc::EmcLightOutput(), G4Svc::EmcNoiseThreshold(), G4Svc::EmcTime(), BesEmcParameter::GetBSCNbPhi(), BesEmcParameter::GetBSCNbTheta(), BesEmcParameter::GetInstance(), BesEmcParameter::GetLightOutput(), BesEmcDigi::GetWaveform(), genRecEmupikp::i, m_besEmcDigitsCollection, m_energy, m_G4Svc, BesEmcWaveform::max(), BesEmcDigi::SetEnergy(), BesEmcDigi::SetPartId(), BesEmcDigi::SetPhiNb(), BesEmcDigi::SetThetaNb(), BesEmcDigi::SetTime(), BesEmcDigi::SetTrackIndex(), BesEmcDigi::SetWaveform(), and BesEmcWaveform::updateWaveform().

Referenced by Digitize().

00286 {
00287   BesEmcParameter& emcPara = BesEmcParameter::GetInstance();
00288   vector<BesEmcDigi*>* vecDC = m_besEmcDigitsCollection->GetVector();
00289   G4int nDigi = m_besEmcDigitsCollection->entries();
00290   G4int partMax,thetaMax,phiMax;
00291   partMax=thetaMax=phiMax=-99;
00292   G4double eMax = 0;
00293 
00294   for(G4int i=0;i<nDigi;i++) {
00295     BesEmcDigi *digi = (*vecDC)[i];
00296     double eDigi = digi->GetEnergy();
00297     if(eDigi>eMax) {
00298       eMax = eDigi;
00299       partMax = digi->GetPartId();
00300       thetaMax = digi->GetThetaNb();
00301       phiMax = digi->GetPhiNb();
00302     }
00303   }
00304 
00305   if(partMax==1) { // barrel
00306     G4int thetan,thetap,phin,phip;
00307     thetan = thetaMax-2;
00308     thetap = thetaMax+2;
00309     phin = phiMax-2;
00310     phip = phiMax+2;
00311 
00312     if(thetaMax==0) { // #0
00313       thetan = thetaMax;
00314     } else if(thetaMax==1) {  // #1
00315       thetan = thetaMax-1;
00316     } else if(thetaMax==emcPara.GetBSCNbTheta()*2-1) {  // #43
00317       thetap = thetaMax;
00318     } else if(thetaMax==emcPara.GetBSCNbTheta()*2-2) {  // #42
00319       thetap = thetaMax+1;
00320     }
00321 
00322     if(phiMax==0) {
00323       phin = emcPara.GetBSCNbPhi()-2;
00324     } else if(phiMax==1) {
00325       phin = emcPara.GetBSCNbPhi()-2;
00326     } else if(phiMax==emcPara.GetBSCNbPhi()-1) {  // #119
00327       phip = 1;
00328     } else if(phiMax==emcPara.GetBSCNbPhi()-2) {  // #118
00329       phip = 0;
00330     }
00331 
00332     for(G4int theta=thetan;theta<=thetap;theta++) {
00333       for(G4int phi=phin;phi<=phip;phi++) {
00334         G4bool flag = true;
00335 
00336         if(nDigi>0) {
00337           for(G4int i=0;i<nDigi;i++) {
00338             BesEmcDigi *digi = (*vecDC)[i];
00339             if( partMax == digi->GetPartId()
00340                 && theta == digi->GetThetaNb()
00341                 && phi == digi->GetPhiNb() ) {
00342               flag=false;
00343               break;
00344             }
00345           }
00346         }
00347 
00348         if(flag) {
00349           BesEmcDigi *digi = new BesEmcDigi;
00350           BesEmcWaveform *wave = digi->GetWaveform();
00351           digi->SetPartId(partMax);
00352           digi->SetThetaNb(theta);
00353           digi->SetPhiNb(phi);
00354           digi->SetEnergy(0);
00355           digi->SetTime(m_G4Svc->EmcTime());
00356           digi->SetTrackIndex(-9);
00357 
00358           wave->updateWaveform(digi);
00359           wave->addElecNoise(m_G4Svc->EmcIncoherentNoise(),coherentNoise);
00360           wave->digitize();
00361 
00362           G4long bin = 0;       //time
00363           m_energy = wave->max(bin);
00364 
00365           if(m_G4Svc->EmcLightOutput()) {
00366             m_energy *= emcPara.GetLightOutput(partMax,theta,phi);
00367           }
00368 
00369           digi->SetEnergy(m_energy);
00370           digi->SetTime(bin);
00371           digi->SetWaveform(wave);
00372 
00373           //Correction of electronics bias
00374           G4double ecorr;
00375           if(m_energy<625.) {
00376             ecorr = -0.1285*log(m_energy/6805.);     //noise=0.5
00377           } else {
00378             ecorr = -2.418+9.513e-4*m_energy;
00379           }
00380 
00381           if(m_energy-ecorr>m_G4Svc->EmcNoiseThreshold()) {
00382             m_besEmcDigitsCollection->insert(digi);
00383           } else {
00384             delete digi;
00385           }
00386         }
00387       } //phi
00388     } //theta
00389 
00390   } //part==1
00391 }

void BesEmcDigitizer::AddNoiseAll ( G4double  coherentNoise  )  [virtual]

Definition at line 393 of file BesEmcDigitizer.cc.

References BesEmcWaveform::addElecNoise(), bin, BesEmcWaveform::digitize(), G4Svc::EmcIncoherentNoise(), G4Svc::EmcLightOutput(), G4Svc::EmcNoiseMean(), G4Svc::EmcNoiseSigma(), G4Svc::EmcNoiseThreshold(), G4Svc::EmcTime(), BesEmcParameter::GetBSCNbPhi(), BesEmcParameter::GetBSCNbTheta(), BesEmcParameter::GetCryInOneLayer(), BesEmcParameter::GetInstance(), BesEmcParameter::GetLightOutput(), BesEmcDigi::GetWaveform(), genRecEmupikp::i, m_besEmcDigitsCollection, m_energy, m_G4Svc, BesEmcWaveform::max(), BesEmcDigi::SetEnergy(), BesEmcDigi::SetPartId(), BesEmcDigi::SetPhiNb(), BesEmcDigi::SetThetaNb(), BesEmcDigi::SetTime(), BesEmcDigi::SetTrackIndex(), BesEmcDigi::SetWaveform(), and BesEmcWaveform::updateWaveform().

00394 {
00395   BesEmcParameter& emcPara = BesEmcParameter::GetInstance();
00396   vector<BesEmcDigi*>* vecDC = m_besEmcDigitsCollection->GetVector();
00397   G4int nDigi = m_besEmcDigitsCollection->entries();
00398   //G4cout<<"nDigi="<<nDigi<<G4endl;
00399 
00400   for(G4int part=0;part<3;part++) {
00401 
00402     G4int thetaNb;
00403     if(part == 1) { //barrel
00404       thetaNb = emcPara.GetBSCNbTheta()*2;
00405     } else {  //endcap
00406       thetaNb = 6;
00407     }
00408 
00409     for(G4int theta=0;theta<thetaNb;theta++) {
00410 
00411       G4int phiNb;
00412       if(part == 1) {
00413         phiNb = emcPara.GetBSCNbPhi();
00414       } else {
00415         phiNb = emcPara.GetCryInOneLayer(theta);
00416       }
00417 
00418       for(G4int phi=0;phi<phiNb;phi++) {
00419 
00420         G4bool flag = true;
00421 
00422         if(nDigi>0) {
00423           //G4cout<<"nDigi="<<nDigi<<"\t";
00424 
00425           for(G4int i=0;i<nDigi;i++) {
00426             BesEmcDigi *digi = (*vecDC)[i];
00427             if( part == digi->GetPartId()
00428                 && theta == digi->GetThetaNb()
00429                 && phi == digi->GetPhiNb() ) {
00430               //cout<<theta<<"\t"<<phi<<endl;
00431               flag=false;
00432               break;
00433             }
00434           }
00435         }
00436 
00437         if(flag) {
00438           BesEmcDigi *digi = new BesEmcDigi;
00439           digi->SetTrackIndex(-9);
00440           digi->SetPartId(part);
00441           digi->SetThetaNb(theta);
00442           digi->SetPhiNb(phi);
00443 
00444           bool fastSimulation = true;
00445           if(fastSimulation) {
00446 
00447             m_energy = RandGauss::shoot()*m_G4Svc->EmcNoiseSigma();
00448             m_energy += m_G4Svc->EmcNoiseMean();
00449             digi->SetTime((G4int)(G4UniformRand()*60));
00450 
00451           } else {
00452 
00453             BesEmcWaveform *wave = digi->GetWaveform();
00454             digi->SetTime(m_G4Svc->EmcTime());
00455 
00456             wave->updateWaveform(digi);
00457             wave->addElecNoise(m_G4Svc->EmcIncoherentNoise(),coherentNoise);
00458             wave->digitize();
00459 
00460             G4long bin = 0;       //time
00461             m_energy = wave->max(bin);
00462             digi->SetTime(bin);
00463             digi->SetWaveform(wave);  
00464           }
00465 
00466           if(m_G4Svc->EmcLightOutput()) {
00467             m_energy *= emcPara.GetLightOutput(part,theta,phi);
00468           }
00469           digi->SetEnergy(m_energy);
00470 
00471           //Correction of electronics bias
00472           G4double ecorr;
00473           if(m_energy<625.) {
00474             ecorr = -0.1285*log(m_energy/6805.);     //noise=0.5
00475           } else {
00476             ecorr = -2.418+9.513e-4*m_energy;
00477           }
00478 
00479           if(m_energy-ecorr>m_G4Svc->EmcNoiseThreshold()) {
00480             m_besEmcDigitsCollection->insert(digi);
00481           } else {
00482             delete digi;
00483           }
00484         }
00485 
00486       } //phi
00487     } //theta
00488   } //part
00489 }

void BesEmcDigitizer::Digitize (  )  [virtual]

Definition at line 69 of file BesEmcDigitizer.cc.

References BesEmcWaveform::addElecNoise(), AddNoise5x5(), bin, BesEmcWaveform::digitize(), G4Svc::EmcCoherentNoise(), G4Svc::EmcElecSaturation(), G4Svc::EmcIncoherentNoise(), G4Svc::EmcLightOutput(), G4Svc::EmcNoiseLevel(), G4Svc::EmcRootFlag(), G4Svc::EmcTime(), energy, IEmcCalibConstSvc::getCrystalEmaxData(), IEmcCalibConstSvc::getDigiCalibConst(), CrystalSingle::GetEdep(), BesEmcHit::GetEdepCrystal(), CrystalSingle::GetHitIndexes(), IEmcCalibConstSvc::getIndex(), CrystalSingle::GetNPhi(), CrystalSingle::GetNTheta(), CrystalSingle::GetPartId(), BesEmcHit::GetTrackIndex(), BesEmcDigi::GetWaveform(), GroupHits(), genRecEmupikp::i, Initialize(), ganga-rec::j, m_adc, m_besEmcDigitsCollection, m_crystalGroup, m_eDep, m_emcCalibConstSvc, m_energy, m_eTot, m_G4Svc, m_nDigi, m_nHits, m_nPhi, m_nTheta, m_partId, m_tdc, m_tupleEmc1, m_tupleEmc2, BesEmcWaveform::max(), nPhi, BesEmcDigi::SetEnergy(), BesEmcDigi::SetPartId(), BesEmcDigi::SetPhiNb(), BesEmcDigi::SetThetaNb(), BesEmcDigi::SetTime(), BesEmcDigi::SetTrackIndex(), BesEmcDigi::SetWaveform(), delete_small_size::size, and BesEmcWaveform::updateWaveform().

00070 {
00071   Initialize();
00072 
00073 
00074   m_besEmcDigitsCollection = new BesEmcDigitsCollection
00075     ("BesEmcDigitizer","BesEmcDigitsCollection");
00076   G4DigiManager* DigiMan = G4DigiManager::GetDMpointer();
00077 
00078 
00079   //hits collection ID
00080   G4int EHCID;
00081   EHCID = DigiMan->GetHitsCollectionID("BesEmcHitsCollection");
00082 
00083   //hits collection
00084   BesEmcHitsCollection* EHC = 0;
00085   EHC = (BesEmcHitsCollection*) (DigiMan->GetHitsCollection(EHCID));
00086 
00087   if (EHC)
00088   {
00089     //BesEmcParameter& emcPara=BesEmcParameter::GetInstance();
00090     m_crystalGroup = new vector<CrystalSingle*>;
00091     GroupHits(EHC);
00092     G4int size=m_crystalGroup->size();
00093     CrystalSingle* cryst;
00094     G4int partId, nTheta, nPhi, nHits; 
00095     G4double eTot=0, eDigi;
00096     BesEmcHit* hit;
00097 
00098     G4double coherentNoise = RandGauss::shoot()*m_G4Svc->EmcCoherentNoise();
00099 
00100     for(G4int i=0;i<size;i++)
00101     {
00102       cryst = (*m_crystalGroup)[i];   //all hits in a crystal
00103       partId = cryst->GetPartId();
00104       nTheta = cryst->GetNTheta();
00105       nPhi = cryst->GetNPhi();
00106       nHits= cryst->GetHitIndexes()->size();
00107       eDigi = cryst->GetEdep();
00108       eTot += eDigi;
00109 
00110       BesEmcDigi *digi = new BesEmcDigi;
00111       BesEmcWaveform *wave = digi->GetWaveform();
00112       G4long bin = 0;       //time
00113 
00114       const int indexSize = 200;
00115       G4double e[indexSize];      //energy of the same index
00116       for(G4int i=0;i<indexSize;i++)
00117         e[i]=0;
00118       G4int index=0;
00119       G4double energy=0;
00120 
00121       for(G4int j=0;j<nHits;j++)
00122       {
00123         hit= (*EHC)[( *(cryst->GetHitIndexes()) )[j]];
00124         energy = hit->GetEdepCrystal();
00125         index = hit->GetTrackIndex();
00126         if(index<indexSize&&index>=0)
00127           e[index]+=energy;
00128         else
00129           G4cout<<"Track index overload!"<<G4endl;
00130       }
00131 
00132       G4double maxi=e[0];         //find the index which gives the most energy in one crystal
00133       for(G4int i=1;i<indexSize;i++)
00134       {
00135         if(e[i]>maxi)
00136         {
00137           maxi = e[i];
00138           index = i;
00139         }
00140       }
00141 
00142       if(eDigi>0)
00143       {
00144         digi->SetPartId(partId);
00145         digi->SetThetaNb(nTheta);
00146         digi->SetPhiNb(nPhi);
00147         digi->SetEnergy(eDigi);
00148         digi->SetTime(m_G4Svc->EmcTime());
00149         digi->SetTrackIndex(index);
00150 
00151         wave->updateWaveform(digi);
00152         if(m_G4Svc->EmcNoiseLevel()>0)
00153           wave->addElecNoise(m_G4Svc->EmcIncoherentNoise(),coherentNoise);
00154 
00155         //to avoid error caused by precision, get energy before digitization
00156         m_energy = wave->max(bin);
00157         //temp code, subtract pedstal
00158         m_energy -= 0.46*MeV;
00159         wave->digitize();
00160         wave->max(bin);
00161 
00162         if(m_G4Svc->EmcLightOutput())
00163         {
00164           G4int index = m_emcCalibConstSvc->getIndex(partId,nTheta,nPhi);
00165           G4double adc2e = m_emcCalibConstSvc->getDigiCalibConst(index);  
00166 
00167 
00168           if (m_G4Svc->EmcElecSaturation()==1){
00169             G4double emaxData = m_emcCalibConstSvc->getCrystalEmaxData(index);
00170            
00171             if (emaxData>0) {
00172              
00173               adc2e=emaxData/2.5;
00174             }
00175           }
00176 
00177           if(adc2e<=1e-5) // dead channel
00178           {
00179             m_energy = 0;
00180           }
00181           else
00182           { 
00183 
00184               m_energy /= adc2e;
00185             
00186 
00187             //m_energy /= emcPara.GetLightOutput(partId,nTheta,nPhi);
00188           }
00189         }
00190 
00191         //fill Emc Ntuple1
00192         if(m_G4Svc->EmcRootFlag())
00193         {
00194           m_partId = partId;
00195           m_nTheta = nTheta;
00196           m_nPhi = nPhi;
00197           m_eDep = eDigi;
00198           m_nHits = nHits;
00199           m_adc = m_energy;
00200           m_tdc = bin;
00201           m_tupleEmc1->write();
00202         }
00203 
00204         digi->SetEnergy(m_energy);
00205         digi->SetTime(bin);
00206         digi->SetWaveform(wave);  
00207         m_besEmcDigitsCollection->insert(digi);     
00208       }
00209     }
00210 
00211     //add to noise to no signal crystals
00212     if(m_G4Svc->EmcNoiseLevel()==2)
00213       AddNoise5x5(coherentNoise);
00214     else if(m_G4Svc->EmcNoiseLevel()==3)
00215       ;
00216     //AddNoiseAll(coherentNoise);
00217 
00218     //fill Emc Ntuple2
00219     if(m_G4Svc->EmcRootFlag())
00220     {
00221       m_eTot = eTot;
00222       m_nDigi = size;
00223       m_tupleEmc2->write();
00224     }
00225 
00226     StoreDigiCollection(m_besEmcDigitsCollection);
00227 
00228     for(size_t i=0;i<m_crystalGroup->size();i++)
00229     {
00230       delete (*m_crystalGroup)[i];
00231     }
00232     m_crystalGroup->clear();
00233     delete m_crystalGroup;
00234   }
00235 }

void BesEmcDigitizer::GroupHits ( BesEmcHitsCollection  )  [virtual]

Definition at line 237 of file BesEmcDigitizer.cc.

References CrystalSingle::AddEdep(), BesEmcHit::GetEdepCrystal(), CrystalSingle::GetHitIndexes(), CrystalSingle::GetNPhi(), CrystalSingle::GetNTheta(), BesEmcHit::GetNumPhiCrystal(), BesEmcHit::GetNumThetaCrystal(), CrystalSingle::GetPartId(), BesEmcHit::GetPartId(), genRecEmupikp::i, ganga-rec::j, m_crystalGroup, nPhi, CrystalSingle::SetEdep(), CrystalSingle::SetNPhi(), CrystalSingle::SetNTheta(), CrystalSingle::SetPartId(), and delete_small_size::size.

Referenced by Digitize().

00238 {
00239   G4int partId, nTheta, nPhi, size, flag;
00240   G4double edep;
00241   BesEmcHit* hit;
00242   G4int nHits = m_EHC->entries();
00243 
00244   //group the hits which are in the same crystal
00245   for(G4int i=0;i<nHits;i++)
00246   {
00247     hit = (*m_EHC)[i];
00248     partId = hit->GetPartId();
00249     nTheta = hit->GetNumThetaCrystal();
00250     nPhi = hit->GetNumPhiCrystal();
00251     edep = hit->GetEdepCrystal();
00252     size = m_crystalGroup->size();
00253     flag=0;
00254 
00255     if(size>0)
00256     {
00257       CrystalSingle* oldCryst;
00258       for(G4int j=0; j<size;j++)
00259       {
00260         oldCryst = (*m_crystalGroup)[j];
00261         if((oldCryst->GetNTheta()==nTheta)&&(oldCryst->GetNPhi()==nPhi)&&(oldCryst->GetPartId()==partId))
00262         {
00263           oldCryst->GetHitIndexes()->push_back(i);
00264           oldCryst->AddEdep(edep);
00265           flag=1; 
00266           break;
00267         }
00268       }
00269     }
00270 
00271     if(flag==0)
00272     {
00273       CrystalSingle* newCryst = new CrystalSingle;
00274       newCryst->SetPartId(partId);
00275       newCryst->SetNTheta(nTheta);
00276       newCryst->SetNPhi(nPhi);
00277       newCryst->SetEdep(edep);
00278       newCryst->GetHitIndexes()->push_back(i);
00279       m_crystalGroup->push_back(newCryst);
00280     }
00281 
00282   }
00283 }

void BesEmcDigitizer::Initialize (  )  [private]

Definition at line 65 of file BesEmcDigitizer.cc.

Referenced by Digitize().

00066 {
00067 }


Member Data Documentation

NTuple::Item<double> BesEmcDigitizer::m_adc [private]

Definition at line 111 of file BesEmcDigitizer.hh.

Referenced by BesEmcDigitizer(), and Digitize().

BesEmcDigitsCollection* BesEmcDigitizer::m_besEmcDigitsCollection [private]

Definition at line 98 of file BesEmcDigitizer.hh.

Referenced by AddNoise5x5(), AddNoiseAll(), BesEmcDigitizer(), and Digitize().

vector<CrystalSingle*>* BesEmcDigitizer::m_crystalGroup [private]

Definition at line 99 of file BesEmcDigitizer.hh.

Referenced by Digitize(), and GroupHits().

NTuple::Item<double> BesEmcDigitizer::m_eDep [private]

Definition at line 109 of file BesEmcDigitizer.hh.

Referenced by BesEmcDigitizer(), and Digitize().

IEmcCalibConstSvc* BesEmcDigitizer::m_emcCalibConstSvc [private]

Definition at line 104 of file BesEmcDigitizer.hh.

Referenced by BesEmcDigitizer(), and Digitize().

G4double BesEmcDigitizer::m_energy [private]

Definition at line 100 of file BesEmcDigitizer.hh.

Referenced by AddNoise5x5(), AddNoiseAll(), and Digitize().

NTuple::Item<double> BesEmcDigitizer::m_eTot [private]

Definition at line 115 of file BesEmcDigitizer.hh.

Referenced by BesEmcDigitizer(), and Digitize().

G4Svc* BesEmcDigitizer::m_G4Svc [private]

Definition at line 103 of file BesEmcDigitizer.hh.

Referenced by AddNoise5x5(), AddNoiseAll(), BesEmcDigitizer(), and Digitize().

NTuple::Item<long> BesEmcDigitizer::m_nDigi [private]

Definition at line 116 of file BesEmcDigitizer.hh.

Referenced by BesEmcDigitizer(), and Digitize().

NTuple::Item<long> BesEmcDigitizer::m_nHits [private]

Definition at line 110 of file BesEmcDigitizer.hh.

Referenced by BesEmcDigitizer(), and Digitize().

NTuple::Item<long> BesEmcDigitizer::m_nPhi [private]

Definition at line 108 of file BesEmcDigitizer.hh.

Referenced by BesEmcDigitizer(), and Digitize().

NTuple::Item<long> BesEmcDigitizer::m_nTheta [private]

Definition at line 107 of file BesEmcDigitizer.hh.

Referenced by BesEmcDigitizer(), and Digitize().

NTuple::Item<long> BesEmcDigitizer::m_partId [private]

Definition at line 106 of file BesEmcDigitizer.hh.

Referenced by BesEmcDigitizer(), and Digitize().

NTuple::Item<long> BesEmcDigitizer::m_tdc [private]

Definition at line 112 of file BesEmcDigitizer.hh.

Referenced by BesEmcDigitizer(), and Digitize().

NTuple::Tuple* BesEmcDigitizer::m_tupleEmc1 [private]

Definition at line 105 of file BesEmcDigitizer.hh.

Referenced by BesEmcDigitizer(), and Digitize().

NTuple::Tuple* BesEmcDigitizer::m_tupleEmc2 [private]

Definition at line 114 of file BesEmcDigitizer.hh.

Referenced by BesEmcDigitizer(), and Digitize().


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