00001 //---------------------------------------------------------------------------// 00006 00012 00013 #ifndef BesTuningIO_h 00014 #define BesTuningIO_h 1 00015 00016 #include "AsciiDmp/AsciiData.hh" 00017 #include <iostream> 00018 #include <fstream> 00019 #include "TFile.h" 00020 #include "TTree.h" 00021 #include "TChain.h" 00022 #include <vector> 00023 00024 class G4DigiManager; 00025 00026 class BesTuningIO 00027 { 00028 public: 00029 BesTuningIO(std::vector<std::string>) ; 00030 ~BesTuningIO(); 00031 00032 public: 00033 00034 void GetNextEvents(void); 00035 00036 void GetMdcHits(void); 00037 void GetTofHits(void) {}; 00038 void GetEmcDigi(void); 00039 void GetMucHits(void) {}; 00040 00041 00042 TFile *f; 00043 TTree *HitTree; 00044 TChain *HitChain; 00045 void GetRootEvent(int evtID); 00046 void GetMdcRootHits(); 00047 void GetTofRootHits(); 00048 void GetEmcRootDigi(); 00049 00050 private: 00051 00052 std::vector<std::string> m_tuningFile; 00053 std::ifstream* m_inputFileStream; 00054 FRMTVERSION m_version; // version numbers 00055 HitEVENT* m_evt; 00056 G4DigiManager* m_DigiMan; 00057 00058 const TMcHitEvent* m_TMcHitEvent; 00059 const TMcHitTof* m_TMcHitTof; 00060 const TMcHitMdc* m_TMcHitMdc; 00061 const TMcDigiEmc* m_TMcDigiEmc; 00062 00063 private: 00064 G4int trackIndex ; 00065 G4int layerNo ; 00066 G4int cellNo ; 00067 G4double posX ; 00068 G4double posY ; 00069 G4double posZ ; 00070 G4double energyDeposit ; 00071 G4double driftDistance ; 00072 G4double globalT ; 00073 G4double theta ; 00074 G4double enterAngle ; 00075 G4double posFlag ; 00076 00077 }; 00078 00079 #endif