X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=blobdiff_plain;f=STEER%2FAliDataLoader.h;h=701fdb3cafabf6d9b1105c6b6e7bb29ce0e57552;hp=e04db605b4a1655c3d6dec7a2e8fbe3798a99f0e;hb=5772083dfa2ae4ad9cd3b9546609e00405b74d1f;hpb=d1898505ba697be964771051e18a8db4efe9beaf diff --git a/STEER/AliDataLoader.h b/STEER/AliDataLoader.h index e04db605b4a..701fdb3cafa 100644 --- a/STEER/AliDataLoader.h +++ b/STEER/AliDataLoader.h @@ -15,26 +15,29 @@ // // // // //////////////////////////////////////////// + +#include #include #include -#include #include -#include - -class AliLoader; +#include class TFile; class TFolder; -class AliRunLoader; + class AliBaseLoader; +class AliLoader; class AliObjectLoader; -class AliTreeLoader; +class AliRunLoader; class AliTaskLoader; +class AliTreeLoader; class AliDataLoader: public TNamed { public: AliDataLoader(); AliDataLoader(const char* filename, const char* contname, const char* name, Option_t* opt = "t"); + AliDataLoader(const AliDataLoader& source); + AliDataLoader& operator=(const AliDataLoader& source); virtual ~AliDataLoader(); virtual Int_t SetEvent(); @@ -59,7 +62,7 @@ class AliDataLoader: public TNamed const TString& GetFileOption() const {return fFileOption;} const Int_t& GetCompressionLevel() const {return fCompressionLevel;} - Bool_t cd(){return (fDirectory)?fDirectory->cd():kFALSE;} + Bool_t Cd(){return (fDirectory)?fDirectory->cd():kFALSE;} virtual void SetFileName(const TString& filename){fFileName = filename;} virtual void SetFileOption(const Option_t* fileopt); @@ -96,6 +99,9 @@ class AliDataLoader: public TNamed Bool_t IsFileWritable() const; Bool_t IsFileOpen() const; Bool_t IsOptionContrary(const TString& option) const; + + void Synchronize(); + protected: Int_t GetDebug() const; AliRunLoader* GetRunLoader();//gets the run-loader from event folder @@ -116,7 +122,6 @@ class AliDataLoader: public TNamed TFolder* fEventFolder;//!event folder TFolder* fFolder;//! folder with data - public: ClassDef(AliDataLoader,1) }; @@ -135,6 +140,8 @@ class AliBaseLoader: public TNamed public: AliBaseLoader(); AliBaseLoader(const TString& name, AliDataLoader* dl, Bool_t storeontop = kFALSE); + AliBaseLoader(const AliBaseLoader& source); + AliBaseLoader& operator=(const AliBaseLoader& source); virtual ~AliBaseLoader(){}; @@ -143,16 +150,17 @@ class AliBaseLoader: public TNamed virtual Int_t Reload(); virtual Int_t WriteData(Option_t* opt=""); virtual void Clean(); - virtual Int_t Post(); - virtual Int_t Post(TObject* data); + virtual Int_t Post();//Takes from file and sends to proper TFolder (Data Folder) + virtual Int_t Post(TObject* data);//Sends to proper TFolder (Data Folder) virtual TObject* Get() const = 0; Bool_t IsLoaded()const{return fIsLoaded;} void SetDataLoader(AliDataLoader* dl){fDataLoader = dl;} void SetEventFolder(TFolder* /*ef*/){;} void SetDoNotReload(Bool_t flag){fDoNotReload = flag;} Bool_t DoNotReload() const {return fDoNotReload;} - TDirectory* GetDirectory();//returns pointer to directory where data are stored. - TObject* GetFromDirectory(const char *name){return (GetDirectory())?GetDirectory()->Get(name):0x0;} + TDirectory* GetDirectory() const;//returns pointer to directory where data are stored. + TObject* GetFromDirectory(const char *name) const + {return (GetDirectory())?GetDirectory()->Get(name):0x0;} protected: virtual Int_t AddToBoard(TObject* obj) = 0;//add to white board - board can be TTask or TFolder @@ -188,6 +196,8 @@ class AliObjectLoader: public AliBaseLoader public: AliObjectLoader(){}; AliObjectLoader(const TString& name, AliDataLoader* dl, Bool_t storeontop = kFALSE); + AliObjectLoader(const AliObjectLoader& source); + AliObjectLoader& operator=(const AliObjectLoader& source); virtual ~AliObjectLoader(){}; TObject* Get() const; @@ -213,6 +223,8 @@ class AliTreeLoader: public AliObjectLoader public: AliTreeLoader(){}; AliTreeLoader(const TString& name, AliDataLoader* dl, Bool_t storeontop = kFALSE); + AliTreeLoader(const AliTreeLoader& source); + AliTreeLoader& operator=(const AliTreeLoader& source); virtual ~AliTreeLoader(){}; virtual TTree* Tree() const {return dynamic_cast(Get());} @@ -235,10 +247,13 @@ class AliTaskLoader: public AliBaseLoader public: AliTaskLoader():fParentalTask(0x0){}; AliTaskLoader(const TString& name, AliDataLoader* dl, TTask* parentaltask, Bool_t storeontop = kFALSE); + AliTaskLoader(const AliTaskLoader& source); + AliTaskLoader& operator=(const AliTaskLoader& source); virtual ~AliTaskLoader(){}; TObject* Get() const; virtual TTask* Task() const {return dynamic_cast(Get());} + virtual void Clean(); protected: Int_t AddToBoard(TObject* obj); @@ -246,7 +261,7 @@ class AliTaskLoader: public AliBaseLoader TTask* GetParentalTask() const; private: - TTask* fParentalTask; + TTask* fParentalTask; // Parental task ClassDef(AliTaskLoader,1) };