]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/global/AliFlatESDEvent.h
Split: fix refs to AddTaskPhysicsSelection.C
[u/mrichter/AliRoot.git] / HLT / global / AliFlatESDEvent.h
index c7f2a66cb579019868179a569d997f76f148af9e..605ad333cd6ff7190aa5a177637151ba50df5102 100644 (file)
@@ -11,7 +11,7 @@
 
 #include "Rtypes.h"
 #include "AliVMisc.h"
-#include "AliVVevent.h"
+#include "AliVEvent.h"
 #include "AliFlatESDTrack.h"
 #include "AliFlatESDVertex.h"
 #include "AliFlatESDFriend.h"
@@ -23,7 +23,7 @@ class AliFlatESDTrigger;
 class AliESDEvent;
 class AliESDVertex;
 
-class AliFlatESDEvent :public AliVVevent {
+class AliFlatESDEvent :public AliVEvent {
  public:
   // --------------------------------------------------------------------------------
   // -- Constructor / Destructors
@@ -35,7 +35,6 @@ class AliFlatESDEvent :public AliVVevent {
   void Reinitialize() { new (this) AliFlatESDEvent( AliVReinitialize ); }
 
   // --------------------------------------------------------------------------------
-  // Interface to AliVVEvent
 
   Double_t  GetMagneticField() const { return fMagneticField; }
   UInt_t    GetPeriodNumber()  const { return fPeriodNumber; }
@@ -56,9 +55,15 @@ class AliFlatESDEvent :public AliVVevent {
   UInt_t GetEventSpecie()   const { return fEventSpecie; }
   Int_t  GetNumberOfKinks() const { return 0; }  
 
-  const AliVVtrack* GetVVTrack(Int_t i) const { return GetFlatTrack(i); }
-  AliESDkinkGetKink(Int_t /*i*/) const { return NULL;}
+  AliVTrack  *GetVTrack( Int_t i ) const { return GetFlatTrackNonConst(i); }
+  AliESDkink *GetKink(Int_t /*i*/) const { return NULL;}
 
+  using AliVEvent::GetPrimaryVertex;
+  using AliVEvent::GetPrimaryVertexTPC;
+  using AliVEvent::GetPrimaryVertexSPD;
+  using AliVEvent::GetPrimaryVertexTracks;
+  Int_t GetPrimaryVertex( AliESDVertex &v ) const ;
+  Int_t GetPrimaryVertexTPC( AliESDVertex &v ) const ;
   Int_t GetPrimaryVertexSPD( AliESDVertex &v ) const ;
   Int_t GetPrimaryVertexTracks( AliESDVertex &v ) const ;
 
@@ -108,6 +113,7 @@ class AliFlatESDEvent :public AliVVevent {
   const AliFlatESDV0      *GetV0s() const { return reinterpret_cast<const AliFlatESDV0*>( fContent + fV0Pointer ); }
 
   const AliFlatESDTrack  *GetFlatTrack( Int_t i ) const ;
+  AliFlatESDTrack  *GetFlatTrackNonConst( Int_t i ) const;
 
   // --------------------------------------------------------------------------------
   // -- Size methods
@@ -116,6 +122,40 @@ class AliFlatESDEvent :public AliVVevent {
 
   static ULong64_t EstimateSize(AliESDEvent*esd, Bool_t fillV0s=kTRUE );
 
+  // --------------------------------------------------------------------------------
+  // AliVEvent interface
+  virtual void Print(Option_t *option="") const {if (option){}; return;}
+  virtual void AddObject(TObject* /*obj*/) {}
+  virtual TObject* FindListObject(const char* /*name*/) const {return NULL;}
+  virtual TList* GetList() const {return NULL;}
+  virtual void CreateStdContent() {}
+  virtual void GetStdContent() {}
+  virtual void ReadFromTree(TTree* /*tree*/, Option_t* /*opt*/) {}
+  virtual void WriteToTree(TTree* /*tree*/) const {}
+  virtual void SetStdNames() {}
+  virtual AliVHeader* GetHeader() const {return NULL;}
+  virtual void SetPeriodNumber(UInt_t) {}
+  virtual void SetEventType(UInt_t) {}
+  virtual void SetTriggerCluster(UChar_t) {}
+  virtual UInt_t GetEventType() const {return 0;}
+  virtual UChar_t GetTriggerCluster() const {return 0;}
+  virtual Double_t GetZDCN1Energy() const {return 0.;}
+  virtual Double_t GetZDCP1Energy() const {return 0.;}
+  virtual Double_t GetZDCN2Energy() const {return 0.;}
+  virtual Double_t GetZDCP2Energy() const {return 0.;}
+  virtual Double_t GetZDCEMEnergy(Int_t) const {return 0.;}
+  virtual AliVParticle* GetTrack(Int_t) const;
+  virtual Int_t GetNumberOfCascades() const {return 0;}
+  virtual AliCentrality* GetCentrality() {return NULL;}
+  virtual AliEventplane* GetEventplane() {return NULL;}
+  virtual Int_t EventIndex(Int_t) const {return 0;}
+  virtual Int_t EventIndexForCaloCluster(Int_t) const {return 0;}
+  virtual Int_t EventIndexForPHOSCell(Int_t) const {return 0;}
+  virtual Int_t EventIndexForEMCALCell(Int_t) const {return 0;}
+  virtual AliVVZERO* GetVZEROData() const {return NULL;}
+  virtual AliVZDC   *GetZDCData() const {return NULL;}
+  virtual AliVEvent::EDataLayoutType GetDataLayoutType() const;
+
  private:
 
   AliFlatESDEvent( const AliFlatESDEvent& );
@@ -159,10 +199,19 @@ class AliFlatESDEvent :public AliVVevent {
   // -- Variable Size Object
 
   Byte_t fContent[1];                  // Variale size object, which contains all data
+
+  ClassDef(AliFlatESDEvent,0)
 };
 
 // Inline implementations 
 
+inline AliFlatESDTrack  *AliFlatESDEvent::GetFlatTrackNonConst( Int_t i ) const 
+{ 
+  const Long64_t *table = reinterpret_cast<const Long64_t*> (fContent + fTrackTablePointer);
+  if( i<0 || i>(int) fNTracks || table[i]<0 ) return NULL;
+  return reinterpret_cast<AliFlatESDTrack*>( const_cast<Byte_t*>(fContent + table[i]) );
+}
+
 inline const AliFlatESDTrack  *AliFlatESDEvent::GetFlatTrack( Int_t i ) const 
 { 
   const Long64_t *table = reinterpret_cast<const Long64_t*> (fContent + fTrackTablePointer);
@@ -218,14 +267,14 @@ inline void AliFlatESDEvent::SetTriggersEnd( Int_t nTriggerClasses, size_t trigg
   fContentSize += triggersSize;
 }
 
-inline const AliFlatESDVertex* AliFlatESDEvent::GetFlatPrimaryVertexSPD() const 
-{
-  return (fPrimaryVertexMask & 0x1) ? reinterpret_cast<const AliFlatESDVertex*>(fContent + fPrimaryVertexSPDPointer) : NULL;
-} 
-
 inline const AliFlatESDVertex* AliFlatESDEvent::GetFlatPrimaryVertexTracks() const 
 { 
-  return (fPrimaryVertexMask & 0x2) ? (reinterpret_cast<const AliFlatESDVertex*>(fContent + fPrimaryVertexTracksPointer)  ) : NULL;
+  return (fPrimaryVertexMask & 0x1) ? (reinterpret_cast<const AliFlatESDVertex*>(fContent + fPrimaryVertexTracksPointer)  ) : NULL;
+} 
+
+inline const AliFlatESDVertex* AliFlatESDEvent::GetFlatPrimaryVertexSPD() const 
+{
+  return (fPrimaryVertexMask & 0x2) ? reinterpret_cast<const AliFlatESDVertex*>(fContent + fPrimaryVertexSPDPointer) : NULL;
 } 
 
 inline Int_t AliFlatESDEvent::GetPrimaryVertexSPD( AliESDVertex &v ) const 
@@ -244,4 +293,17 @@ inline Int_t AliFlatESDEvent::GetPrimaryVertexTracks( AliESDVertex &v ) const
   return 0;
 }
 
+inline Int_t AliFlatESDEvent::GetPrimaryVertexTPC( AliESDVertex &/*v*/ ) const 
+{
+  return -1;
+}
+
+inline Int_t AliFlatESDEvent::GetPrimaryVertex( AliESDVertex &v ) const 
+{
+  int ret = GetPrimaryVertexTracks( v );
+  if( ret<0 ) ret = GetPrimaryVertexSPD( v );
+  return ret;
+}
+
+
 #endif