]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/STEERBase/AliVVevent.h
flat esd event update
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliVVevent.h
1 #ifndef ALIVVEVENT_H
2 #define ALIVVEVENT_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               *
6  * Primary Authors : Sergey Gorbunov, Jochen Thaeder, Chiara Zampolli     */
7
8 /*
9  * See implementation file for documentation
10  */
11 #include "Rtypes.h"
12 #include "TString.h"
13 class TList;
14 //class AliVVvertex;
15 class AliVVtrack;
16 class AliMultiplicity;
17 class AliVVfriendEvent;
18 class AliESDkink;
19 class TTree;
20
21 class AliVVevent{
22  public:  
23   // --------------------------------------------------------------------------------
24   // -- Constructor / Destructor
25   // --------------------------------------------------------------------------------
26
27   AliVVevent() {}
28
29  protected:
30
31   virtual ~AliVVevent() {}
32
33  public:
34   // --------------------------------------------------------------------------------
35   // -- Methods, common for AliVEvent and AliVVevent interface
36   // --------------------------------------------------------------------------------
37
38   // Access methods
39   
40   virtual Double_t  GetMagneticField() const = 0;  
41   virtual UInt_t    GetPeriodNumber()  const = 0;
42   virtual Int_t     GetRunNumber()     const = 0;
43   virtual UInt_t    GetOrbitNumber()   const = 0;
44   virtual UShort_t  GetBunchCrossNumber() const = 0;
45   virtual ULong64_t GetTriggerMask()   const = 0;
46   virtual TString   GetFiredTriggerClasses() const = 0;
47   
48   virtual Int_t GetNumberOfTracks() const = 0;
49   virtual Int_t GetNumberOfV0s() const = 0;
50  
51   // Other methods
52
53   virtual void Reset() = 0;
54   virtual void ConnectTracks() = 0;
55   
56   // --------------------------------------------------------------------------------
57   // -- Methods, specific for AliVVevent (are disabled in AliVEvent interface)
58   // --------------------------------------------------------------------------------
59   
60   virtual UInt_t    GetTimeStamp()   const = 0;
61   virtual UInt_t    GetEventSpecie() const = 0;  
62   virtual ULong64_t GetTriggerMaskNext50()   const = 0;
63
64   virtual Int_t GetNumberOfKinks() const = 0;
65   
66   /* 
67   virtual const AliVVvertex* GetPrimaryVertex() const {return NULL;}
68   virtual const AliVVvertex* GetPrimaryVertexSPD() const {return NULL;}
69   virtual const AliVVvertex* GetPrimaryVertexTracks() const {return NULL;}
70   virtual const AliVVvertex* GetPrimaryVertexTPC() const {return NULL;}  
71   */
72   
73   virtual const AliVVtrack* GetVVTrack(Int_t /*i*/) const = 0;
74   virtual AliESDkink* GetKink(Int_t /*i*/) const = 0;
75   //virtual AliVVtrack* GetV0(Int_t /*i*/) const = 0;
76
77  
78   // some ESD interfaces, not yet implemented in flat esd (may be not needed, may be need some changes)
79
80   //virtual Int_t GetEventNumberInFile() const = 0;
81   //virtual const AliMultiplicity* GetMultiplicity() const = 0; //by default SPDmult  
82   //virtual AliVVfriendEvent* FindFriend() const = 0;
83
84   ClassDef(AliVVevent, 1)
85
86 };
87 #endif