X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ANALYSIS%2FAliAOD.h;h=f5fc6cd9553773a31fb5dfabb3a2f43b6c36d134;hb=f78960c82f199b230d758a51b9f9e09eb5b4cc4e;hp=0ab8c2f816dc74a87d501ead2d7b2f84edbcf3f3;hpb=a5556ea5dcb96ed6c8fb42e9637b4e5992497f70;p=u%2Fmrichter%2FAliRoot.git diff --git a/ANALYSIS/AliAOD.h b/ANALYSIS/AliAOD.h index 0ab8c2f816d..f5fc6cd9553 100644 --- a/ANALYSIS/AliAOD.h +++ b/ANALYSIS/AliAOD.h @@ -12,29 +12,53 @@ ///////////////////////////////////////////////////////////// #include -#include -#include "AliAODParticle.h" +#include +#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 AliAODParticle* GetParticle(Int_t index) const {return (AliAODParticle*) fParticles[index];} - virtual void AddParticle(AliAODParticle* 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 };