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

BesMdcDigitizer Class Reference

#include <BesMdcDigitizer.hh>

List of all members.

Public Member Functions

 BesMdcDigitizer (G4String modName)
 BesMdcDigitizer (G4String modName)
virtual void Digitize ()
virtual void Digitize ()
void SetEff (G4int layer, G4double eff)
void SetEff (G4int layer, G4double eff)
void SetEffFlag (G4int flag)
void SetEffFlag (G4int flag)
void SetMdcDRes (G4double res)
void SetMdcDRes (G4double res)
void SetNoiseFlag (G4int flag)
void SetNoiseFlag (G4int flag)
void SetNoiseLevel (G4double level)
void SetNoiseLevel (G4double level)
void SetNoiseType (G4int type)
void SetNoiseType (G4int type)
void SetSmearFlag (G4int flag)
void SetSmearFlag (G4int flag)
 ~BesMdcDigitizer ()
 ~BesMdcDigitizer ()

Private Member Functions

void AddNoise (void)
void AddNoise (void)
void AddNoise2 (void)
void AddNoise2 (void)
G4double Smear (G4double, G4double, G4double, G4double, G4double, G4double)
G4double Smear (G4double, G4double, G4double)
G4double Smear (G4double)
G4double Smear (G4double, G4double, G4double, G4double, G4double, G4double)
G4double Smear (G4double, G4double, G4double)
G4double Smear (G4double)

Private Attributes

G4int digiPointer [43][288]
BesMdcDigisCollectiondigisCollection
BesMdcDigisCollectiondigisCollection
BesMdcDigitizerMessengerdigitizerMessenger
BesMdcDigitizerMessengerdigitizerMessenger
G4int effFlag
TFile * f
TFile * f
TH1F * h1
TH1F * h1
TH1F * h2
TH1F * h2
TH1F * h3
TH1F * h3
vector< G4double > layerEff
vector< G4double > layerEff
NTuple::Item< long > m_cellId
NTuple::Item< long > m_cellId
NTuple::Item< double > m_driftD
NTuple::Item< double > m_driftD
NTuple::Item< double > m_driftDNew
NTuple::Item< double > m_driftDNew
NTuple::Item< double > m_driftTNew
NTuple::Item< double > m_driftTNew
NTuple::Item< double > m_edep
NTuple::Item< double > m_edep
NTuple::Item< double > m_enterAngle
NTuple::Item< double > m_enterAngle
G4Svcm_G4Svc
G4Svcm_G4Svc
NTuple::Item< double > m_globalT
NTuple::Item< double > m_globalT
NTuple::Item< long > m_layerId
NTuple::Item< long > m_layerId
NTuple::Item< long > m_NHits
NTuple::Item< long > m_NHits
NTuple::Item< double > m_theta
NTuple::Item< double > m_theta
NTuple::Tuple * m_tupleMdc
NTuple::Tuple * m_tupleMdc
G4double maxNoiseT
BesMdcCalTransfermdcCalPointer
BesMdcCalTransfermdcCalPointer
G4double mdcDRes
BesMdcGeoParametermdcGeoPointer
BesMdcGeoParametermdcGeoPointer
MdcTunningSvcmdcTunningSvc
MdcTunningSvcmdcTunningSvc
vector< G4double > mixLevel
vector< G4double > mixLevel
G4int noiseFlag
G4double noiseLevel
G4int noiseType
G4int smearFlag


Constructor & Destructor Documentation

BesMdcDigitizer::BesMdcDigitizer G4String  modName  ) 
 

00029                                                 :G4VDigitizerModule(modName){
00030   noiseFlag=0;
00031   noiseType=3;
00032   noiseLevel=0.1;//10%
00033   maxNoiseT=300.;//ns
00034   smearFlag=1;
00035   mdcDRes = 0.13; //mm
00036   effFlag = 0;
00037   for(G4int i=0; i<43;i++){
00038     layerEff.push_back(1.);
00039   }
00040   collectionName.push_back("BesMdcDigisCollection");
00041   digitizerMessenger = new BesMdcDigitizerMessenger(this);
00042   mdcGeoPointer=BesMdcGeoParameter::GetGeo();
00043   mdcCalPointer=new BesMdcCalTransfer;
00044 
00045   //  ISvcLocator* svcLocator = Gaudi::svcLocator();
00046   IG4Svc* tmpSvc;
00047   //G4Svc* m_G4Svc;
00048   StatusCode sc=Gaudi::svcLocator()->service("G4Svc", tmpSvc);
00049   if (!sc.isSuccess())
00050     G4cout <<" MdcDigitizer::Error,could not open G4Svc"<<G4endl;
00051 
00052   m_G4Svc=dynamic_cast<G4Svc *>(tmpSvc); 
00053 
00054   IMdcTunningSvc* IMdcTunningSvc;  
00055   sc= Gaudi::svcLocator()->service("MdcTunningSvc",IMdcTunningSvc);
00056   if (!sc.isSuccess()){
00057     G4cout <<" MdcDigitizer::Error,could not open Mdc Tunning Service"<<G4endl;
00058   }else{
00059     G4cout<<" MdcDigitizer:: Open Mdc Tunning Service"<<G4endl; 
00060   }
00061   mdcTunningSvc=dynamic_cast<MdcTunningSvc *>(IMdcTunningSvc); 
00062 
00063   std::string noiseFile=m_G4Svc->GetMdcNoiseFile();
00064   f=new TFile(noiseFile.c_str());
00065   h1=(TH1F*)f->Get("h703");
00066   h2=(TH1F*)f->Get("h501");
00067   h3=(TH1F*)f->Get("h801");    
00068   /*
00069   //get Mdc Ntuple from G4Svc
00070   if(m_G4Svc->MdcRootFlag())
00071   {
00072   m_tupleMdc = m_G4Svc->GetTupleMdc();
00073   sc = m_tupleMdc->addItem("NHits",m_NHits);
00074   sc = m_tupleMdc->addItem("LayerId",m_layerId);
00075   sc = m_tupleMdc->addItem("cellId",m_cellId);
00076   sc = m_tupleMdc->addItem("Edep",m_edep);
00077   sc = m_tupleMdc->addItem("driftD",m_driftD);
00078   // sc = m_tupleMdc->addItem("driftT",m_driftT);
00079   sc = m_tupleMdc->addItem("globalT",m_globalT);
00080   sc = m_tupleMdc->addItem("theta",m_theta);
00081   sc = m_tupleMdc->addItem("enterAngle",m_enterAngle);
00082   sc = m_tupleMdc->addItem("driftDNew",m_driftDNew);  
00083   sc = m_tupleMdc->addItem("driftTNew",m_driftTNew);  
00084   // sc = m_tupleMdc->addItem("adc",m_adc);
00085   // sc = m_tupleMdc->addItem("tdc",m_tdc);
00086   }
00087    */
00088 }

BesMdcDigitizer::~BesMdcDigitizer  ) 
 

00090 {delete digitizerMessenger;}

BesMdcDigitizer::BesMdcDigitizer G4String  modName  ) 
 

BesMdcDigitizer::~BesMdcDigitizer  ) 
 


Member Function Documentation

void BesMdcDigitizer::AddNoise void   )  [private]
 

void BesMdcDigitizer::AddNoise void   )  [private]
 

00331                                   {
00332   G4double r0,r;
00333   vector<G4double>  noise; //Noise level of each layer
00334 
00335   G4int NLayer=mdcGeoPointer->SignalLayerNo();
00336   if(noiseType==0){
00337     for(G4int i=0;i<NLayer;i++){
00338       noise.push_back(noiseLevel);
00339     }
00340   }else if(noiseType==1){
00341     r0=mdcGeoPointer->SignalLayer(0).R();
00342     for(G4int i=0;i<NLayer;i++){
00343       r=mdcGeoPointer->SignalLayer(i).R();
00344       noise.push_back(noiseLevel * r0 / r);
00345     }
00346   }else if(noiseType==2){
00347     r0=mdcGeoPointer->SignalLayer(0).R();
00348     for(G4int i=0;i<NLayer;i++){
00349       r=mdcGeoPointer->SignalLayer(i).R();
00350       noise.push_back(noiseLevel * r0 * r0 / r / r);
00351     }
00352   }else if(noiseType==3){ // liugc add 22:11 4/14/06
00353     Int_t Nbins=(Int_t)h1->GetNbinsX();
00354 
00355     double xmax=h1->GetXaxis()->GetXmax();
00356     double xmin=h1->GetXaxis()->GetXmin();
00357     double dx=(xmax-xmin)/Nbins;
00358     G4double y;
00359     for(G4int i=0;i<Nbins;i++){
00360       double x=double(i+1)*dx;
00361       y=(G4double)h1->GetBinContent(x);
00362       y=y*noiseLevel/0.05608559;// Normalize use noise level of 1st layer in "run23096noise.root" 
00363       noise.push_back(y);
00364     }
00365   }
00366 
00367   G4int wireNo;
00368   G4double random;
00369   G4double randomT;
00370   G4double randomQ;
00371   G4double T0=m_G4Svc->GetBeamStartTime();
00372   for(G4int i=0;i<NLayer;i++){
00373     wireNo=mdcGeoPointer->SignalLayer(i).WireNo()/2;
00374     for(G4int j=0;j<wireNo;j++){
00375       random=G4UniformRand(); 
00376       if(random < noise[i]){
00377         //randomT=G4UniformRand() * maxNoiseT;
00378         randomT=h2->GetRandom()+T0;
00379         //        randomT=randomT;
00380         //        randomQ=h3->GetRandom();
00381         //        randomQ=randomQ*0.001*0.001; //Transfer from TDC channels to Mev, coef. is temporary one.
00382         if(isnan(randomT)){
00383           G4cout<<"MdcDigitizer: error, randomT is nan"<<G4endl;
00384           continue;
00385         }
00386 
00387         randomQ=0.;
00388         if(digiPointer[i][j]!=-1){
00389           G4int pointer=digiPointer[i][j];
00390           G4double signalEdep=(*digisCollection)[pointer]->GetEdep();
00391           (*digisCollection)[pointer]->SetEdep(randomQ+signalEdep);
00392           G4double preDriftT=(*digisCollection)[pointer]->GetDriftT();
00393           if(preDriftT <= randomT)continue;
00394           (*digisCollection)[pointer]->SetDriftT(randomT);
00395           (*digisCollection)[pointer]->SetTrackID(-1);
00396         }else{
00397           BesMdcDigi* newDigi = new BesMdcDigi(); 
00398           newDigi->SetTrackID(-1);
00399           newDigi->SetLayerNo(i);
00400           newDigi->SetCellNo(j);
00401           newDigi->SetEdep(randomQ);
00402           newDigi->SetDriftT(randomT);
00403           digisCollection->insert(newDigi);  
00404         }
00405       }
00406     }
00407   }
00408 }

void BesMdcDigitizer::AddNoise2 void   )  [private]
 

void BesMdcDigitizer::AddNoise2 void   )  [private]
 

00292                                    {
00293   G4int wireNo;
00294   G4double random;
00295   G4double randomT;
00296   G4double randomQ;
00297   G4int NLayer=mdcGeoPointer->SignalLayerNo();
00298   for(G4int i=0;i<NLayer;i++){
00299     wireNo=mdcGeoPointer->SignalLayer(i).WireNo()/2;
00300     for(G4int j=0;j<wireNo;j++){
00301       random=G4UniformRand(); 
00302       if(random < mixLevel[i]){
00303         randomT=G4UniformRand() * 2000;
00304         if(isnan(randomT)){
00305           G4cout<<"MdcDigitizer: error, randomT is nan"<<G4endl;
00306           continue;
00307         }
00308 
00309         randomQ=200.;
00310         if(digiPointer[i][j]!=-1){
00311           G4int pointer=digiPointer[i][j];
00312           G4double preDriftT=(*digisCollection)[pointer]->GetDriftT();
00313           if(preDriftT <= randomT)continue;
00314           (*digisCollection)[pointer]->SetDriftT(randomT);
00315           (*digisCollection)[pointer]->SetTrackID(-1);
00316         }else{
00317           BesMdcDigi* newDigi = new BesMdcDigi(); 
00318           newDigi->SetTrackID(-1);
00319           newDigi->SetLayerNo(i);
00320           newDigi->SetCellNo(j);
00321           newDigi->SetEdep(randomQ);
00322           newDigi->SetDriftT(randomT);
00323           digisCollection->insert(newDigi);  
00324         }
00325       }
00326     }
00327   }
00328 }

virtual void BesMdcDigitizer::Digitize  )  [virtual]
 

void BesMdcDigitizer::Digitize  )  [virtual]
 

00102                               {
00103 
00104   //initialize 
00105   for(G4int i=0; i<43;i++){
00106     for(G4int j=0;j<288;j++){
00107       digiPointer[i][j]=-1;
00108     }
00109   }
00110 
00111   G4int  NHits,layerId, cellId, posFlag; 
00112   G4double edep,driftD,driftT, globalT, theta,cosTheta,enterAngle;
00113   G4double mean,sigma,mean1,mean2,sigma1, sigma2, f,sig,delSig, fRandom, driftDNew, driftTNew;
00114   G4double tempEff;
00115 
00116   G4DigiManager* DigiMan = G4DigiManager::GetDMpointer();
00117 
00118   //hits collection ID
00119   G4int THCID=-1;
00120   THCID = DigiMan->GetHitsCollectionID("BesMdcHitsCollection");
00121 
00122   //hits collection
00123   BesMdcHitsCollection* THC = 0;
00124   THC = (BesMdcHitsCollection*) (DigiMan->GetHitsCollection(THCID));
00125 
00126   if(THC){
00127     digisCollection=new BesMdcDigisCollection
00128       (moduleName, collectionName[0]);
00129     NHits=THC->entries();
00130     for(G4int i=0;i<NHits;i++){
00131       layerId = (*THC)[i]->GetLayerNo();
00132       cellId = (*THC)[i]->GetCellNo();
00133       edep = (*THC)[i]->GetEdep();
00134       driftD = (*THC)[i]->GetDriftD();
00135       globalT = (*THC)[i]->GetGlobalT();
00136       theta = (*THC)[i]->GetTheta();
00137       cosTheta = cos(theta); 
00138       enterAngle = (*THC)[i]->GetEnterAngle();
00139       posFlag = (*THC)[i]->GetPosFlag();
00140 
00141       //Transfer hit pointer to BesMdcCalTransfer
00142       mdcCalPointer->SetHitPointer((*THC)[i]);
00143 
00144       //Filter with wire efficiency
00145       if(effFlag==0){
00146         //tempEff = mdcCalPointer->GetEff();
00147         tempEff=mdcTunningSvc->GetEff(layerId,cellId,driftD,cosTheta,posFlag);
00148       }else{
00149         tempEff = layerEff[layerId];
00150       }
00151       fRandom=G4UniformRand();
00152       if(fRandom>tempEff)continue;
00153 
00154       //cout<<"layerid "<<layerId<<" cellid "<<cellId<<" theta "<<cosTheta<<" enterangle "<<enterAngle<<endl;
00155       //Drift distance smear
00156       if(smearFlag==0){ //No smear
00157         driftDNew = driftD;
00158       }else if(smearFlag==1){           //Smear from TuningSvc
00159         //      mdcTunningSvc->GetRes(layerId,cellId,driftD,cosTheta,posFlag,enterAngle,mean,sigma);
00160         mdcTunningSvc->GetRes2(layerId,cellId,driftD,cosTheta,posFlag,enterAngle,f,mean1,sigma1,mean2,sigma2);
00161 
00162         //driftDNew = Smear(driftD,f,mean1,sigma1,mean2,sigma2);
00163 
00164         driftDNew = Smear(driftD-(f*mean1+(1-f)*mean2),f,mean1,sigma1,mean2,sigma2);//new method
00165 
00166       }else if(smearFlag==2){ //Smear with fixed resolution
00167         driftDNew = Smear(driftD);
00168       }else{
00169         G4cerr<<"MdcDigitizer::worong smearFlag: "<<smearFlag<<G4endl;
00170       }
00171 
00172       //Do X-T conversion
00173       driftTNew = mdcCalPointer->D2T(driftDNew);
00174 
00175       //Do Q-T correct
00176       driftTNew += mdcCalPointer->GetTimeWalk();
00177 
00178       //Add T0
00179       driftTNew += mdcCalPointer->GetT0();
00180 
00181       //Add TOF
00182       driftTNew += globalT;
00183 
00184       //Signal transfer time on wire
00185       // transferT=Transfer(layerId,cellId,hitPosition);
00186       //driftTNew+=transferT;
00187 
00188       if(isnan(driftTNew)){
00189         G4cout<<"MdcDigitizer::error, driftT is nan"<<G4endl;
00190         continue;
00191       }
00192 
00193       /*
00194          if(m_G4Svc->MdcRootFlag())
00195          {
00196          m_NHits= NHits;
00197          m_layerId= layerId;
00198          m_cellId= cellId;
00199          m_edep= edep;
00200          m_driftD= driftD;
00201       //     m_driftT= driftT;
00202       m_globalT = globalT;
00203       m_enterAngle = enterAngle;
00204       m_driftDNew = driftDNew;
00205       m_driftTNew = driftTNew;
00206       m_theta = theta;
00207       m_tupleMdc ->write(); 
00208       }
00209        */
00210       BesMdcDigi* newDigi = new BesMdcDigi(); 
00211       newDigi->SetTrackID((*THC)[i]->GetTrackID());
00212       newDigi->SetLayerNo(layerId);
00213       newDigi->SetCellNo(cellId);
00214       newDigi->SetEdep(edep);
00215       newDigi->SetDriftT(driftTNew);
00216       G4int NbDigis = digisCollection->insert(newDigi);
00217       digiPointer[layerId][cellId]=NbDigis-1;
00218     } 
00219 
00220     if(noiseFlag==1)AddNoise();
00221     if(noiseFlag==2){
00222       ifstream readNoiseLevel("$MDCSIMROOT/share/noiselevel.txt");
00223       if(!readNoiseLevel.good()){
00224         std::cout<<" Error , noiselevel file not exist "<<std::endl;
00225       }else{
00226         std::cout<<" MdcDigitizer:: Open noiselevel file  "<<std::endl;
00227       }
00228       G4int NLayer=mdcGeoPointer->SignalLayerNo();
00229       G4double level;
00230       for(G4int i=0;i<NLayer;i++){
00231         readNoiseLevel>>level;
00232         mixLevel.push_back(level);
00233       }
00234       AddNoise2();
00235     }
00236 
00237     if (verboseLevel>0) { 
00238       G4cout << "\n-------->digis Collection: in this event they are " 
00239         << digisCollection->entries() 
00240         << " digis in the MDC chambers: " << G4endl;
00241       digisCollection->PrintAllDigi();
00242     } 
00243     StoreDigiCollection(digisCollection);       
00244   }
00245 
00246 }

void BesMdcDigitizer::SetEff G4int  layer,
G4double  eff
 

void BesMdcDigitizer::SetEff G4int  layer,
G4double  eff
 

00092                                                      {
00093   if(layer==-1){
00094     for(G4int i=0; i<43;i++){
00095       layerEff[i]=eff;
00096     }
00097   }else{
00098     layerEff[layer]=eff;
00099   }
00100 }

void BesMdcDigitizer::SetEffFlag G4int  flag  )  [inline]
 

00046 {effFlag=flag;}

void BesMdcDigitizer::SetEffFlag G4int  flag  )  [inline]
 

00046 {effFlag=flag;}

void BesMdcDigitizer::SetMdcDRes G4double  res  )  [inline]
 

00044 {mdcDRes=res;}

void BesMdcDigitizer::SetMdcDRes G4double  res  )  [inline]
 

00044 {mdcDRes=res;}

void BesMdcDigitizer::SetNoiseFlag G4int  flag  )  [inline]
 

00039 {noiseFlag=flag;}  

void BesMdcDigitizer::SetNoiseFlag G4int  flag  )  [inline]
 

00039 {noiseFlag=flag;}  

void BesMdcDigitizer::SetNoiseLevel G4double  level  )  [inline]
 

00041 {noiseLevel=level;}  

void BesMdcDigitizer::SetNoiseLevel G4double  level  )  [inline]
 

00041 {noiseLevel=level;}  

void BesMdcDigitizer::SetNoiseType G4int  type  )  [inline]
 

00040 {noiseType=type;}

void BesMdcDigitizer::SetNoiseType G4int  type  )  [inline]
 

00040 {noiseType=type;}

void BesMdcDigitizer::SetSmearFlag G4int  flag  )  [inline]
 

00043 {smearFlag=flag;}

void BesMdcDigitizer::SetSmearFlag G4int  flag  )  [inline]
 

00043 {smearFlag=flag;}

G4double BesMdcDigitizer::Smear G4double  ,
G4double  ,
G4double  ,
G4double  ,
G4double  ,
G4double 
[private]
 

G4double BesMdcDigitizer::Smear G4double  ,
G4double  ,
G4double 
[private]
 

G4double BesMdcDigitizer::Smear G4double   )  [private]
 

G4double BesMdcDigitizer::Smear G4double  ,
G4double  ,
G4double  ,
G4double  ,
G4double  ,
G4double 
[private]
 

00270                                                                                                                        {
00271   G4double r, driftDNew,mean,sigma;
00272   r = G4UniformRand(); 
00273   if(r<=f){
00274     mean=mean1;
00275     sigma=sigma1;
00276   }else{
00277     mean=mean2;
00278     sigma=sigma2;
00279   }
00280   int times=0;
00281   r = G4RandGauss::shoot();
00282   driftDNew = driftD + sigma * r+mean;
00283   while(driftDNew <= 0){
00284     r = G4RandGauss::shoot();
00285     driftDNew = driftD + sigma * r+mean;
00286     times++;
00287     if(times>10)driftDNew=0.01;
00288   }
00289   return driftDNew;
00290 }

G4double BesMdcDigitizer::Smear G4double  ,
G4double  ,
G4double 
[private]
 

00259                                                                            {
00260   G4double r, driftDNew;
00261   r = G4RandGauss::shoot();
00262   driftDNew = driftD + sigma * r+mean;
00263   while(driftDNew <= 0){
00264     r = G4RandGauss::shoot();
00265     driftDNew = driftD + sigma * r+mean;
00266   }
00267   return driftDNew;
00268 }

G4double BesMdcDigitizer::Smear G4double   )  [private]
 

00248                                               {
00249   G4double r, driftDNew;
00250   r = G4RandGauss::shoot();
00251   driftDNew = driftD + mdcDRes * r;
00252   while(driftDNew<=0){
00253     r = G4RandGauss::shoot();
00254     driftDNew = driftD + mdcDRes * r;
00255   }
00256   return driftDNew;
00257 }


Member Data Documentation

G4int BesMdcDigitizer::digiPointer [private]
 

BesMdcDigisCollection* BesMdcDigitizer::digisCollection [private]
 

BesMdcDigisCollection* BesMdcDigitizer::digisCollection [private]
 

BesMdcDigitizerMessenger* BesMdcDigitizer::digitizerMessenger [private]
 

BesMdcDigitizerMessenger* BesMdcDigitizer::digitizerMessenger [private]
 

G4int BesMdcDigitizer::effFlag [private]
 

TFile* BesMdcDigitizer::f [private]
 

TFile* BesMdcDigitizer::f [private]
 

TH1F* BesMdcDigitizer::h1 [private]
 

TH1F* BesMdcDigitizer::h1 [private]
 

TH1F* BesMdcDigitizer::h2 [private]
 

TH1F* BesMdcDigitizer::h2 [private]
 

TH1F* BesMdcDigitizer::h3 [private]
 

TH1F* BesMdcDigitizer::h3 [private]
 

vector<G4double> BesMdcDigitizer::layerEff [private]
 

vector<G4double> BesMdcDigitizer::layerEff [private]
 

NTuple::Item<long> BesMdcDigitizer::m_cellId [private]
 

NTuple::Item<long> BesMdcDigitizer::m_cellId [private]
 

NTuple::Item<double> BesMdcDigitizer::m_driftD [private]
 

NTuple::Item<double> BesMdcDigitizer::m_driftD [private]
 

NTuple::Item<double> BesMdcDigitizer::m_driftDNew [private]
 

NTuple::Item<double> BesMdcDigitizer::m_driftDNew [private]
 

NTuple::Item<double> BesMdcDigitizer::m_driftTNew [private]
 

NTuple::Item<double> BesMdcDigitizer::m_driftTNew [private]
 

NTuple::Item<double> BesMdcDigitizer::m_edep [private]
 

NTuple::Item<double> BesMdcDigitizer::m_edep [private]
 

NTuple::Item<double> BesMdcDigitizer::m_enterAngle [private]
 

NTuple::Item<double> BesMdcDigitizer::m_enterAngle [private]
 

G4Svc* BesMdcDigitizer::m_G4Svc [private]
 

G4Svc* BesMdcDigitizer::m_G4Svc [private]
 

NTuple::Item<double> BesMdcDigitizer::m_globalT [private]
 

NTuple::Item<double> BesMdcDigitizer::m_globalT [private]
 

NTuple::Item<long> BesMdcDigitizer::m_layerId [private]
 

NTuple::Item<long> BesMdcDigitizer::m_layerId [private]
 

NTuple::Item<long> BesMdcDigitizer::m_NHits [private]
 

NTuple::Item<long> BesMdcDigitizer::m_NHits [private]
 

NTuple::Item<double> BesMdcDigitizer::m_theta [private]
 

NTuple::Item<double> BesMdcDigitizer::m_theta [private]
 

NTuple::Tuple* BesMdcDigitizer::m_tupleMdc [private]
 

NTuple::Tuple* BesMdcDigitizer::m_tupleMdc [private]
 

G4double BesMdcDigitizer::maxNoiseT [private]
 

BesMdcCalTransfer* BesMdcDigitizer::mdcCalPointer [private]
 

BesMdcCalTransfer* BesMdcDigitizer::mdcCalPointer [private]
 

G4double BesMdcDigitizer::mdcDRes [private]
 

BesMdcGeoParameter* BesMdcDigitizer::mdcGeoPointer [private]
 

BesMdcGeoParameter* BesMdcDigitizer::mdcGeoPointer [private]
 

MdcTunningSvc* BesMdcDigitizer::mdcTunningSvc [private]
 

MdcTunningSvc* BesMdcDigitizer::mdcTunningSvc [private]
 

vector<G4double> BesMdcDigitizer::mixLevel [private]
 

vector<G4double> BesMdcDigitizer::mixLevel [private]
 

G4int BesMdcDigitizer::noiseFlag [private]
 

G4double BesMdcDigitizer::noiseLevel [private]
 

G4int BesMdcDigitizer::noiseType [private]
 

G4int BesMdcDigitizer::smearFlag [private]
 


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