Andreas's improvement of support
[u/mrichter/AliRoot.git] / START / AliSTARTLoader.h
1 #ifndef ALISTARTLOADER_H
2 #define ALISTARTLOADER_H
3
4 #include <AliLoader.h>
5 #include "AliDataLoader.h"
6 #include "AliSTARTdigit.h"
7 #include "AliSTARTvertex.h"
8 class AliSTART;
9 class AliSTARTLoader: public AliLoader
10  {
11  public:
12    AliSTARTLoader(){};
13    AliSTARTLoader(const Char_t *name,const Char_t *topfoldername);
14    AliSTARTLoader(const Char_t *name,TFolder *topfolder);
15    
16    virtual ~AliSTARTLoader();
17    // Digits
18    virtual void   CleanDigits() {fDigitsDataLoader.GetBaseDataLoader()->Clean();}
19    Int_t          LoadDigits(Option_t* opt=""){return fDigitsDataLoader.GetBaseDataLoader()->Load(opt);}
20    
21    void           UnloadDigits(){fDigitsDataLoader.GetBaseDataLoader()->Unload();}
22    virtual Int_t  WriteDigits(Option_t* opt=""){return fDigitsDataLoader.GetBaseDataLoader()->WriteData(opt);}
23    virtual Int_t PostDigits(AliSTARTdigit *dgt){return fDigitsDataLoader.GetBaseDataLoader()->Post(dgt);}
24    
25    TObject*  Digits(){ return fDigitsDataLoader.GetBaseDataLoader()->Get();} // returns a pointer to the tree of  RawClusters
26    
27    
28    //Vertices
29    virtual void   CleanRecPoints() {fVertexDataLoader.GetBaseDataLoader()->Clean();}
30    Int_t          LoadRecPoints(Option_t* opt=""){return fVertexDataLoader.GetBaseDataLoader()->Load(opt);}
31    void           UnloadRecPoints(){fVertexDataLoader.GetBaseDataLoader()->Unload();}
32    virtual Int_t  WriteRecPoints(Option_t* opt=""){return fVertexDataLoader.GetBaseDataLoader()->WriteData(opt);}
33    //  AliSTARTVertex *GetVertex(){return static_cast <AliSTARTVertex*>(fVertexDataLoader.GetBaseDataLoader()->Get());}
34    virtual Int_t PostRecPoints(AliSTARTvertex *vrt){return fVertexDataLoader.GetBaseDataLoader()->Post(vrt);}
35    //  TObject*  Vertex(){ return fVertexDataLoader.GetBaseDataLoader()->Get();} // returns a pointer to the tree of  RawClusters
36    
37    protected:
38    // methods
39    
40    Int_t     PostDigits(){return fDigitsDataLoader.GetBaseDataLoader()->Post();}
41    Int_t     PostRecPoints(){return fVertexDataLoader.GetBaseDataLoader()->Post();}
42    
43
44    // DATA
45    AliDataLoader fDigitsDataLoader; //digits loader
46    
47    AliDataLoader fVertexDataLoader;  // RecPoints (vertex position) loader
48    
49  public:
50    ClassDef(AliSTARTLoader,1)
51       };
52  
53 #endif
54
55
56