]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ANALYSIS/AliAnalysisRLContainer.h
added stuff
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisRLContainer.h
1 #ifndef ALIANALYSISRLCONTAINER_H
2 #define ALIANALYSISRLCONTAINER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7 // Author: Andrei Gheata, 31/05/2006
8
9 //==============================================================================
10 //   AliAnalysysRLContainer - Special container working with AliRunLoader
11 //        with trees
12 //==============================================================================
13
14 #ifndef ALIANALYSISDATQCONTAINER_H
15 #include "AliAnalysisDataContainer.h"
16 #endif
17
18 class TFile;
19 class TTree;
20 class AliRunLoader;
21 class AliHeader;
22 class AliStack;
23
24 class AliAnalysisRLContainer : public AliAnalysisDataContainer {
25
26 public:
27    AliAnalysisRLContainer();
28    AliAnalysisRLContainer(const char *name);
29    AliAnalysisRLContainer(const AliAnalysisRLContainer &rlc);
30    virtual ~AliAnalysisRLContainer();
31    
32    AliAnalysisRLContainer &operator=(const AliAnalysisRLContainer &rlc);
33    AliRunLoader             *GetRunLoader();
34    AliHeader                *GetHeader();
35    AliStack                 *GetStack();
36    TTree                    *GetKinematics();
37    AliESD                   *GetESD() const {return fESD;}
38    virtual void              GetEntry(Long64_t ientry);
39    virtual Bool_t            SetData(TObject *data, Option_t *option="");
40    // Send a notify signal to the container
41    virtual void              NotifyChange(ENotifyMessage type);
42
43 private:
44    void                      DeleteKinematicsFile();
45    void                      DeleteRunLoader();   
46
47    AliRunLoader*             fRunLoader;    //! pointer to the RunLoader if galice.root was opened
48    AliESD*                   fESD;        //! "ESD" branch in fChain
49    TFile*                    fKineFile;   //! pointer to Kinematics.root if the file was opened
50    Bool_t                    fKinematicsLoaded;    // determines if the stack is properly loaded (AliRunLoader::LoadKinematics() succeeded), this is needed because the GetStack returnes a invalid stack object when the function failed
51    Bool_t                    fHeaderLoaded;        // determines if the header is properly loaded
52
53    ClassDef(AliAnalysisRLContainer,1)  // Class describing a data container using AliRunLoader
54 };
55 #endif