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