Line data Source code
1 : #ifndef ALIVAODHEADER_H
2 : #define ALIVAODHEADER_H
3 : /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4 : * See cxx source for full Copyright notice */
5 :
6 : /* $Id$ */
7 :
8 : //-------------------------------------------------------------------------
9 : // AOD Virtual event header class
10 : // We need a virtual class to abstract the AOD and NanoAOD header classes
11 : // Author: Michele Floris, CERN
12 : //-------------------------------------------------------------------------
13 :
14 : #include <TVector2.h>
15 :
16 : #include "AliVHeader.h"
17 : //#include "AliAODVertex.h"
18 : #include <TString.h>
19 : #include <TBits.h>
20 : #include "AliCentrality.h"
21 : #include "AliEventplane.h"
22 :
23 : class TGeoHMatrix;
24 : class TString;
25 :
26 :
27 0 : class AliVAODHeader : public AliVHeader {
28 :
29 : public :
30 4 : AliVAODHeader() : AliVHeader() {};
31 :
32 :
33 0 : virtual ~AliVAODHeader() {};
34 :
35 : virtual void SetMagneticField(Double_t magFld) = 0;
36 : virtual void SetMuonMagFieldScale(Double_t magFldScl) = 0;
37 : virtual void SetDiamond(Float_t xy[2],Float_t cov[3]) = 0;
38 : virtual void SetDiamondZ(Float_t z, Float_t sig2z) = 0;
39 : virtual Int_t GetRunNumber() const = 0;
40 : virtual Double_t GetMagneticField() const = 0;
41 : virtual Double_t GetMuonMagFieldScale() const = 0;
42 : virtual Double_t GetDiamondX() const = 0;
43 : virtual Double_t GetDiamondY() const = 0;
44 : virtual Double_t GetDiamondZ() const = 0;
45 : virtual void GetDiamondCovXY(Float_t cov[3]) const = 0;
46 : virtual Double_t GetSigma2DiamondX() const = 0;
47 : virtual Double_t GetSigma2DiamondY() const = 0;
48 : virtual Double_t GetSigma2DiamondZ() const = 0;
49 :
50 : virtual Bool_t InitMagneticField() const = 0;
51 : virtual void SetRunNumber(Int_t nRun) = 0;
52 : virtual void SetOrbitNumber(UInt_t nOr) = 0;
53 : virtual void SetPeriodNumber(UInt_t nPer) = 0;
54 : virtual void SetBunchCrossNumber(UShort_t nBx) = 0;
55 : virtual void SetEventType(UInt_t evttype) = 0;
56 : virtual UInt_t GetEventType() const = 0;
57 : virtual void SetTriggerMask(ULong64_t trigMsk) = 0;
58 : virtual void SetTriggerMaskNext50(ULong64_t trigMsk) = 0;
59 : virtual ULong64_t GetTriggerMask() const = 0;
60 : virtual ULong64_t GetTriggerMaskNext50() const = 0;
61 : virtual void SetTriggerCluster(UChar_t trigClus) = 0;
62 : virtual void SetFiredTriggerClasses(TString trig) = 0;
63 : virtual TString GetFiredTriggerClasses() const = 0;
64 : virtual Double_t GetZDCN1Energy() const = 0;
65 : virtual Double_t GetZDCP1Energy() const = 0;
66 : virtual Double_t GetZDCN2Energy() const = 0;
67 : virtual Double_t GetZDCP2Energy() const = 0;
68 :
69 : virtual Double_t GetZDCEMEnergy(Int_t /* i */) const = 0;
70 : virtual Int_t GetNumberOfESDTracks() const = 0;
71 : virtual UInt_t GetNumberOfITSClusters(Int_t /* ilay */) const = 0;
72 : virtual Float_t GetT0spread(Int_t /* i */) const = 0;
73 : // FIXME: THIS IS UGLY!!!!
74 : // FIXME: use dynamic cast in AliAODEVent?
75 : virtual AliCentrality* GetCentralityP() const = 0;
76 : virtual AliEventplane* GetEventplaneP() const = 0;
77 : virtual Double_t GetCentrality () const = 0;
78 : virtual const Float_t* GetVZEROEqFactors() const = 0;
79 : virtual Float_t GetVZEROEqFactors(Int_t /* i */) const = 0;
80 : virtual void SetVZEROEqFactors(const Float_t* /*factors*/) = 0;
81 : virtual UInt_t GetOfflineTrigger() = 0;
82 : virtual Int_t GetRefMultiplicity() const =0;
83 : virtual Double_t GetEventplane() const =0;
84 : //
85 : virtual UInt_t GetDAQAttributes() const;
86 : virtual void SetDAQAttributes(UInt_t);
87 :
88 :
89 : };
90 :
91 : #endif
|