]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliESDEvent.h
Fix fixed-string length bug
[u/mrichter/AliRoot.git] / STEER / AliESDEvent.h
index a8127b1a8056f4b2a813d2ca919b5b5bbb44131a..1e5244a2e7f90b3d80f22e54227af45c5dd5efcb 100644 (file)
@@ -29,6 +29,7 @@ class TList;
 #include "AliESDHeader.h"
 #include "AliESDTZERO.h"
 #include "AliESDZDC.h"
+#include "AliESDACORDE.h"
 
 // AliESDtrack has to be included so that the compiler 
 // knows its inheritance tree (= that it is a AliVParticle).
@@ -52,6 +53,7 @@ class AliESDMuonTrack;
 class AliESD;
 class AliESDcascade;
 class TRefArray;
+class AliESDACORDE;
 
 class AliESDEvent : public AliVEvent {
 public:
@@ -63,6 +65,7 @@ public:
                       kESDFMD,
                       kESDVZERO,
                       kESDTZERO,
+                      kTPCVertex,
                       kSPDVertex,
                       kPrimaryVertex,
                       kSPDMult,
@@ -79,12 +82,14 @@ public:
                       kEMCALCells,
                       kPHOSCells,
                       kErrorLogs,
+                       kESDACORDE,
                       kESDListN
   };
 
   AliESDEvent();
-  virtual ~AliESDEvent(); 
-
+  virtual ~AliESDEvent();
+  AliESDEvent &operator=(const AliESDEvent& source); // or make private and use only copy? 
+  virtual void Copy(TObject& obj) const;
 
   // RUN
   // move this to the UserData!!!
@@ -115,7 +120,7 @@ public:
   void      SetTimeStamp(UInt_t timeStamp){fHeader->SetTimeStamp(timeStamp);}
   void      SetEventType(UInt_t eventType){fHeader->SetEventType(eventType);}
   void      SetEventNumberInFile(Int_t n) {fHeader->SetEventNumberInFile(n);}
-  //  void      SetRunNumber(Int_t n) {fHeader->SetRunNumber(n);}
+  //  void     SetRunNumber(Int_t n) {fHeader->SetRunNumber(n);}
   void      SetBunchCrossNumber(UShort_t n) {fHeader->SetBunchCrossNumber(n);}
   void      SetTriggerCluster(UChar_t n) {fHeader->SetTriggerCluster(n);}
   
@@ -166,14 +171,24 @@ public:
   AliESDVZERO *GetVZEROData() const { return fESDVZERO; }
   void SetVZEROData(AliESDVZERO * obj);
 
+ // ACORDE
+  AliESDACORDE *GetACORDEData() const { return fESDACORDE;}
+  void SetACORDEData(AliESDACORDE * obj);
 
-  void SetESDfriend(const AliESDfriend *f);
+  void SetESDfriend(const AliESDfriend *f) const;
   void GetESDfriend(AliESDfriend *f) const;
 
 
 
-  void SetVertex(const AliESDVertex *vertex); 
-  const AliESDVertex *GetVertex() const {return fSPDVertex;}
+  void SetPrimaryVertexTPC(const AliESDVertex *vertex); 
+  const AliESDVertex *GetPrimaryVertexTPC() const {return fTPCVertex;}
+
+  void SetPrimaryVertexSPD(const AliESDVertex *vertex); 
+  const AliESDVertex *GetPrimaryVertexSPD() const {return fSPDVertex;}
+  const AliESDVertex *GetVertex() const {
+    //For the backward compatibily only
+     return GetPrimaryVertexSPD();
+  }
 
   void SetPrimaryVertex(const AliESDVertex *vertex);
   const AliESDVertex *GetPrimaryVertex() const {return fPrimaryVertex;}
@@ -184,9 +199,9 @@ public:
 
 
   Bool_t Clean(Float_t *cleanPars);
-  Bool_t RemoveKink(Int_t i);
-  Bool_t RemoveV0(Int_t i);
-  Bool_t RemoveTrack(Int_t i);
+  Bool_t RemoveKink(Int_t i)   const;
+  Bool_t RemoveV0(Int_t i)     const;
+  Bool_t RemoveTrack(Int_t i)  const;
 
   AliESDtrack *GetTrack(Int_t i) const {
     return (AliESDtrack *)fTracks->UncheckedAt(i);
@@ -263,7 +278,7 @@ public:
   AliRawDataErrorLog *GetErrorLog(Int_t i) const {
     return (AliRawDataErrorLog *)fErrorLogs->UncheckedAt(i);
   }
-  void  AddRawDataErrorLog(const AliRawDataErrorLog *log);
+  void  AddRawDataErrorLog(const AliRawDataErrorLog *log) const;
 
   Int_t GetNumberOfErrorLogs()   const {return fErrorLogs->GetEntriesFast();}
 
@@ -290,6 +305,8 @@ public:
   Int_t GetPHOSClusters(TRefArray *clusters) const;
   Int_t GetNumberOfCaloClusters() const {return fCaloClusters->GetEntriesFast();}
 
+  void SetUseOwnList(Bool_t b){fUseOwnList = b;}
+  Bool_t GetUseOwnList(){return fUseOwnList;}
   
   // Remove this stuff CKB?
   //---------------------------------------------------
@@ -316,20 +333,20 @@ public:
   void  Print(Option_t *option="") const;
 
   void AddObject(TObject* obj);
-  void ReadFromTree(TTree *tree);
+  void ReadFromTree(TTree *tree, Option_t* opt = "");
   TObject* FindListObject(const char *name);
   AliESD *GetAliESDOld(){return fESDOld;}
   const void WriteToTree(TTree* tree) const;
   void GetStdContent();
   void ResetStdContent();
   void CreateStdContent();
+  void CreateStdContent(Bool_t bUseThisList);
   void SetStdNames();
   void CopyFromOldESD();
   TList* GetList() const {return fESDObjects;}
 
 protected:
   AliESDEvent(const AliESDEvent&);
-  AliESDEvent &operator=(const AliESDEvent& source);
 
 
   TList *fESDObjects;             // List of esd Objects
@@ -340,11 +357,13 @@ protected:
   AliESDFMD       *fESDFMD;           //! FMD object containing rough multiplicity
   AliESDVZERO     *fESDVZERO;         //! VZERO object containing rough multiplicity
   AliESDTZERO     *fESDTZERO;         //! TZEROObject
+  AliESDVertex    *fTPCVertex;        //! Primary vertex estimated by the TPC
   AliESDVertex    *fSPDVertex;        //! Primary vertex estimated by the SPD
   AliESDVertex    *fPrimaryVertex;    //! Primary vertex estimated using ESD tracks
   AliMultiplicity *fSPDMult;          //! SPD tracklet multiplicity
   AliESDCaloTrigger* fPHOSTrigger;     //! PHOS Trigger information
   AliESDCaloTrigger* fEMCALTrigger;    //! PHOS Trigger information
+  AliESDACORDE    *fESDACORDE;        //! ACORDE ESD object caontaining bit pattern
 
   TClonesArray *fTracks;           //! ESD tracks 
   TClonesArray *fMuonTracks;       //! MUON ESD tracks
@@ -363,6 +382,7 @@ protected:
   AliESD       *fESDOld;           //! Old esd Structure
   AliESDfriend *fESDFriendOld;     //! Old friend esd Structure
   Bool_t    fConnected;            //! flag if leaves are alreday connected
+  Bool_t    fUseOwnList;           //! Do not use the list from the esdTree but use the one created by this class 
 
   static const char* fgkESDListName[kESDListN]; //!
 
@@ -373,7 +393,7 @@ protected:
   Int_t        fPHOSClusters;     // Number of PHOS clusters (subset of caloclusters)
   Int_t        fFirstPHOSCluster; // First PHOS cluster in the fCaloClusters list 
 
-  ClassDef(AliESDEvent,6)  //ESDEvent class 
+  ClassDef(AliESDEvent,9)  //ESDEvent class 
 };
 #endif