]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/STEERBase/AliMCEventHandler.h
Merge branch 'master' into TPCdev
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliMCEventHandler.h
index c10d47d9285ad9c7a12d0b18745c27fb0d438e28..65ceececf49dc2f2fd7ee3a37f5b104fa7892bf4 100644 (file)
@@ -22,6 +22,7 @@
 class TFile;
 class TTree;
 class TList;
+class TTreeCache;
 
 class TParticle;
 class TString;
@@ -42,7 +43,7 @@ public:
     AliMCEventHandler(const char* name, const char* title);
     virtual ~AliMCEventHandler();
     virtual void         SetOutputFileName(const char* /* fname */) {;}
-    virtual const char*  GetOutputFileName() {return 0;}
+    virtual const char*  GetOutputFileName() const {return 0;}
     virtual void         SetInputPath(const char* fname); 
     virtual void         SetInputTree(TTree* /*tree*/) {;}
     virtual TString*     GetInputPath() const {return fPathName;}
@@ -58,10 +59,11 @@ public:
     virtual Bool_t       TerminateIO();
     virtual void         ResetIO();
     virtual Bool_t       LoadEvent(Int_t iev);
-    virtual void         SetReadTR(Bool_t flag) { fReadTR = flag; }
+    virtual void         SetReadTR(Bool_t flag) { Changed(); fReadTR = flag; }
     virtual void         AddSubsidiaryHandler(AliMCEventHandler* handler);
     virtual void         SetNumberOfEventsInContainer(Int_t nev) {fEventsInContainer = nev;}
-    virtual void         SetPreReadMode(PreReadMode_t mode) {fPreReadMode = mode;}
+    virtual void         SetPreReadMode(PreReadMode_t mode) {Changed(); fPreReadMode = mode;}
+    virtual void         SetCacheSize(Long64_t size) {if (fCacheSize==0) fCacheSize = size;}
     //
     AliMCEvent* MCEvent() const {return fMCEvent;}
     TTree*      TreeTR()  const {return fTreeTR;}
@@ -104,8 +106,11 @@ private:
     TList                 *fSubsidiaryHandlers; //! List of subsidiary MC handlers (for example for Background)
     Int_t                  fEventsInContainer;  //! Number of events in container class
     PreReadMode_t          fPreReadMode;        // Pre reading mode
+    Long64_t               fCacheSize;          // Cache size for kinematics tree
+    TTreeCache            *fCacheTK;            //! Cache for kinematics tree
+    TTreeCache            *fCacheTR;            //! Cache for track references tree
     
-    ClassDef(AliMCEventHandler,2)  //MC Truth EventHandler class
+    ClassDef(AliMCEventHandler,3)  //MC Truth EventHandler class
 };
 #endif