]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliAOD.h
The default thickness of the chips is set to 150 mkm (D.Elia). Removing some obsolete...
[u/mrichter/AliRoot.git] / ANALYSIS / AliAOD.h
index bd66e8872c5d03bcbf12bef57f28522334e5e9ef..f5fc6cd9553773a31fb5dfabb3a2f43b6c36d134 100644 (file)
 /////////////////////////////////////////////////////////////
 
 #include <TObject.h>
-#include <TObjArray.h>
+#include <TClonesArray.h>
 #include "AliVAODParticle.h"
 
 class TParticle;
 
 class AliAOD: public TObject {
 public:
-  AliAOD(){}
-  virtual ~AliAOD() { Reset(); }
-
-  virtual TObjArray*       GetParticles() {return &fParticles;};
-  virtual Int_t            GetNumberOfParticles() const  {return fParticles.GetEntriesFast();}
-  virtual AliVAODParticle*  GetParticle(Int_t index) const {return (AliVAODParticle*) fParticles[index];}
-  virtual void             AddParticle(AliVAODParticle* particle)  {fParticles.Add(particle);};
+  AliAOD();
+  virtual ~AliAOD();
+  
+  AliAOD(const AliAOD& in);
+  virtual AliAOD& operator=(const AliAOD& in);
+  virtual void             CopyData(AliAOD* aod);//Copys all data from aod, but leaves local type of particles
+  
+  virtual TClonesArray*    GetParticles() const {return fParticles;} 
+  virtual void             SetParticleClassName(const char* classname);
+  virtual void             SetParticleClass(TClass* pclass);
+  
+  virtual Int_t            GetNumberOfParticles() const  {return (fParticles)?fParticles->GetEntriesFast():0;}
+  virtual AliVAODParticle* GetParticle(Int_t index) const {return  (fParticles)?(AliVAODParticle*)fParticles->At(index):0x0;}
+  virtual void             AddParticle(AliVAODParticle* particle);
   virtual void             AddParticle(TParticle* part, Int_t idx); //adds particle to the event
   virtual void             AddParticle(Int_t pdg, Int_t idx, Double_t px, Double_t py, Double_t pz, Double_t etot,
                                        Double_t vx, Double_t vy, Double_t vz, Double_t time);
   
   virtual void             Reset();
+  
   void                     SwapParticles(Int_t i, Int_t j);//swaps particles positions; used by AliReader::Blend
+  Bool_t                   IsRandomized() const {return fIsRandomized;}
+  void                     SetRandomized(Bool_t flag = kTRUE){fIsRandomized = flag;}
+  
+  void                     GetPrimaryVertex(Double_t&x, Double_t&y, Double_t&z);
+  void                     SetPrimaryVertex(Double_t x, Double_t y, Double_t z);
+  
+  Int_t                    GetNumberOfCharged(Double_t etamin = -10.0, Double_t etamax = 10.0) const;
+  void                     Move(Double_t x, Double_t y, Double_t z);//moves all spacial coordinates about this vector
+  virtual void             SetOwner(Bool_t owner);
+  virtual void             Print(const Option_t* /*option*/ = "") const;
+  TClass*                  GetParticleClass();
 private:
-  TObjArray                fParticles;   // array of AOD particles, AliAOD is owner of particles
-
+  TClonesArray            *fParticles;   // array of AOD particles, AliAOD is owner of particles
+  Bool_t                   fIsRandomized;//flag indicating if positions of particles were randomized - used by HBTAN
+  Double_t                 fPrimaryVertexX;//X position of the primary vertex
+  Double_t                 fPrimaryVertexY;//Y position of the primary vertex
+  Double_t                 fPrimaryVertexZ;//Z position of the primary vertex
+  TClass*                  fParticleClass;//!object that defines type of the particle       
+  
   ClassDef(AliAOD,1)  // base class for AOD containers
 };