BesAsciiIO Class Reference

#include <BesAsciiIO.hh>

List of all members.

Public Member Functions

 BesAsciiIO (G4int, G4int, G4int, G4int, G4int, G4int, G4int, G4int, G4String)
 ~BesAsciiIO ()
void SetMdcTruFlag (G4int flag)
void SetTofTruFlag (G4int flag)
void SetEmcTruFlag (G4int flag)
void SetMucTruFlag (G4int flag)
void SetMdcDigiFlag (G4int flag)
void SetTofDigiFlag (G4int flag)
void SetEmcDigiFlag (G4int flag)
void SetMucDigiFlag (G4int flag)
void SetAsciiFile (G4String name)
void SaveAsciiEvents (G4int, const G4Event *)
void SaveDecayMode (EVENT &)
void SaveTrackTruth (EVENT &)
void SaveVertexTruth (EVENT &)
void SaveMdcTruth (EVENT &)
void SaveTofTruth (EVENT &)
void SaveEmcTruth (EVENT &)
void SaveMucTruth (EVENT &)
void SaveMdcDigits (EVENT &)
void SaveTofDigits (EVENT &)
void SaveEmcDigits (EVENT &)
void SaveMucDigits (EVENT &)
void SaveHitAsciiEvents (G4int, const G4Event *)
void SaveDecayMode (HitEVENT &)
void SaveTrackTruth (HitEVENT &)
void SaveVertexTruth (HitEVENT &)
void SaveMdcTruth (HitEVENT &)
void SaveTofTruth (HitEVENT &)
void SaveEmcTruth (HitEVENT &)
void SaveMucTruth (HitEVENT &)
void SaveMdcHits (HitEVENT &)
void SaveTofHits (HitEVENT &)
void SaveEmcHits (HitEVENT &)
void SaveMucHits (HitEVENT &)

Private Attributes

G4int m_mdcTruFlag
G4int m_mdcDigiFlag
G4int m_tofTruFlag
G4int m_tofDigiFlag
G4int m_emcTruFlag
G4int m_emcDigiFlag
G4int m_mucTruFlag
G4int m_mucDigiFlag
G4String m_asciiFile
G4DigiManager * m_DigiMan


Detailed Description

Definition at line 22 of file BesAsciiIO.hh.


Constructor & Destructor Documentation

BesAsciiIO::BesAsciiIO ( G4int  ,
G4int  ,
G4int  ,
G4int  ,
G4int  ,
G4int  ,
G4int  ,
G4int  ,
G4String   
)

Definition at line 42 of file BesAsciiIO.cc.

References m_DigiMan.

00048 :m_mdcTruFlag(mdcTruFlag),m_mdcDigiFlag(mdcDigiFlag),
00049  m_tofTruFlag(tofTruFlag),m_tofDigiFlag(tofDigiFlag),
00050  m_emcTruFlag(emcTruFlag),m_emcDigiFlag(emcDigiFlag),
00051  m_mucTruFlag(mucTruFlag),m_mucDigiFlag(mucDigiFlag), 
00052  m_asciiFile(name)
00053 {
00054   m_DigiMan = G4DigiManager::GetDMpointer(); 
00055 }

BesAsciiIO::~BesAsciiIO (  ) 

Definition at line 57 of file BesAsciiIO.cc.

00058 {
00059 }


Member Function Documentation

void BesAsciiIO::SaveAsciiEvents ( G4int  ,
const G4Event *   
)

Definition at line 61 of file BesAsciiIO.cc.

References EVENT::decayMode, EVENT::emcDigi, EVENT::emcTruth, EVHEAD::eventNo, AsciiWrongTag::expected(), AsciiWrongTag::got(), EVENT::header, m_asciiFile, m_emcDigiFlag, m_emcTruFlag, m_mdcDigiFlag, m_mdcTruFlag, m_mucDigiFlag, m_mucTruFlag, m_tofDigiFlag, m_tofTruFlag, FRMTVERSION::major, EVENT::mdcDigi, EVENT::mdcTruth, FRMTVERSION::minor, EVENT::mucDigi, EVENT::mucTruth, EVHEAD::runNo, SaveDecayMode(), SaveEmcDigits(), SaveEmcTruth(), SaveMdcDigits(), SaveMdcTruth(), SaveMucDigits(), SaveMucTruth(), SaveTofDigits(), SaveTofTruth(), SaveTrackTruth(), SaveVertexTruth(), Tagged::set_initialized(), EVENT::tofDigi, EVENT::tofTruth, EVENT::trackTruth, and EVENT::vertexTruth.

Referenced by BesEventAction::EndOfEventAction().

00062 {
00063   EVENT asciiEvt;
00064 
00065   asciiEvt.set_initialized();
00066   asciiEvt.header.set_initialized();
00067   asciiEvt.header.eventNo=evt->GetEventID();
00068   asciiEvt.header.runNo= runId;
00069   asciiEvt.decayMode.set_initialized();
00070   SaveDecayMode(asciiEvt);
00071   
00072   asciiEvt.trackTruth.set_initialized();
00073   asciiEvt.vertexTruth.set_initialized();
00074   SaveTrackTruth(asciiEvt);
00075   SaveVertexTruth(asciiEvt);
00076     
00077   if(m_mdcTruFlag)
00078   {
00079     asciiEvt.mdcTruth.set_initialized();
00080     SaveMdcTruth(asciiEvt);
00081   }
00082   
00083   if(m_mdcDigiFlag)
00084   {
00085     asciiEvt.mdcDigi.set_initialized();
00086     SaveMdcDigits(asciiEvt);
00087   }  
00088     
00089   if(m_tofTruFlag)
00090   {
00091     asciiEvt.tofTruth.set_initialized();
00092     SaveTofTruth(asciiEvt);
00093   }
00094   
00095   if(m_tofDigiFlag)
00096   {
00097     asciiEvt.tofDigi.set_initialized();
00098     SaveTofDigits(asciiEvt);
00099   }
00100   
00101   if(m_emcTruFlag)
00102   {
00103     asciiEvt.emcTruth.set_initialized();
00104     SaveEmcTruth(asciiEvt);
00105   }
00106    
00107   if(m_emcDigiFlag)
00108   {
00109     asciiEvt.emcDigi.set_initialized();
00110     SaveEmcDigits(asciiEvt);
00111   }
00112   
00113   if(m_mucTruFlag)
00114   {
00115     asciiEvt.mucTruth.set_initialized();
00116     SaveMucTruth(asciiEvt);
00117   }   
00118   
00119   if(m_mucDigiFlag)
00120   {
00121     asciiEvt.mucDigi.set_initialized();
00122     SaveMucDigits(asciiEvt);
00123   }
00124   
00125   ofstream os;
00126   if(evt->GetEventID()==0)
00127   {
00128     os.open(m_asciiFile);
00129     FRMTVERSION version;
00130     version.set_initialized();
00131     version.major = 1;
00132     version.minor = 0;
00133     os << version;
00134   }
00135   else
00136     os.open(m_asciiFile,ios::out|ios::app);
00137 
00138   try {
00139       os << asciiEvt;
00140   }
00141   catch (AsciiWrongTag& ex) {
00142     std::cerr << "wrong tag, got " << ex.got()
00143               << " expected: " << ex.expected()
00144               << std::endl;
00145   } catch (AsciiDumpException& ) {
00146       std::cerr << "AsciiDumpException was caught!" << std::endl;
00147   }
00148   os.close();
00149 }

void BesAsciiIO::SaveDecayMode ( HitEVENT  ) 

Definition at line 665 of file BesAsciiIO.cc.

References DECAYMODE::data, HitEVENT::decayMode, genRecEmupikp::i, and DECAYMODE::size.

00666 {
00667   asciiEvt.decayMode.size=10;
00668   //interface to event data service
00669   ISvcLocator* svcLocator = Gaudi::svcLocator();
00670   IDataProviderSvc* evtSvc;
00671   StatusCode sc=svcLocator->service("EventDataSvc", evtSvc);
00672   if (sc.isFailure())
00673     G4cout<<"Could not accesss EventDataSvc!"<<G4endl;
00674 
00675   SmartDataPtr<DecayMode> decayMode(evtSvc,"/Event/MC/DecayMode");
00676   if(!decayMode)
00677   {
00678     for(int i=0;i<10;i++)
00679       asciiEvt.decayMode.data[i]=0;
00680   }
00681   else
00682   {
00683     int dm[10]={0,0,0,0,0,0,0,0,0,0};
00684     decayMode->getData(dm,10);
00685     for(int i=0;i<10;i++)
00686       asciiEvt.decayMode.data[i]=dm[i];
00687   }
00688 } 

void BesAsciiIO::SaveDecayMode ( EVENT  ) 

Definition at line 151 of file BesAsciiIO.cc.

References DECAYMODE::data, EVENT::decayMode, genRecEmupikp::i, and DECAYMODE::size.

Referenced by SaveAsciiEvents(), and SaveHitAsciiEvents().

00152 {
00153   asciiEvt.decayMode.size=10;
00154   //interface to event data service
00155   ISvcLocator* svcLocator = Gaudi::svcLocator();
00156   IDataProviderSvc* evtSvc;
00157   StatusCode sc=svcLocator->service("EventDataSvc", evtSvc);
00158   if (sc.isFailure())
00159     G4cout<<"Could not accesss EventDataSvc!"<<G4endl;
00160 
00161   SmartDataPtr<DecayMode> decayMode(evtSvc,"/Event/MC/DecayMode");
00162   if(!decayMode)
00163   {
00164     for(int i=0;i<10;i++)
00165       asciiEvt.decayMode.data[i]=0;
00166   }
00167   else
00168   {
00169     int dm[10]={0,0,0,0,0,0,0,0,0,0};
00170     decayMode->getData(dm,10);
00171     for(int i=0;i<10;i++)
00172       asciiEvt.decayMode.data[i]=dm[i];
00173   }
00174 } 

void BesAsciiIO::SaveEmcDigits ( EVENT  ) 

Definition at line 511 of file BesAsciiIO.cc.

References EMCDIGI::digiCol, EVENT::emcDigi, BesEmcDigi::GetEnergy(), BesEmcDigi::GetPartId(), BesEmcDigi::GetPhiNb(), BesEmcDigi::GetThetaNb(), BesEmcDigi::GetTime(), BesEmcDigi::GetTrackIndex(), genRecEmupikp::i, ganga-rec::j, m_DigiMan, and EMCDIGI::nDigi.

Referenced by SaveAsciiEvents().

00512 {
00513   G4int emcDigiCollID = -1;
00514   emcDigiCollID = m_DigiMan->GetDigiCollectionID("BesEmcDigitsCollection");
00515   if(emcDigiCollID>=0)
00516   {
00517     BesEmcDigitsCollection* emcDC = (BesEmcDigitsCollection*)m_DigiMan->GetDigiCollection(emcDigiCollID);
00518     G4int nDigi = emcDC->entries();
00519     if(nDigi>0)
00520     {
00521       //arrange digis in digitsCollection in order of trackIndex
00522       BesEmcDigi* digi;
00523       vector<BesEmcDigi*>* vecDC = emcDC->GetVector();
00524       for(int i=0;i<nDigi-1;i++)
00525        for(int j=i+1;j<nDigi;j++)
00526          if((*vecDC)[i]->GetTrackIndex()>(*vecDC)[j]->GetTrackIndex())
00527          {
00528            digi = (*vecDC)[i];
00529            (*vecDC)[i] = (*vecDC)[j];
00530            (*vecDC)[j] = digi;
00531          }
00532       for(int i=0;i<nDigi;i++)
00533       {
00534         EmcDigiType emcData;
00535         digi = (*emcDC)[i];
00536         emcData.trackIndex = digi->GetTrackIndex();
00537         emcData.partId = digi->GetPartId();
00538         emcData.numTheta = digi->GetThetaNb();
00539         emcData.numPhi = digi->GetPhiNb();
00540         emcData.energyDeposit = digi->GetEnergy();
00541         emcData.hitTime = (G4double)digi->GetTime();
00542         asciiEvt.emcDigi.digiCol.push_back(emcData);
00543       }
00544     }
00545   }
00546   asciiEvt.emcDigi.nDigi=asciiEvt.emcDigi.digiCol.size();
00547 }

void BesAsciiIO::SaveEmcHits ( HitEVENT  )  [inline]

Definition at line 70 of file BesAsciiIO.hh.

00070 {};

void BesAsciiIO::SaveEmcTruth ( HitEVENT  )  [inline]

Definition at line 65 of file BesAsciiIO.hh.

00065 {};

void BesAsciiIO::SaveEmcTruth ( EVENT  ) 

Definition at line 350 of file BesAsciiIO.cc.

References EVENT::emcTruth, BesEmcHit::GetEdepCrystal(), BesEmcHit::GetMomentum(), BesEmcHit::GetNumPhiCrystal(), BesEmcHit::GetNumThetaCrystal(), BesEmcHit::GetPartId(), BesEmcHit::GetPosCrystal(), BesEmcHit::GetTrackIndex(), genRecEmupikp::i, ganga-rec::j, m_DigiMan, EMCTRUTH::nTruth, EmcTruthType::numPhi, EmcTruthType::numTheta, EmcTruthType::partId, EmcTruthType::posX, EmcTruthType::posY, EmcTruthType::posZ, EmcTruthType::px, EmcTruthType::py, EmcTruthType::pz, EmcTruthType::totalEdep, EmcTruthType::trackIndex, and EMCTRUTH::truthCol.

Referenced by SaveAsciiEvents().

00351 {
00352   G4int HCID = -1;
00353   HCID = m_DigiMan->GetHitsCollectionID("BesEmcHitsList");
00354   if(HCID>0)
00355   {
00356     BesEmcHitsCollection* HC = 0;
00357     HC = (BesEmcHitsCollection*) (m_DigiMan->GetHitsCollection(HCID));
00358     G4int n_hit = HC->entries();
00359     if(n_hit>0)
00360     {
00361       //arrange hits in hits collection in order of trackIndex
00362       BesEmcHit* hit;
00363       vector<BesEmcHit*>* vecHC = HC->GetVector();
00364       for(int i=0;i<n_hit-1;i++)
00365         for(int j=i+1;j<n_hit;j++)
00366           if((*vecHC)[i]->GetTrackIndex()>(*vecHC)[j]->GetTrackIndex())
00367           {
00368             hit = (*vecHC)[i];
00369             (*vecHC)[i] = (*vecHC)[j];
00370             (*vecHC)[j] = hit;
00371           }
00372       
00373       for(G4int i=0;i<n_hit;i++)
00374       {
00375         hit = (*HC)[i];
00376         EmcTruthType emcTruth;
00377         emcTruth.trackIndex = hit->GetTrackIndex();
00378         emcTruth.partId = hit->GetPartId();
00379         emcTruth.numTheta = hit->GetNumThetaCrystal();
00380         emcTruth.numPhi = hit->GetNumPhiCrystal();
00381         emcTruth.posX = hit->GetPosCrystal().x();
00382         emcTruth.posY = hit->GetPosCrystal().y();
00383         emcTruth.posZ = hit->GetPosCrystal().z();
00384         emcTruth.px = hit->GetMomentum().x();
00385         emcTruth.py = hit->GetMomentum().y();
00386         emcTruth.pz = hit->GetMomentum().z();
00387         emcTruth.totalEdep = hit->GetEdepCrystal();
00388 
00389         asciiEvt.emcTruth.truthCol.push_back(emcTruth);
00390       }
00391     }
00392   }
00393   asciiEvt.emcTruth.nTruth=asciiEvt.emcTruth.truthCol.size();
00394 }

void BesAsciiIO::SaveHitAsciiEvents ( G4int  ,
const G4Event *   
)

Definition at line 577 of file BesAsciiIO.cc.

References HitEVENT::decayMode, EVHEAD::eventNo, AsciiWrongTag::expected(), AsciiWrongTag::got(), HitEVENT::header, m_asciiFile, m_mdcDigiFlag, m_mdcTruFlag, FRMTVERSION::major, HitEVENT::mdcHit, HitEVENT::mdcTruth, FRMTVERSION::minor, EVHEAD::runNo, SaveDecayMode(), SaveMdcHits(), SaveMdcTruth(), SaveTrackTruth(), SaveVertexTruth(), Tagged::set_initialized(), HitEVENT::trackTruth, and HitEVENT::vertexTruth.

Referenced by BesEventAction::EndOfEventAction().

00577                                                                   {
00578   HitEVENT asciiEvt;
00579 
00580   asciiEvt.set_initialized();
00581   asciiEvt.header.set_initialized();
00582   asciiEvt.header.eventNo=evt->GetEventID();
00583   asciiEvt.header.runNo= runId;
00584   asciiEvt.decayMode.set_initialized();
00585   SaveDecayMode(asciiEvt);
00586 
00587   asciiEvt.trackTruth.set_initialized();
00588   asciiEvt.vertexTruth.set_initialized();
00589   SaveTrackTruth(asciiEvt);
00590   SaveVertexTruth(asciiEvt);
00591 
00592   if(m_mdcTruFlag)
00593   {
00594     asciiEvt.mdcTruth.set_initialized();
00595     SaveMdcTruth(asciiEvt);
00596   }
00597 
00598   if(m_mdcDigiFlag)
00599   {
00600     asciiEvt.mdcHit.set_initialized();
00601     SaveMdcHits(asciiEvt);
00602   }  
00603   /*
00604   if(m_tofTruFlag)
00605   {
00606     asciiEvt.tofTruth.set_initialized();
00607     SaveTofTruth(asciiEvt);
00608   }
00609 
00610   if(m_tofDigiFlag)
00611   {
00612     asciiEvt.tofHit.set_initialized();
00613     SaveTofHits(asciiEvt);
00614   }
00615 
00616   if(m_emcTruFlag)
00617   {
00618     asciiEvt.emcTruth.set_initialized();
00619     SaveEmcTruth(asciiEvt);
00620   }
00621 
00622   if(m_emcDigiFlag)
00623   {
00624     asciiEvt.emcHit.set_initialized();
00625     SaveEmcHits(asciiEvt);
00626   }
00627 
00628   if(m_mucTruFlag)
00629   {
00630     asciiEvt.mucTruth.set_initialized();
00631     SaveMucTruth(asciiEvt);
00632   }   
00633 
00634   if(m_mucDigiFlag)
00635   {
00636     asciiEvt.mucHit.set_initialized();
00637     SaveMucHits(asciiEvt);
00638   }
00639   */
00640   ofstream os;
00641   if(evt->GetEventID()==0){
00642     os.open(m_asciiFile);
00643     FRMTVERSION  version;
00644     version.set_initialized();
00645     version.major = 1;
00646     version.minor = 0;
00647     os << version;
00648   }
00649   else
00650     os.open(m_asciiFile,ios::out|ios::app);
00651 
00652   try {
00653       os << asciiEvt;
00654   }catch (AsciiWrongTag& ex) {
00655     std::cerr << "wrong tag, got " << ex.got()
00656               << " expected: " << ex.expected()
00657               << std::endl;
00658   } catch (AsciiDumpException& ) {
00659       std::cerr << "AsciiDumpException was caught!" << std::endl;
00660   }
00661 
00662   os.close();
00663 }

void BesAsciiIO::SaveMdcDigits ( EVENT  ) 

Definition at line 441 of file BesAsciiIO.cc.

References MDCDIGI::digiCol, BesMdcDigi::GetCellNo(), BesMdcDigi::GetDriftT(), BesMdcDigi::GetEdep(), BesMdcDigi::GetLayerNo(), BesMdcDigi::GetTrackID(), genRecEmupikp::i, m_DigiMan, EVENT::mdcDigi, and MDCDIGI::nDigi.

Referenced by SaveAsciiEvents().

00442 {
00443   G4int mdcDigiCollID = -1;
00444   mdcDigiCollID = m_DigiMan->GetDigiCollectionID("BesMdcDigisCollection");
00445   if(mdcDigiCollID>=0){
00446     BesMdcDigisCollection* mdcDC = (BesMdcDigisCollection*)m_DigiMan->GetDigiCollection(mdcDigiCollID);
00447     G4int nDigi = mdcDC->entries();
00448     if(nDigi>0)
00449     {
00450       BesMdcDigi* mdcDigi;
00451       for(int i=0;i<nDigi;i++)
00452       {
00453         MdcDigiType mdcData;
00454         mdcDigi=(*mdcDC)[i];
00455         mdcData.trackIndex    = mdcDigi->GetTrackID();
00456         mdcData.layerNo       = mdcDigi->GetLayerNo();
00457         mdcData.cellNo        = mdcDigi->GetCellNo();
00458         mdcData.energyDeposit = mdcDigi->GetEdep();
00459         mdcData.driftTime     = mdcDigi->GetDriftT();
00460         asciiEvt.mdcDigi.digiCol.push_back(mdcData);
00461       }
00462     }
00463   }
00464   asciiEvt.mdcDigi.nDigi=asciiEvt.mdcDigi.digiCol.size();
00465 }

void BesAsciiIO::SaveMdcHits ( HitEVENT  ) 

Definition at line 816 of file BesAsciiIO.cc.

References BesMdcHit::GetCellNo(), BesMdcHit::GetDriftD(), BesMdcHit::GetEdep(), BesMdcHit::GetEnterAngle(), BesMdcHit::GetGlobalT(), BesMdcHit::GetLayerNo(), BesMdcHit::GetPos(), BesMdcHit::GetPosFlag(), BesMdcHit::GetTheta(), BesMdcHit::GetTrackID(), MDCHIT::hitCol, genRecEmupikp::i, m_DigiMan, HitEVENT::mdcHit, and MDCHIT::nHit.

Referenced by SaveHitAsciiEvents().

00817 {
00818   G4int mdcHitCollID = -1;
00819   mdcHitCollID = m_DigiMan->GetHitsCollectionID("BesMdcHitsCollection");
00820   if(mdcHitCollID>=0)
00821   {
00822     BesMdcHitsCollection* mdcDC = (BesMdcHitsCollection*)m_DigiMan->GetHitsCollection(mdcHitCollID);
00823     G4int nHit = mdcDC->entries();
00824     if(nHit>0)
00825     {
00826       BesMdcHit* mdcHit;
00827       for(int i=0;i<nHit;i++)
00828       {
00829         MdcHitType mdcData;
00830         mdcHit=(*mdcDC)[i];
00831         mdcData.trackIndex    = mdcHit->GetTrackID();
00832         mdcData.layerNo       = mdcHit->GetLayerNo();
00833         mdcData.cellNo        = mdcHit->GetCellNo();
00834         mdcData.posX          = mdcHit->GetPos().x();
00835         mdcData.posY          = mdcHit->GetPos().y();
00836         mdcData.posZ          = mdcHit->GetPos().z();
00837         mdcData.energyDeposit = mdcHit->GetEdep();
00838         mdcData.driftDistance = mdcHit->GetDriftD();
00839         mdcData.globalT       = mdcHit->GetGlobalT();
00840         mdcData.theta         = mdcHit->GetTheta();
00841         mdcData.enterAngle    = mdcHit->GetEnterAngle();
00842         mdcData.posFlag       = mdcHit->GetPosFlag();
00843 
00844         asciiEvt.mdcHit.hitCol.push_back(mdcData);
00845       }
00846     }
00847   }
00848   asciiEvt.mdcHit.nHit=asciiEvt.mdcHit.hitCol.size();
00849 }

void BesAsciiIO::SaveMdcTruth ( HitEVENT  ) 

Definition at line 772 of file BesAsciiIO.cc.

References MdcTruthType::cellNo, MdcTruthType::driftD, MdcTruthType::edep, BesMdcHit::GetCellNo(), BesMdcHit::GetDriftD(), BesMdcHit::GetEdep(), BesMdcHit::GetLayerNo(), BesMdcHit::GetPos(), BesMdcHit::GetPosFlag(), BesMdcHit::GetTrackID(), genRecEmupikp::i, ganga-rec::j, MdcTruthType::layerNo, m_DigiMan, HitEVENT::mdcTruth, MDCTRUTH::nTruth, MdcTruthType::posFlag, MdcTruthType::posX, MdcTruthType::posY, MdcTruthType::posZ, MdcTruthType::trackIndex, and MDCTRUTH::truthCol.

00773 {
00774   G4int HCID = -1;
00775   HCID = m_DigiMan->GetHitsCollectionID("BesMdcTruthCollection");
00776   if(HCID>0)
00777   {
00778     BesMdcHitsCollection* HC = 0;
00779     HC = (BesMdcHitsCollection*) (m_DigiMan->GetHitsCollection(HCID));
00780     G4int n_hit = HC->entries();
00781     if(n_hit>0)
00782     {
00783       //arrange hits in hits collection in order of trackIndex
00784       BesMdcHit* hit;
00785       vector<BesMdcHit*>* vecHC = HC->GetVector();
00786       for(int i=0;i<n_hit-1;i++)
00787        for(int j=i+1;j<n_hit;j++)
00788          if((*vecHC)[i]->GetTrackID()>(*vecHC)[j]->GetTrackID())
00789          {
00790            hit = (*vecHC)[i];
00791            (*vecHC)[i] = (*vecHC)[j];
00792            (*vecHC)[j] = hit;
00793          }
00794 
00795       for(G4int i=0;i<n_hit;i++)
00796       {
00797         hit = (*HC)[i];
00798         MdcTruthType  mdcTruth;
00799         mdcTruth.trackIndex = hit->GetTrackID();
00800         mdcTruth.layerNo    = hit->GetLayerNo();
00801         mdcTruth.cellNo     = hit->GetCellNo();
00802         mdcTruth.edep       = hit->GetEdep();
00803         mdcTruth.driftD     = hit->GetDriftD();
00804         mdcTruth.posX       = hit->GetPos().x();
00805         mdcTruth.posY       = hit->GetPos().y();
00806         mdcTruth.posZ       = hit->GetPos().z();
00807         mdcTruth.posFlag    = hit->GetPosFlag();
00808 
00809         asciiEvt.mdcTruth.truthCol.push_back(mdcTruth);
00810       }
00811     }
00812   }
00813   asciiEvt.mdcTruth.nTruth = asciiEvt.mdcTruth.truthCol.size();
00814 }

void BesAsciiIO::SaveMdcTruth ( EVENT  ) 

Definition at line 260 of file BesAsciiIO.cc.

References MdcTruthType::cellNo, MdcTruthType::driftD, MdcTruthType::edep, BesMdcHit::GetCellNo(), BesMdcHit::GetDriftD(), BesMdcHit::GetEdep(), BesMdcHit::GetLayerNo(), BesMdcHit::GetPos(), BesMdcHit::GetPosFlag(), BesMdcHit::GetTrackID(), genRecEmupikp::i, ganga-rec::j, MdcTruthType::layerNo, m_DigiMan, EVENT::mdcTruth, MDCTRUTH::nTruth, MdcTruthType::posFlag, MdcTruthType::posX, MdcTruthType::posY, MdcTruthType::posZ, MdcTruthType::trackIndex, and MDCTRUTH::truthCol.

Referenced by SaveAsciiEvents(), and SaveHitAsciiEvents().

00261 {
00262   G4int HCID = -1;
00263   HCID = m_DigiMan->GetHitsCollectionID("BesMdcTruthCollection");
00264   if(HCID>0)
00265   {
00266     BesMdcHitsCollection* HC = 0;
00267     HC = (BesMdcHitsCollection*) (m_DigiMan->GetHitsCollection(HCID));
00268     G4int n_hit = HC->entries();
00269     if(n_hit>0)
00270     {
00271       //arrange hits in hits collection in order of trackIndex
00272       BesMdcHit* hit;
00273       vector<BesMdcHit*>* vecHC = HC->GetVector();
00274       for(int i=0;i<n_hit-1;i++)
00275        for(int j=i+1;j<n_hit;j++)
00276          if((*vecHC)[i]->GetTrackID()>(*vecHC)[j]->GetTrackID())
00277          {
00278            hit = (*vecHC)[i];
00279            (*vecHC)[i] = (*vecHC)[j];
00280            (*vecHC)[j] = hit;
00281          }
00282 
00283       for(G4int i=0;i<n_hit;i++)
00284       {
00285         hit = (*HC)[i];
00286         MdcTruthType  mdcTruth;
00287         mdcTruth.trackIndex = hit->GetTrackID();
00288         mdcTruth.layerNo    = hit->GetLayerNo();
00289         mdcTruth.cellNo     = hit->GetCellNo();
00290         mdcTruth.edep       = hit->GetEdep();
00291         mdcTruth.driftD     = hit->GetDriftD();
00292         mdcTruth.posX       = hit->GetPos().x();
00293         mdcTruth.posY       = hit->GetPos().y();
00294         mdcTruth.posZ       = hit->GetPos().z();
00295         mdcTruth.posFlag    = hit->GetPosFlag();
00296 
00297         asciiEvt.mdcTruth.truthCol.push_back(mdcTruth);
00298       }
00299     }
00300   }
00301   asciiEvt.mdcTruth.nTruth = asciiEvt.mdcTruth.truthCol.size();
00302 }

void BesAsciiIO::SaveMucDigits ( EVENT  ) 

Definition at line 549 of file BesAsciiIO.cc.

References MUCDIGI::digiCol, BesMucDigi::GetGapId(), BesMucDigi::GetPartId(), BesMucDigi::GetSegId(), BesMucDigi::GetStripId(), BesMucDigi::GetTrackIndex(), genRecEmupikp::i, m_DigiMan, EVENT::mucDigi, and MUCDIGI::nDigi.

Referenced by SaveAsciiEvents().

00550 {
00551   G4int mucDigiCollID =-1;
00552   mucDigiCollID = m_DigiMan->GetDigiCollectionID("BesMucDigisCollection");
00553   if(mucDigiCollID>=0)
00554   {
00555     BesMucDigisCollection* mucDC = (BesMucDigisCollection*)m_DigiMan->GetDigiCollection(mucDigiCollID);
00556     G4int nDigi = mucDC->entries();
00557     if(nDigi > 0) {
00558       BesMucDigi* mucDigi;
00559       for(int i = 0; i < nDigi; i++)
00560       {
00561         MucDigiType mucData;
00562         mucDigi = (*mucDC)[i];
00563         mucData.trackIndex = mucDigi->GetTrackIndex();
00564         mucData.partNo  = mucDigi->GetPartId();
00565         mucData.segNo   = mucDigi->GetSegId();
00566         mucData.gapNo   = mucDigi->GetGapId();
00567         mucData.stripNo = mucDigi->GetStripId();
00568       
00569         asciiEvt.mucDigi.digiCol.push_back(mucData);
00570       }
00571     }
00572   }
00573   asciiEvt.mucDigi.nDigi=asciiEvt.mucDigi.digiCol.size();
00574 }  

void BesAsciiIO::SaveMucHits ( HitEVENT  )  [inline]

Definition at line 71 of file BesAsciiIO.hh.

00071 {};

void BesAsciiIO::SaveMucTruth ( HitEVENT  )  [inline]

Definition at line 66 of file BesAsciiIO.hh.

00066 {};

void BesAsciiIO::SaveMucTruth ( EVENT  ) 

Definition at line 396 of file BesAsciiIO.cc.

References MucTruthType::gapId, BesMucHit::GetGap(), BesMucHit::GetMomentum(), BesMucHit::GetPart(), BesMucHit::GetPos(), BesMucHit::GetSeg(), BesMucHit::GetStrip(), BesMucHit::GetTrackIndex(), genRecEmupikp::i, ganga-rec::j, m_DigiMan, EVENT::mucTruth, MUCTRUTH::nTruth, MucTruthType::partId, MucTruthType::posX, MucTruthType::posY, MucTruthType::posZ, MucTruthType::px, MucTruthType::py, MucTruthType::pz, MucTruthType::segId, MucTruthType::stripId, MucTruthType::trackIndex, and MUCTRUTH::truthCol.

Referenced by SaveAsciiEvents().

00397 {
00398   G4int HCID = -1;
00399   HCID = m_DigiMan->GetHitsCollectionID("BesMucHitsList");
00400   if(HCID>0)
00401   {
00402     BesMucHitsCollection* HC = 0;
00403     HC = (BesMucHitsCollection*) (m_DigiMan->GetHitsCollection(HCID));
00404     G4int n_hit = HC->entries();
00405     if(n_hit>0)
00406     {
00407       //arrange hits in hits collection in order of trackIndex
00408       BesMucHit* hit;
00409       vector<BesMucHit*>* vecHC = HC->GetVector();
00410       for(int i=0;i<n_hit-1;i++)
00411         for(int j=i+1;j<n_hit;j++)
00412           if((*vecHC)[i]->GetTrackIndex()>(*vecHC)[j]->GetTrackIndex())
00413           {
00414             hit = (*vecHC)[i];
00415             (*vecHC)[i] = (*vecHC)[j];
00416             (*vecHC)[j] = hit;
00417           }
00418 
00419       for(G4int i=0;i<n_hit;i++)
00420       {
00421         hit = (*HC)[i];
00422         MucTruthType mucTruth;
00423         mucTruth.trackIndex = hit->GetTrackIndex();
00424         mucTruth.partId = hit->GetPart();
00425         mucTruth.segId = hit->GetSeg();
00426         mucTruth.gapId = hit->GetGap();
00427         mucTruth.stripId = hit->GetStrip();
00428         mucTruth.posX = hit->GetPos().x();
00429         mucTruth.posY = hit->GetPos().y();
00430         mucTruth.posZ = hit->GetPos().z();
00431         mucTruth.px = hit->GetMomentum().x();
00432         mucTruth.py = hit->GetMomentum().y();
00433         mucTruth.pz = hit->GetMomentum().z();
00434         asciiEvt.mucTruth.truthCol.push_back(mucTruth);
00435       }
00436     }
00437   } 
00438   asciiEvt.mucTruth.nTruth=asciiEvt.mucTruth.truthCol.size();
00439 }

void BesAsciiIO::SaveTofDigits ( EVENT  ) 

Definition at line 468 of file BesAsciiIO.cc.

References TOFDIGI::digiCol, BesTofDigi::GetBackADC(), BesTofDigi::GetBackTDC(), BesTofDigi::GetForwADC(), BesTofDigi::GetForwTDC(), BesTofDigi::GetPartId(), BesTofDigi::GetScinNb(), BesTofDigi::GetTrackIndex(), genRecEmupikp::i, ganga-rec::j, m_DigiMan, TOFDIGI::nDigi, and EVENT::tofDigi.

Referenced by SaveAsciiEvents().

00469 {
00470   
00471   G4int tofDigiCollID = -1;
00472   tofDigiCollID = m_DigiMan->GetDigiCollectionID("BesTofDigitsCollection");
00473   
00474   if(tofDigiCollID>=0)
00475   {
00476     BesTofDigitsCollection* tofDC = (BesTofDigitsCollection*)m_DigiMan->GetDigiCollection(tofDigiCollID);
00477     G4int nDigi = tofDC->entries();
00478     if(nDigi>0)
00479     {
00480       //arrange digis in digitsCollection in order of trackIndex
00481       BesTofDigi* digi;
00482       vector<BesTofDigi*>* vecDC = tofDC->GetVector();
00483       for(int i=0;i<nDigi-1;i++)
00484        for(int j=i+1;j<nDigi;j++)
00485          if((*vecDC)[i]->GetTrackIndex()>(*vecDC)[j]->GetTrackIndex())
00486          {
00487            digi = (*vecDC)[i];
00488            (*vecDC)[i] = (*vecDC)[j];
00489            (*vecDC)[j] = digi;
00490          }
00491       
00492       for(int i=0;i<nDigi;i++)
00493       {
00494         TofDigiType tofData;
00495         digi = (*tofDC)[i];
00496         tofData.trackIndex = digi->GetTrackIndex();
00497         tofData.partId = digi->GetPartId();
00498         tofData.scinNb = digi->GetScinNb();
00499         tofData.forwADC = digi->GetForwADC();
00500         tofData.forwTDC = digi->GetForwTDC();
00501         tofData.backADC = digi->GetBackADC();
00502         tofData.backTDC = digi->GetBackTDC();
00503         
00504         asciiEvt.tofDigi.digiCol.push_back(tofData);
00505       }
00506     }
00507   }
00508   asciiEvt.tofDigi.nDigi=asciiEvt.tofDigi.digiCol.size();
00509 }  

void BesAsciiIO::SaveTofHits ( HitEVENT  )  [inline]

Definition at line 69 of file BesAsciiIO.hh.

00069 {};

void BesAsciiIO::SaveTofTruth ( HitEVENT  )  [inline]

Definition at line 64 of file BesAsciiIO.hh.

00064 {};

void BesAsciiIO::SaveTofTruth ( EVENT  ) 

Definition at line 304 of file BesAsciiIO.cc.

References BesTofHit::GetMomentum(), BesTofHit::GetPartId(), BesTofHit::GetPos(), BesTofHit::GetScinNb(), BesTofHit::GetTime(), BesTofHit::GetTrackIndex(), BesTofHit::GetTrackL(), genRecEmupikp::i, ganga-rec::j, m_DigiMan, TOFTRUTH::nTruth, TofTruthType::partId, TofTruthType::posX, TofTruthType::posY, TofTruthType::posZ, TofTruthType::px, TofTruthType::py, TofTruthType::pz, TofTruthType::scinNb, TofTruthType::time, EVENT::tofTruth, TofTruthType::trackIndex, TofTruthType::trackL, and TOFTRUTH::truthCol.

Referenced by SaveAsciiEvents().

00305 {
00306   G4int HCID = -1;
00307   HCID = m_DigiMan->GetHitsCollectionID("BesTofHitsList");
00308   if(HCID>0)
00309   {
00310     BesTofHitsCollection* HC = 0;
00311     HC = (BesTofHitsCollection*) (m_DigiMan->GetHitsCollection(HCID));
00312     G4int n_hit = HC->entries();
00313     if(n_hit>0)
00314     {
00315       //arrange hits in hits collection in order of trackIndex
00316       BesTofHit* hit;
00317       vector<BesTofHit*>* vecHC = HC->GetVector();
00318       for(int i=0;i<n_hit-1;i++)
00319        for(int j=i+1;j<n_hit;j++)
00320          if((*vecHC)[i]->GetTrackIndex()>(*vecHC)[j]->GetTrackIndex())
00321          {
00322            hit = (*vecHC)[i];
00323            (*vecHC)[i] = (*vecHC)[j];
00324            (*vecHC)[j] = hit;
00325          }
00326 
00327       for(G4int i=0;i<n_hit;i++)
00328       {
00329         hit = (*HC)[i];
00330         TofTruthType  tofTruth;
00331         tofTruth.trackIndex = hit->GetTrackIndex();
00332         tofTruth.partId = hit->GetPartId();
00333         tofTruth.scinNb = hit->GetScinNb();
00334         tofTruth.posX = hit->GetPos().x();
00335         tofTruth.posY = hit->GetPos().y();
00336         tofTruth.posZ = hit->GetPos().z();
00337         tofTruth.px = hit->GetMomentum().x();
00338         tofTruth.py = hit->GetMomentum().y();
00339         tofTruth.pz = hit->GetMomentum().z();
00340         tofTruth.trackL = hit->GetTrackL();
00341         tofTruth.time = hit->GetTime();
00342         
00343         asciiEvt.tofTruth.truthCol.push_back(tofTruth);
00344       }
00345     }
00346   }
00347   asciiEvt.tofTruth.nTruth=asciiEvt.tofTruth.truthCol.size();  
00348 }

void BesAsciiIO::SaveTrackTruth ( HitEVENT  ) 

Definition at line 690 of file BesAsciiIO.cc.

References BesTruthTrack::GetDaughterIndexes(), BesTruthVertex::GetIndex(), BesTruthTrack::GetIndex(), BesTruthTrack::GetP4(), BesTruthTrack::GetPDGCharge(), BesTruthTrack::GetPDGCode(), BesSensitiveManager::GetSensitiveManager(), BesTruthTrack::GetTerminalVertex(), BesSensitiveManager::GetTrackList(), BesTruthTrack::GetVertex(), genRecEmupikp::i, ganga-rec::j, TRACKTRUTH::nTruth, delete_small_size::size, HitEVENT::trackTruth, and TRACKTRUTH::truthCol.

00691 {
00692   
00693   BesSensitiveManager* sensitiveManager = BesSensitiveManager::GetSensitiveManager();
00694   
00695   vector<BesTruthTrack*>* trackList =  sensitiveManager->GetTrackList();
00696   
00697   //arrange TruthTrack in trackList in order of trackIndex
00698   G4int nTrack = trackList->size();
00699   BesTruthTrack* track;
00700   for(int i=0;i<nTrack-1;i++)
00701     for(int j=i+1;j<nTrack;j++)
00702       if((*trackList)[i]->GetIndex()>(*trackList)[j]->GetIndex())
00703       {
00704         track=(*trackList)[i];
00705         (*trackList)[i]=(*trackList)[j];
00706         (*trackList)[j]=track;
00707       }
00708 
00709   for(int i=0;i<nTrack;i++)
00710   {
00711     TrackTruthType trackTruth;
00712     track = (*(sensitiveManager->GetTrackList())) [i];
00713     trackTruth.trackIndex = track->GetIndex();
00714     trackTruth.PDGCode = track->GetPDGCode();
00715     trackTruth.PDGCharge = track->GetPDGCharge();
00716     trackTruth.v0Index = track->GetVertex()->GetIndex();
00717     if( track->GetTerminalVertex() )
00718       trackTruth.v1Index = track->GetTerminalVertex()->GetIndex();
00719     else
00720       trackTruth.v1Index = -99;
00721     trackTruth.px = track->GetP4().x();
00722     trackTruth.py = track->GetP4().y();
00723     trackTruth.pz = track->GetP4().z();
00724     trackTruth.E = track->GetP4().t();
00725 
00726     G4int size = track->GetDaughterIndexes().size();
00727     if(size>0)
00728     { 
00729       trackTruth.minDaughterIndex = (track->GetDaughterIndexes())[0];
00730       trackTruth.maxDaughterIndex = (track->GetDaughterIndexes())[size-1];
00731     }
00732     else 
00733     {
00734       trackTruth.minDaughterIndex = -99;
00735       trackTruth.maxDaughterIndex = -99;
00736     }
00737       
00738     
00739     asciiEvt.trackTruth.truthCol.push_back(trackTruth);
00740   }
00741     
00742   asciiEvt.trackTruth.nTruth=asciiEvt.trackTruth.truthCol.size();
00743 }

void BesAsciiIO::SaveTrackTruth ( EVENT  ) 

Definition at line 176 of file BesAsciiIO.cc.

References BesTruthTrack::GetDaughterIndexes(), BesTruthVertex::GetIndex(), BesTruthTrack::GetIndex(), BesTruthTrack::GetP4(), BesTruthTrack::GetPDGCharge(), BesTruthTrack::GetPDGCode(), BesSensitiveManager::GetSensitiveManager(), BesTruthTrack::GetTerminalVertex(), BesSensitiveManager::GetTrackList(), BesTruthTrack::GetVertex(), genRecEmupikp::i, ganga-rec::j, TRACKTRUTH::nTruth, delete_small_size::size, EVENT::trackTruth, and TRACKTRUTH::truthCol.

Referenced by SaveAsciiEvents(), and SaveHitAsciiEvents().

00177 {
00178   
00179   BesSensitiveManager* sensitiveManager = BesSensitiveManager::GetSensitiveManager();
00180   
00181   vector<BesTruthTrack*>* trackList =  sensitiveManager->GetTrackList();
00182   
00183   //arrange TruthTrack in trackList in order of trackIndex
00184   G4int nTrack = trackList->size();
00185   BesTruthTrack* track;
00186   for(int i=0;i<nTrack-1;i++)
00187     for(int j=i+1;j<nTrack;j++)
00188       if((*trackList)[i]->GetIndex()>(*trackList)[j]->GetIndex())
00189       {
00190         track=(*trackList)[i];
00191         (*trackList)[i]=(*trackList)[j];
00192         (*trackList)[j]=track;
00193       }
00194 
00195   for(int i=0;i<nTrack;i++)
00196   {
00197     TrackTruthType trackTruth;
00198     track = (*(sensitiveManager->GetTrackList())) [i];
00199     trackTruth.trackIndex = track->GetIndex();
00200     if(track->GetIndex()<0)
00201       G4cout<<"trackIndex<0!"<<G4endl; 
00202     trackTruth.PDGCode = track->GetPDGCode();
00203     trackTruth.PDGCharge = track->GetPDGCharge();
00204     trackTruth.v0Index = track->GetVertex()->GetIndex();
00205     if( track->GetTerminalVertex() )
00206       trackTruth.v1Index = track->GetTerminalVertex()->GetIndex();
00207     else
00208       trackTruth.v1Index = -99;
00209     trackTruth.px = track->GetP4().x()/1000.;
00210     trackTruth.py = track->GetP4().y()/1000.;
00211     trackTruth.pz = track->GetP4().z()/1000.;
00212     trackTruth.E = track->GetP4().t()/1000.;
00213 
00214     G4int size = track->GetDaughterIndexes().size();
00215     if(size>0)
00216     { 
00217       trackTruth.minDaughterIndex = (track->GetDaughterIndexes())[0];
00218       trackTruth.maxDaughterIndex = (track->GetDaughterIndexes())[size-1];
00219     }
00220     else 
00221     {
00222       trackTruth.minDaughterIndex = -99;
00223       trackTruth.maxDaughterIndex = -99;
00224     }
00225       
00226     
00227     asciiEvt.trackTruth.truthCol.push_back(trackTruth);
00228   }
00229     
00230   asciiEvt.trackTruth.nTruth=asciiEvt.trackTruth.truthCol.size();
00231 }

void BesAsciiIO::SaveVertexTruth ( HitEVENT  ) 

Definition at line 745 of file BesAsciiIO.cc.

References BesTruthTrack::GetIndex(), BesTruthVertex::GetIndex(), BesTruthVertex::GetParentTrack(), BesTruthVertex::GetPosition(), BesSensitiveManager::GetSensitiveManager(), BesTruthVertex::GetTime(), BesSensitiveManager::GetVertexList(), genRecEmupikp::i, VERTEXTRUTH::nTruth, VERTEXTRUTH::truthCol, and HitEVENT::vertexTruth.

00746 {
00747   BesSensitiveManager* sensitiveManager = BesSensitiveManager::GetSensitiveManager();
00748 
00749   vector<BesTruthVertex*>* vertexList =  sensitiveManager->GetVertexList();
00750   
00751   G4int nVertex = vertexList->size();
00752   BesTruthVertex* vertex;
00753   for(int i=0;i<nVertex;i++)
00754   {
00755     VertexTruthType vertexTruth;
00756     vertex = (*vertexList) [i];
00757     vertexTruth.vertexIndex = vertex->GetIndex();
00758     if(vertex->GetParentTrack())
00759       vertexTruth.parentTrackIndex = vertex->GetParentTrack()->GetIndex();
00760     else
00761       vertexTruth.parentTrackIndex = -99;
00762 
00763     vertexTruth.posX = vertex->GetPosition().x();
00764     vertexTruth.posY = vertex->GetPosition().y();
00765     vertexTruth.posZ = vertex->GetPosition().z();
00766     vertexTruth.time = vertex->GetTime();
00767     asciiEvt.vertexTruth.truthCol.push_back(vertexTruth);
00768   }
00769   asciiEvt.vertexTruth.nTruth = asciiEvt.vertexTruth.truthCol.size();
00770 }

void BesAsciiIO::SaveVertexTruth ( EVENT  ) 

Definition at line 233 of file BesAsciiIO.cc.

References BesTruthTrack::GetIndex(), BesTruthVertex::GetIndex(), BesTruthVertex::GetParentTrack(), BesTruthVertex::GetPosition(), BesSensitiveManager::GetSensitiveManager(), BesTruthVertex::GetTime(), BesSensitiveManager::GetVertexList(), genRecEmupikp::i, VERTEXTRUTH::nTruth, VERTEXTRUTH::truthCol, and EVENT::vertexTruth.

Referenced by SaveAsciiEvents(), and SaveHitAsciiEvents().

00234 {
00235   BesSensitiveManager* sensitiveManager = BesSensitiveManager::GetSensitiveManager();
00236 
00237   vector<BesTruthVertex*>* vertexList =  sensitiveManager->GetVertexList();
00238   
00239   G4int nVertex = vertexList->size();
00240   BesTruthVertex* vertex;
00241   for(int i=0;i<nVertex;i++)
00242   {
00243     VertexTruthType vertexTruth;
00244     vertex = (*vertexList) [i];
00245     vertexTruth.vertexIndex = vertex->GetIndex();
00246     if(vertex->GetParentTrack())
00247       vertexTruth.parentTrackIndex = vertex->GetParentTrack()->GetIndex();
00248     else
00249       vertexTruth.parentTrackIndex = -99;
00250 
00251     vertexTruth.posX = vertex->GetPosition().x()/10.;
00252     vertexTruth.posY = vertex->GetPosition().y()/10.;
00253     vertexTruth.posZ = vertex->GetPosition().z()/10.;
00254     vertexTruth.time = vertex->GetTime();
00255     asciiEvt.vertexTruth.truthCol.push_back(vertexTruth);
00256   }
00257   asciiEvt.vertexTruth.nTruth = asciiEvt.vertexTruth.truthCol.size();
00258 }

void BesAsciiIO::SetAsciiFile ( G4String  name  )  [inline]

Definition at line 39 of file BesAsciiIO.hh.

References m_asciiFile.

00039 {m_asciiFile=name;}

void BesAsciiIO::SetEmcDigiFlag ( G4int  flag  )  [inline]

Definition at line 37 of file BesAsciiIO.hh.

References m_emcDigiFlag.

void BesAsciiIO::SetEmcTruFlag ( G4int  flag  )  [inline]

Definition at line 32 of file BesAsciiIO.hh.

References m_emcTruFlag.

00032 {m_emcTruFlag=flag;}

void BesAsciiIO::SetMdcDigiFlag ( G4int  flag  )  [inline]

Definition at line 35 of file BesAsciiIO.hh.

References m_mdcDigiFlag.

void BesAsciiIO::SetMdcTruFlag ( G4int  flag  )  [inline]

Definition at line 30 of file BesAsciiIO.hh.

References m_mdcTruFlag.

00030 {m_mdcTruFlag=flag;}

void BesAsciiIO::SetMucDigiFlag ( G4int  flag  )  [inline]

Definition at line 38 of file BesAsciiIO.hh.

References m_mucDigiFlag.

void BesAsciiIO::SetMucTruFlag ( G4int  flag  )  [inline]

Definition at line 33 of file BesAsciiIO.hh.

References m_mucTruFlag.

00033 {m_mucTruFlag=flag;}

void BesAsciiIO::SetTofDigiFlag ( G4int  flag  )  [inline]

Definition at line 36 of file BesAsciiIO.hh.

References m_tofDigiFlag.

void BesAsciiIO::SetTofTruFlag ( G4int  flag  )  [inline]

Definition at line 31 of file BesAsciiIO.hh.

References m_tofTruFlag.

00031 {m_tofTruFlag=flag;}


Member Data Documentation

G4String BesAsciiIO::m_asciiFile [private]

Definition at line 83 of file BesAsciiIO.hh.

Referenced by SaveAsciiEvents(), SaveHitAsciiEvents(), and SetAsciiFile().

G4DigiManager* BesAsciiIO::m_DigiMan [private]

Definition at line 85 of file BesAsciiIO.hh.

Referenced by BesAsciiIO(), SaveEmcDigits(), SaveEmcTruth(), SaveMdcDigits(), SaveMdcHits(), SaveMdcTruth(), SaveMucDigits(), SaveMucTruth(), SaveTofDigits(), and SaveTofTruth().

G4int BesAsciiIO::m_emcDigiFlag [private]

Definition at line 80 of file BesAsciiIO.hh.

Referenced by SaveAsciiEvents(), and SetEmcDigiFlag().

G4int BesAsciiIO::m_emcTruFlag [private]

Definition at line 79 of file BesAsciiIO.hh.

Referenced by SaveAsciiEvents(), and SetEmcTruFlag().

G4int BesAsciiIO::m_mdcDigiFlag [private]

Definition at line 76 of file BesAsciiIO.hh.

Referenced by SaveAsciiEvents(), SaveHitAsciiEvents(), and SetMdcDigiFlag().

G4int BesAsciiIO::m_mdcTruFlag [private]

Definition at line 71 of file BesAsciiIO.hh.

Referenced by SaveAsciiEvents(), SaveHitAsciiEvents(), and SetMdcTruFlag().

G4int BesAsciiIO::m_mucDigiFlag [private]

Definition at line 82 of file BesAsciiIO.hh.

Referenced by SaveAsciiEvents(), and SetMucDigiFlag().

G4int BesAsciiIO::m_mucTruFlag [private]

Definition at line 81 of file BesAsciiIO.hh.

Referenced by SaveAsciiEvents(), and SetMucTruFlag().

G4int BesAsciiIO::m_tofDigiFlag [private]

Definition at line 78 of file BesAsciiIO.hh.

Referenced by SaveAsciiEvents(), and SetTofDigiFlag().

G4int BesAsciiIO::m_tofTruFlag [private]

Definition at line 77 of file BesAsciiIO.hh.

Referenced by SaveAsciiEvents(), and SetTofTruFlag().


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