6bce6f493fd15c9e6a50bcba056f326424577de4
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisTaskRL.h
1 #ifndef ALIANALYSISTASKRL_H
2 #define ALIANALYSISTASKRL_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: Panos Christakoglou, 31/05/2006
8
9 //============================================================================
10 //   AliAnalysysTaskRL - Class representing a basic analysis task. 
11 //   Access to the run loader
12 //============================================================================
13
14 #include "AliAnalysisTask.h"
15
16 class TTree;
17
18 class AliRunLoader;
19 class AliHeader;
20 class AliStack;
21
22 class AliAnalysisTaskRL : public AliAnalysisTask {
23  public:  
24   AliAnalysisTaskRL();
25   AliAnalysisTaskRL(const char *name, const char *title);
26   virtual ~AliAnalysisTaskRL();
27
28  protected:
29   Bool_t        GetEntry(Long64_t ientry);
30
31   AliRunLoader *GetRunLoader();
32   AliHeader    *GetHeader();
33   AliStack     *GetStack();
34
35  private:
36   void DeleteRunLoader();
37
38   TTree        *fTree; //pointer to the ESD tree
39   AliRunLoader *fRunLoader; //! pointer to the RunLoader if galice.root was opened
40   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
41   Bool_t fHeaderLoaded; // determines if the header is properly loaded
42   Int_t  fTreeNumber;   // Number of the tree currently processes (poor man's Notify())
43   
44   AliAnalysisTaskRL(const AliAnalysisTaskRL&);
45   AliAnalysisTaskRL& operator=(const AliAnalysisTaskRL&);
46  
47   ClassDef(AliAnalysisTaskRL,1);  // Class describing an analysis task
48 };
49 #endif