]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ANALYSIS/AliAnalysisRLContainer.h
3eca65bfa491f685ae050fdc3876a4bebe56c6d9
[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    virtual ~AliAnalysisRLContainer();
30    
31 //protected:
32    AliRunLoader             *GetRunLoader();
33    AliHeader                *GetHeader();
34    AliStack                 *GetStack();
35    TTree                    *GetKinematics();
36    AliESD                   *GetESD() const {return fESD;}
37    virtual void              GetEntry(Long64_t ientry);
38    virtual Bool_t            SetData(TObject *data, Option_t *option="");
39    // Send a notify signal to the container
40    virtual void              NotifyChange(ENotifyMessage type);
41
42 private:
43    void                      DeleteKinematicsFile();
44    void                      DeleteRunLoader();   
45
46    AliRunLoader*             fRunLoader;    //! pointer to the RunLoader if galice.root was opened
47    AliESD*                   fESD;        //! "ESD" branch in fChain
48    TFile*                    fKineFile;   //! pointer to Kinematics.root if the file was opened
49    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
50    Bool_t                    fHeaderLoaded;        // determines if the header is properly loaded
51
52    ClassDef(AliAnalysisRLContainer,1)  // Class describing a data container using AliRunLoader
53 };
54 #endif