]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ANALYSIS/AliAOD.h
Another portion of classes moved from HBTAN to ANALYSIS. HBTAN made working with...
[u/mrichter/AliRoot.git] / ANALYSIS / AliAOD.h
1 #ifndef ALIAOD_H
2 #define ALIAOD_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 /////////////////////////////////////////////////////////////
9 //
10 // base class for AOD containers
11 //
12 /////////////////////////////////////////////////////////////
13
14 #include <TObject.h>
15 #include <TObjArray.h>
16 #include "AliVAODParticle.h"
17
18 class TParticle;
19
20 class AliAOD: public TObject {
21 public:
22   AliAOD(){SetOwner(kTRUE);}
23   virtual ~AliAOD() { Reset(); }
24
25   virtual void             SetOwner(Bool_t owner){fParticles.SetOwner(owner);}
26   virtual TObjArray*       GetParticles() {return &fParticles;};
27   virtual Int_t            GetNumberOfParticles() const  {return fParticles.GetEntriesFast();}
28   virtual AliVAODParticle*  GetParticle(Int_t index) const {return (AliVAODParticle*) fParticles[index];}
29   virtual void             AddParticle(AliVAODParticle* particle)  {fParticles.Add(particle);};
30   virtual void             AddParticle(TParticle* part, Int_t idx); //adds particle to the event
31   virtual void             AddParticle(Int_t pdg, Int_t idx, Double_t px, Double_t py, Double_t pz, Double_t etot,
32                                        Double_t vx, Double_t vy, Double_t vz, Double_t time);
33   
34   virtual void             Reset();
35   void                     SwapParticles(Int_t i, Int_t j);//swaps particles positions; used by AliReader::Blend
36 private:
37   TObjArray                fParticles;   // array of AOD particles, AliAOD is owner of particles
38
39   ClassDef(AliAOD,1)  // base class for AOD containers
40 };
41
42 #endif