ROOT logo
#ifndef _ALINANOAODHEADER_H_
#define _ALINANOAODHEADER_H_

#include "AliVAODHeader.h"
#include "AliNanoAODStorage.h"



class AliNanoAODHeader : public AliVAODHeader, public AliNanoAODStorage
{
public:
  using AliVHeader::ClassName;
  AliNanoAODHeader()  {;}
  AliNanoAODHeader(Int_t size){ AllocateInternalStorage(size);}
  virtual ~AliNanoAODHeader(){;}


  // Interface methods
  // AliNanoAODHeader(const AliVHeader& evt); 
  AliNanoAODHeader& operator=(const AliNanoAODHeader& evt);
  
  virtual UShort_t  GetBunchCrossNumber()   const { AliError("Not implemented");return 0;}
  virtual UInt_t    GetOrbitNumber()        const { AliError("Not implemented");return 0;}
  virtual UInt_t    GetPeriodNumber()       const { AliError("Not implemented");return 0;}
  virtual ULong64_t GetTriggerMask()        const { AliError("Not implemented");return 0;}
  virtual UChar_t   GetTriggerCluster()     const { AliError("Not implemented");return 0;}
  virtual UInt_t    GetEventType()          const { AliError("Not implemented");return 0;}

  virtual Bool_t   InitMagneticField()             const    {AliError("Not Implemented"); return 0;};
  virtual void     SetRunNumber(Int_t /*n*/)                    {AliError("Not Implemented");};
  virtual void     SetMagneticField(Double_t /*magFld*/)        {AliError("Not Implemented");};
  virtual void     SetMuonMagFieldScale(Double_t /*magFldScl*/) {AliError("Not Implemented");};
  virtual void     SetDiamond(Float_t */*xy[2]*/,Float_t */*cov[3]*/) {AliError("Not Implemented");}; 
  virtual void     SetDiamondZ(Float_t /*z*/, Float_t /*sig2z*/)    {AliError("Not Implemented");};
  virtual Int_t    GetRunNumber()                  const    {AliError("Not Implemented"); return 0;};
  virtual Double_t GetMuonMagFieldScale()          const    {AliError("Not Implemented"); return 0;};
  virtual Double_t GetDiamondX()                   const    {AliError("Not Implemented"); return 0;};
  virtual Double_t GetDiamondY()                   const    {AliError("Not Implemented"); return 0;};
  virtual Double_t GetDiamondZ()                   const    {AliError("Not Implemented"); return 0;};
  virtual void     GetDiamondCovXY(Float_t */*cov[3]*/) const    {AliError("Not Implemented");};
  virtual Double_t GetSigma2DiamondX()             const    {AliError("Not Implemented"); return 0;};
  virtual Double_t GetSigma2DiamondY()             const    {AliError("Not Implemented"); return 0;};
  virtual Double_t GetSigma2DiamondZ()             const    {AliError("Not Implemented"); return 0;};

  virtual void     SetOrbitNumber(UInt_t /* nOr */)           {AliError("Not Implemented"); };
  virtual void     SetPeriodNumber(UInt_t /* nPer */)         {AliError("Not Implemented"); };
  virtual void     SetBunchCrossNumber(UShort_t /* nBx */)    {AliError("Not Implemented"); };
  virtual void     SetEventType(UInt_t /* evttype */)         {AliError("Not Implemented"); };
  virtual void     SetTriggerMask(ULong64_t /* trigMsk */)    {AliError("Not Implemented"); };
  virtual void     SetTriggerCluster(UChar_t /* trigClus */)  {AliError("Not Implemented"); };
  virtual void     SetFiredTriggerClasses(TString /* trig */) {AliError("Not Implemented"); };
  virtual TString  GetFiredTriggerClasses() const             {AliError("Not Implemented"); return "";};
  virtual Double_t GetZDCN1Energy()         const             {AliError("Not Implemented"); return 0;};
  virtual Double_t GetZDCP1Energy()         const             {AliError("Not Implemented"); return 0;};
  virtual Double_t GetZDCN2Energy()         const             {AliError("Not Implemented"); return 0;};
  virtual Double_t GetZDCP2Energy()         const             {AliError("Not Implemented"); return 0;};

  virtual Double_t GetZDCEMEnergy(Int_t /* i */) const            {AliError("Not Implemented"); return 0;};
  virtual Int_t    GetNumberOfESDTracks()  const            {AliError("Not Implemented"); return 0;};
  virtual UInt_t   GetNumberOfITSClusters(Int_t /* ilay */) const {AliError("Not Implemented"); return 0;};
  virtual Float_t  GetT0spread(Int_t /* i */)               const {AliError("Not Implemented"); return 0;};
  // FIXME: THIS IS UGLY!!!!
  // FIXME: use dynamic cast in AliAODEVent?
  virtual AliCentrality* GetCentralityP()  const {AliError("Not Implemented"); return 0;};
  virtual AliEventplane* GetEventplaneP()  const {AliError("Not Implemented"); return 0;};
  virtual Double_t       GetEventplane()     const {AliError("Not Implemented"); return 0;};
  virtual const Float_t* GetVZEROEqFactors() const {AliError("Not Implemented"); return 0;};
  virtual Float_t        GetVZEROEqFactors(Int_t /* i */) const {AliError("Not Implemented"); return 0;};
  virtual void           SetVZEROEqFactors(const Float_t* /*factors*/) {AliError("Not Implemented"); } 

  virtual UInt_t GetOfflineTrigger()  {AliError("Not Implemented"); return 0;};


  virtual void Print(Option_t* /*option = ""*/) const  {Printf("I'm a special header!");}
 
  virtual void Clear(Option_t * opt) ;

  virtual Int_t  GetIRInt2ClosestInteractionMap()                  const {AliError("Not Implemented"); return 0;};
  virtual Int_t  GetIRInt1ClosestInteractionMap(Int_t /*gap = 3*/) const {AliError("Not Implemented"); return 0;};


  virtual Int_t     GetRefMultiplicity()    const { AliError("Not Impletented"); return 0; }

  Double_t  GetMagneticField()      const { return GetVar(1); }
  Double_t  GetCentrality (/*estimator = "V0M"*/) const { return GetVar(0);}
  
  ClassDef(AliNanoAODHeader, 1)

};

#endif /* _ALINANOAODHEADER_H_ */
 AliNanoAODHeader.h:1
 AliNanoAODHeader.h:2
 AliNanoAODHeader.h:3
 AliNanoAODHeader.h:4
 AliNanoAODHeader.h:5
 AliNanoAODHeader.h:6
 AliNanoAODHeader.h:7
 AliNanoAODHeader.h:8
 AliNanoAODHeader.h:9
 AliNanoAODHeader.h:10
 AliNanoAODHeader.h:11
 AliNanoAODHeader.h:12
 AliNanoAODHeader.h:13
 AliNanoAODHeader.h:14
 AliNanoAODHeader.h:15
 AliNanoAODHeader.h:16
 AliNanoAODHeader.h:17
 AliNanoAODHeader.h:18
 AliNanoAODHeader.h:19
 AliNanoAODHeader.h:20
 AliNanoAODHeader.h:21
 AliNanoAODHeader.h:22
 AliNanoAODHeader.h:23
 AliNanoAODHeader.h:24
 AliNanoAODHeader.h:25
 AliNanoAODHeader.h:26
 AliNanoAODHeader.h:27
 AliNanoAODHeader.h:28
 AliNanoAODHeader.h:29
 AliNanoAODHeader.h:30
 AliNanoAODHeader.h:31
 AliNanoAODHeader.h:32
 AliNanoAODHeader.h:33
 AliNanoAODHeader.h:34
 AliNanoAODHeader.h:35
 AliNanoAODHeader.h:36
 AliNanoAODHeader.h:37
 AliNanoAODHeader.h:38
 AliNanoAODHeader.h:39
 AliNanoAODHeader.h:40
 AliNanoAODHeader.h:41
 AliNanoAODHeader.h:42
 AliNanoAODHeader.h:43
 AliNanoAODHeader.h:44
 AliNanoAODHeader.h:45
 AliNanoAODHeader.h:46
 AliNanoAODHeader.h:47
 AliNanoAODHeader.h:48
 AliNanoAODHeader.h:49
 AliNanoAODHeader.h:50
 AliNanoAODHeader.h:51
 AliNanoAODHeader.h:52
 AliNanoAODHeader.h:53
 AliNanoAODHeader.h:54
 AliNanoAODHeader.h:55
 AliNanoAODHeader.h:56
 AliNanoAODHeader.h:57
 AliNanoAODHeader.h:58
 AliNanoAODHeader.h:59
 AliNanoAODHeader.h:60
 AliNanoAODHeader.h:61
 AliNanoAODHeader.h:62
 AliNanoAODHeader.h:63
 AliNanoAODHeader.h:64
 AliNanoAODHeader.h:65
 AliNanoAODHeader.h:66
 AliNanoAODHeader.h:67
 AliNanoAODHeader.h:68
 AliNanoAODHeader.h:69
 AliNanoAODHeader.h:70
 AliNanoAODHeader.h:71
 AliNanoAODHeader.h:72
 AliNanoAODHeader.h:73
 AliNanoAODHeader.h:74
 AliNanoAODHeader.h:75
 AliNanoAODHeader.h:76
 AliNanoAODHeader.h:77
 AliNanoAODHeader.h:78
 AliNanoAODHeader.h:79
 AliNanoAODHeader.h:80
 AliNanoAODHeader.h:81
 AliNanoAODHeader.h:82
 AliNanoAODHeader.h:83
 AliNanoAODHeader.h:84
 AliNanoAODHeader.h:85
 AliNanoAODHeader.h:86
 AliNanoAODHeader.h:87
 AliNanoAODHeader.h:88
 AliNanoAODHeader.h:89
 AliNanoAODHeader.h:90
 AliNanoAODHeader.h:91