#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"
//___________________________________________________________________
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();//-----------------
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
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
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:
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
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)
};