GGS(GenericGEANT4Simulation)Software  2.7.0
 All Data Structures Namespaces Files Functions Variables Typedefs Macros
GGSFileManager.h
1 /*
2  * GGSFileManager.h
3  *
4  * Created on: 16 Mar 2017
5  * Author: Valerio Formato
6  */
7 
8 /*
9  * A simple class to store event(file)-related data and to handle event-switch
10  */
11 
12 // GGS headers
13 #include "montecarlo/readers/GGSTHadrIntReader.h" // Sub-reader for hadronic interaction point
14 #include "montecarlo/readers/GGSTHitsReader.h" // Sub-reader for hits
15 #include "montecarlo/readers/GGSTMCTruthReader.h" // Sub-reader for MC truth
16 #include "montecarlo/readers/GGSTRootReader.h" // Container for sub-readers
17 #include "utils/GGSSmartLog.h"
18 
19 #include "application/event/InteractionTree.h"
20 
21 #ifndef _GGSFILEMANAGER_
22 #define _GGSFILEMANAGER_
23 
25 
26 public:
28  virtual ~GGSFileManager();
29 
30  UInt_t GetNevent() { return _currEvent; };
31  std::vector<TString> GetDetList() { return _detList; };
32  void ReadEvent(int iev = -1, bool force = false);
33  void PrevEvent();
34  void NextEvent();
35  void Load(TString fileName);
36  bool FileIsLoaded() { return _fileLoaded; };
37 
38  GGSTHitsReader *GetHitsReader() { return _Reader; };
39  GGSTMCTruthReader *GetMCTruthReader() { return _MCTruthReader; };
40  InteractionTree<GGSTPartHit *> *GetInteractionTree() { return _pTree; };
41 
42 private:
43  void BuildInteractionTree();
44 
45  int _currEvent;
46  bool _fileLoaded;
47  std::vector<TString> _detList;
48 
50 
51  GGSTHitsReader *_Reader;
52  GGSTMCTruthReader *_MCTruthReader;
53 };
54 
55 #endif
Class for reading output of GGSHitsAction.
Class to manage ROOT output readers.
Class for reading output of GGSMCTruthAction.