// $Id: SimuRootFileManager.hh,v 1.2 2005/10/26 14:22:51 thea Exp $ // Author: A.Thea Jun, 29 2004 /***************************************************************************** * ESAF: Euso Simulation and Analysis Framework * * * * Id: SimuRootFileManager * * Package: Gui * * Coordinator: Alessandro.Thea, Marco.Pallavicini * * * *****************************************************************************/ #ifndef __SIMUROOTFILEMANAGER_HH_ #define __SIMUROOTFILEMANAGER_HH_ #include "euso.hh" #include "TString.h" #include "TRef.h" #include "TFile.h" #include "EsafConfigurable.hh" class TTree; class EEvent; class ERunParameters; //////////////////////////////////////////////////////////////////////////////// // // // SimuRootfileManager // // // // Simulation rootfile manager // // // //////////////////////////////////////////////////////////////////////////////// class SimuRootFileManager: public EsafConfigurable, public EsafMsgSource { public: SimuRootFileManager(); virtual ~SimuRootFileManager(); virtual Bool_t Build(); virtual void Clear(); virtual Bool_t Open( const char* = 0 ); virtual Bool_t Open( const string& ); virtual Bool_t Close(); inline TFile *GetFile() { return fFile; } inline EEvent *GetEvent() { return fEvent; } inline ERunParameters *GetRunPars() { return fRunPars; } Int_t FillEvent(); void ResetRunPars(); void LockEvent(); void UnlockEvent(); Bool_t IsEventLocked() {return kFALSE;} private: // events to handle EEvent *fEvent; ERunParameters *fRunPars; // trees TTree *fTree; TRef fRunParsRef; TFile *fFile; TString fFileName; Long64_t fMaxFileSize; Int_t fFileNumber; UInt_t fEventBranches; Bool_t fDetectorPhotonFillable; Bool_t fDetectorNightGlowFillable; Bool_t fNightGlowFillable; EsafConfigClass(General,SimuRootFileManager) ClassDef(SimuRootFileManager,0) }; inline Bool_t SimuRootFileManager::Open( const string& name ) { return Open(name.c_str()); } #endif /* __SIMUROOTFILEMANAGER_HH_ */