cbcb28bfbc1d61e407eea57577bc23dfe5848548
[u/mrichter/AliRoot.git] / PWG1 / TRD / info / AliTRDeventInfo.h
1 #ifndef ALITRDEVENTINFO_H
2 #define ALITRDEVENTINFO_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6 ////////////////////////////////////////////////////////////////////////////
7 //                                                                        //
8 //  Event info for TRD performance train                                  //
9 //                                                                        //
10 //  Authors:                                                              //
11 //    Markus Fasel <M.Fasel@gsi.de>                                       //
12 //                                                                        //
13 ////////////////////////////////////////////////////////////////////////////
14
15 #include <TObject.h>
16
17 class AliESDHeader;
18 class AliESDRun;
19 class TH1D;
20 class AliTRDeventInfo : public TObject{
21 public:
22   enum{
23     kCentralityClasses = 5
24    ,kLHCbunches = 3500
25   };
26   AliTRDeventInfo();
27   AliTRDeventInfo(AliESDHeader *header, AliESDRun *run);
28   AliTRDeventInfo(const AliTRDeventInfo &info);
29   AliTRDeventInfo& operator=(const AliTRDeventInfo &info);
30   virtual ~AliTRDeventInfo();
31   virtual void  Delete(const Option_t *);
32
33   AliESDHeader* GetEventHeader() const                 { return fHeader; }
34   AliESDRun*    GetRunInfo() const                     { return fRun; }
35   Int_t         GetCentrality() const                  { return fCentrality; }
36   static void   GetListOfIsolatedBunches(TH1D *hbc, Int_t bunchSpacing=10);
37   Bool_t        IsOwner() const                        { return TestBit(kOwner); }
38   void          SetEventHeader(AliESDHeader *evHeader) { fHeader = evHeader; }
39   void          SetRunInfo(AliESDRun *evRun)           { fRun = evRun; }
40   void          SetCentrality(Int_t centrality)        { fCentrality = centrality; }
41   void          SetOwner();
42
43 private:
44   enum{
45     kOwner = BIT(14)
46   };
47   AliESDHeader* fHeader;      //! The ESD Header
48   AliESDRun*    fRun;         //! The ESD Run Info
49   Int_t         fCentrality;  //! Centrality class
50
51   ClassDef(AliTRDeventInfo, 1) // Event info  relevant for TRD analysis
52 };
53 #endif