00001
00006
00012
00013 #ifndef BesAsciiIO_h
00014 #define BesAsciiIO_h 1
00015
00016 #include "G4Event.hh"
00017 #include "AsciiDmp/AsciiData.hh"
00018
00019 class BesEventAction;
00020 class G4DigiManager;
00021
00022 class BesAsciiIO
00023 {
00024 public:
00025 BesAsciiIO(G4int, G4int, G4int, G4int,
00026 G4int, G4int ,G4int, G4int, G4String) ;
00027 ~BesAsciiIO();
00028
00029 public:
00030 void SetMdcTruFlag(G4int flag) {m_mdcTruFlag=flag;}
00031 void SetTofTruFlag(G4int flag) {m_tofTruFlag=flag;}
00032 void SetEmcTruFlag(G4int flag) {m_emcTruFlag=flag;}
00033 void SetMucTruFlag(G4int flag) {m_mucTruFlag=flag;}
00034
00035 void SetMdcDigiFlag(G4int flag) {m_mdcDigiFlag=flag;}
00036 void SetTofDigiFlag(G4int flag) {m_tofDigiFlag=flag;}
00037 void SetEmcDigiFlag(G4int flag) {m_emcDigiFlag=flag;}
00038 void SetMucDigiFlag(G4int flag) {m_mucDigiFlag=flag;}
00039 void SetAsciiFile(G4String name) {m_asciiFile=name;}
00040
00041 void SaveAsciiEvents(G4int, const G4Event*);
00042
00043 void SaveDecayMode(EVENT& );
00044 void SaveTrackTruth( EVENT& );
00045 void SaveVertexTruth( EVENT& );
00046 void SaveMdcTruth( EVENT& );
00047 void SaveTofTruth( EVENT& );
00048 void SaveEmcTruth( EVENT& );
00049 void SaveMucTruth( EVENT& );
00050
00051 void SaveMdcDigits( EVENT& );
00052 void SaveTofDigits( EVENT& );
00053 void SaveEmcDigits( EVENT& );
00054 void SaveMucDigits( EVENT& );
00055
00056
00057
00058 void SaveHitAsciiEvents(G4int, const G4Event*);
00059
00060 void SaveDecayMode(HitEVENT& );
00061 void SaveTrackTruth( HitEVENT& );
00062 void SaveVertexTruth( HitEVENT& );
00063 void SaveMdcTruth( HitEVENT& );
00064 void SaveTofTruth( HitEVENT& ) {};
00065 void SaveEmcTruth( HitEVENT& ) {};
00066 void SaveMucTruth( HitEVENT& ) {};
00067
00068 void SaveMdcHits( HitEVENT& );
00069 void SaveTofHits( HitEVENT& ) {};
00070 void SaveEmcHits( HitEVENT& ) {};
00071 void SaveMucHits( HitEVENT& ) {};
00072
00073 private:
00074
00075 G4int m_mdcTruFlag;
00076 G4int m_mdcDigiFlag;
00077 G4int m_tofTruFlag;
00078 G4int m_tofDigiFlag;
00079 G4int m_emcTruFlag;
00080 G4int m_emcDigiFlag;
00081 G4int m_mucTruFlag;
00082 G4int m_mucDigiFlag;
00083 G4String m_asciiFile;
00084
00085 G4DigiManager* m_DigiMan;
00086 };
00087
00088 #endif