4 #include <AliVParticle.h>
7 class AliRsnMCInfo : public TObject
11 AliRsnMCInfo ( const AliRsnMCInfo © );
14 void Adopt ( TParticle *part );
17 virtual Double_t E() const {return fEnergy;}
18 virtual Double_t M() const {return TMath::Sqrt (fEnergy*fEnergy - P2());}
19 virtual Double_t P2() const {return Px()*Px() + Py()*Py() + Pz()*Pz();}
20 virtual Double_t P() const {return TMath::Sqrt ( P2() );}
21 virtual Double_t Px() const {return fP[0];}
22 virtual Double_t Py() const {return fP[1];}
23 virtual Double_t Pz() const {return fP[2];}
24 virtual Double_t Pt() const {return TMath::Sqrt ( Px() *Px() + Py() *Py() );}
25 virtual Double_t OneOverPt() const {return 1.0 / Pt();}
26 virtual Bool_t PxPyPz ( Double_t p[3] ) const {p[0] = Px(); p[1] = Py(); p[2] = Pz(); return kTRUE;}
27 void SetPx ( Double_t value ) {fP[0] = value;}
28 void SetPy ( Double_t value ) {fP[1] = value;}
29 void SetPz ( Double_t value ) {fP[2] = value;}
30 void SetP ( Double_t px, Double_t py, Double_t pz ) {SetPx ( px ); SetPy ( py ); SetPz ( pz );}
31 void SetE ( Double_t e ) {fEnergy = e;}
33 Int_t PDG() const {return fPDG;}
34 Int_t Mother() const {return fMother;}
35 Short_t MotherPDG() const {return fMotherPDG;}
36 void SetPDG ( Int_t pdg ) {fPDG = pdg;}
37 void SetMother ( Int_t mlabel ) {fMother = mlabel;}
38 void SetMotherPDG ( Int_t pdg ) {fMotherPDG = ( Short_t ) pdg;}
42 Double_t fP[3]; // MC momentum
43 Double_t fEnergy; // MC energy
44 Int_t fPDG; // PDG code
45 Int_t fMother; // GEANT label of mother particle
46 Short_t fMotherPDG; // PDG code of mother particle
48 ClassDef ( AliRsnMCInfo,1 );