]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliLoader.h
added additional protection against usage of custom QA data objects in Ref (see also...
[u/mrichter/AliRoot.git] / STEER / AliLoader.h
index 1096168daae46abb6e8e49da244fcd4dbdba169e..d967bee6b2810900c97ec8eb6fc2560daa916678 100644 (file)
@@ -1,19 +1,20 @@
 #ifndef ALILOADER_H
 #define ALILOADER_H
 
+class TDirectory;
+class TFile;
+class TString;
+class TTask;
+class TTree;
+
 #include <TFolder.h>
 #include <TObjArray.h>
 
-//#include <AliConfig.h>
-#include "AliDataLoader.h"
-
-class TString;
-class TFile;
-class TTree;
-class TTask;
-class AliRunLoader;
 class AliDigitizer;
-class TDirectory;
+class AliRunLoader;
+
+#include "AliDataLoader.h"
+#include "AliTaskLoader.h"
 
 
 //___________________________________________________________________
@@ -34,8 +35,6 @@ class AliLoader: public TNamed
     AliLoader();
     AliLoader(const Char_t *detname,const Char_t *eventfoldername); //contructor with name of the top folder of the tree
     AliLoader(const Char_t *detname,TFolder* eventfolder);
-    AliLoader(const AliLoader& source); //copy constructor
-    AliLoader& operator=(const AliLoader& source); //assignment operator
 
     virtual ~AliLoader();//----------------- 
  
@@ -60,6 +59,7 @@ class AliLoader: public TNamed
     AliDataLoader* GetRecParticlesDataLoader()const {return (AliDataLoader*)fDataLoaders->At(kRecParticles);}
  
     AliDataLoader* GetDataLoader(const char* name);
+    void           AddDataLoader(AliDataLoader* dl);
         
     
     Int_t          SetEventFolder(TFolder* eventfolder);//sets the event folder
@@ -127,62 +127,62 @@ class AliLoader: public TNamed
     TTree*         TreeP() const
       {return GetRecParticlesDataLoader()->Tree();} //returns the tree from folder; shortcut method
 
-    virtual Int_t  LoadHits(Option_t* opt=""){
+    Int_t          LoadHits(Option_t* opt=""){
       Int_t status = GetHitsDataLoader()->Load(opt);
       SetTAddrInDet();
       return status;
     }
-    virtual Int_t  LoadSDigits(Option_t* opt=""){
+    Int_t          LoadSDigits(Option_t* opt=""){
       Int_t status = GetSDigitsDataLoader()->Load(opt);
       SetTAddrInDet();
       return status;
     }
-    virtual Int_t  LoadDigits(Option_t* opt=""){
+    Int_t          LoadDigits(Option_t* opt=""){
       Int_t status = GetDigitsDataLoader()->Load(opt);
       SetTAddrInDet();
       return status;
     }
     
 
-    virtual Int_t  LoadRecPoints(Option_t* opt="") {
+    Int_t          LoadRecPoints(Option_t* opt="") {
       Int_t status = GetRecPointsDataLoader()->Load(opt);
       SetTAddrInDet();
       return status;
     }
-    virtual Int_t  LoadTracks(Option_t* opt="") {
+    Int_t          LoadTracks(Option_t* opt="") {
       Int_t status = GetTracksDataLoader()->Load(opt);
       SetTAddrInDet();
       return status;
     }
-    virtual Int_t  LoadRecParticles(Option_t* opt="") {
+    Int_t          LoadRecParticles(Option_t* opt="") {
       Int_t status = GetRecParticlesDataLoader()->Load(opt);
       SetTAddrInDet();
       return status;
     }
     
-    virtual Int_t  LoadSDigitizer(Option_t* opt="") const {
+    Int_t          LoadSDigitizer(Option_t* opt="") const {
       return GetSDigitsDataLoader()->GetBaseTaskLoader()->Load(opt);
     }
-    virtual Int_t  LoadDigitizer(Option_t* opt="") const {
+    Int_t          LoadDigitizer(Option_t* opt="") const {
       return GetDigitsDataLoader()->GetBaseTaskLoader()->Load(opt);
     }
-    virtual Int_t  LoadReconstructioner(Option_t* opt="") const {
+    Int_t          LoadReconstructioner(Option_t* opt="") const {
       return GetRecPointsDataLoader()->GetBaseTaskLoader()->Load(opt);
     }
-    virtual Int_t  LoadTracker(Option_t* opt="") const {
+    Int_t          LoadTracker(Option_t* opt="") const {
       return GetTracksDataLoader()->GetBaseTaskLoader()->Load(opt);
     }
-    virtual Int_t  LoadPIDTask(Option_t* opt="") const {
+    Int_t          LoadPIDTask(Option_t* opt="") const {
       return GetRecParticlesDataLoader()->GetBaseTaskLoader()->Load(opt);
     }
 
-    virtual void   UnloadHits() const {GetHitsDataLoader()->Unload();}
-    virtual void   UnloadSDigits() const {GetSDigitsDataLoader()->Unload();}
-    virtual void   UnloadDigits() const {GetDigitsDataLoader()->Unload();}
-    virtual void   UnloadRecPoints() const{GetRecPointsDataLoader()->Unload();}
-    virtual void   UnloadTracks() const {GetTracksDataLoader()->Unload();}
-    virtual void   UnloadRecParticles() const {GetRecParticlesDataLoader()->Unload();}
-    virtual void   UnloadAll();
+    void           UnloadHits() const {GetHitsDataLoader()->Unload();}
+    void           UnloadSDigits() const {GetSDigitsDataLoader()->Unload();}
+    void           UnloadDigits() const {GetDigitsDataLoader()->Unload();}
+    void           UnloadRecPoints() const{GetRecPointsDataLoader()->Unload();}
+    void           UnloadTracks() const {GetTracksDataLoader()->Unload();}
+    void           UnloadRecParticles() const {GetRecParticlesDataLoader()->Unload();}
+    void           UnloadAll();
 
     virtual Int_t  ReloadHits() const {return GetHitsDataLoader()->Reload();}  //unload and load again Hits
     virtual Int_t  ReloadSDigits() const {return GetSDigitsDataLoader()->Reload();} //unload and load again 
@@ -294,8 +294,7 @@ class AliLoader: public TNamed
     static Bool_t      TestFileOption(Option_t* opt);//checks is file is created from scratch
     static Bool_t      IsOptionWritable(const TString& opt);
     
-    static Int_t GetDebug() {return fgDebug;}
-    static void        SetDebug(Int_t deb = 1){fgDebug = deb;}//Sets debugging information
+    static void        SetDebug(Int_t deb = 1);//Sets debugging information
     
    protected:
 
@@ -332,7 +331,7 @@ class AliLoader: public TNamed
     TObject*      GetDetectorData(const char* name){return GetDetectorDataFolder()->FindObject(name);}
     TObject**     GetDetectorDataRef(TObject* obj);
     
-    void InitDefaults();
+    virtual void InitDefaults();
     void ResetDataInfo();
     
     void SetTAddrInDet();//Call SetTreeAddress for corresponding detector
@@ -370,8 +369,8 @@ class AliLoader: public TNamed
    private:
     //descendant classes should
     //use protected interface methods to access these folders
-
-    static Int_t       fgDebug; //debug flag for loaders
+    AliLoader(const AliLoader&); //Not implemented
+    AliLoader& operator=(const AliLoader&); //Not implemented
 
     ClassDef(AliLoader,2)
  };