]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliESDcascade.h
No optimization with gcc 4.3.0
[u/mrichter/AliRoot.git] / STEER / AliESDcascade.h
CommitLineData
e23730c7 1#ifndef ALIESDCASCADE_H
2#define ALIESDCASCADE_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
4f679a16 7/* $Id$ */
8
e23730c7 9//-------------------------------------------------------------------------
10// ESD Cascade Vertex Class
4f679a16 11// Implementation of the cascade vertex class
e23730c7 12// Origin: Christian Kuhn, IReS, Strasbourg, christian.kuhn@ires.in2p3.fr
13//-------------------------------------------------------------------------
14
15#include <TObject.h>
16#include <TPDGCode.h>
c028b974 17#include "AliESDv0.h"
e23730c7 18
c7bafca9 19class AliExternalTrackParam;
e23730c7 20
e23730c7 21
c028b974 22class AliESDcascade : public AliESDv0 {
23
562dd0b4 24 enum { kOmegaPlusBar = -3334,
25 kXiPlusBar = -3312,
26 kXiMinus = 3312,
27 kOmegaMinus = 3334};
28
e23730c7 29public:
30 AliESDcascade();
c028b974 31 AliESDcascade(const AliESDcascade&);
32 AliESDcascade(const AliESDv0 &v0,
c7bafca9 33 const AliExternalTrackParam &t, Int_t i);
c028b974 34 ~AliESDcascade();
732a24fe 35 AliESDcascade& operator=(const AliESDcascade&);
36 virtual void Copy(TObject &obj) const;
c028b974 37
e23730c7 38 Double_t ChangeMassHypothesis(Double_t &v0q, Int_t code=kXiMinus);
39
8668c148 40 Int_t GetPdgCodeXi() const {return fPdgCodeXi;}
41 Double_t GetEffMassXi() const {return fEffMassXi;}
c028b974 42 Double_t GetChi2Xi() const {return fChi2Xi;}
43 void GetPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const;
44 void GetXYZcascade(Double_t &x, Double_t &y, Double_t &z) const;
45 Double_t GetDcascade(Double_t x0=0.,Double_t y0=0.,Double_t z0=0.) const;
e23730c7 46
c028b974 47 void GetBPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const {
e23730c7 48 px=fBachMom[0]; py=fBachMom[1]; pz=fBachMom[2];
49 }
c028b974 50
51 Int_t GetBindex() const {return fBachIdx;}
7f68891d 52 void SetIndex(Int_t i) {fBachIdx=i;} //for the consistensy with V0
53 Int_t GetIndex() const {return GetBindex();} //for the consistensy with V0
c028b974 54 void SetDcaXiDaughters(Double_t rDcaXiDaughters=0.);
55 Double_t GetDcaXiDaughters() const {return fDcaXiDaughters;}
56 Double_t GetCascadeCosineOfPointingAngle(Double_t&, Double_t&, Double_t&) const;
e23730c7 57
074f017b 58 void GetPosCovXi(Double_t cov[6]) const;
59
e23730c7 60protected:
562dd0b4 61
8668c148 62 Double32_t fEffMassXi; // reconstructed cascade effective mass
61402fa9 63 Double32_t fChi2Xi; // chi2 value
64 Double32_t fDcaXiDaughters; // dca between Xi's daughters
65 Double32_t fPosXi[3]; // cascade vertex position (global)
66 Double32_t fPosCovXi[6]; // covariance matrix of the vertex position
61402fa9 67 Double32_t fBachMom[3]; // bachelor momentum (global)
68 Double32_t fBachMomCov[6]; // covariance matrix of the bachelor momentum.
562dd0b4 69 Int_t fPdgCodeXi; // reconstructed cascade type (PDG code)
70 Int_t fBachIdx; // label of the bachelor track
71
e23730c7 72
d6a49f20 73private:
732a24fe 74
d6a49f20 75
562dd0b4 76 ClassDef(AliESDcascade,5) // reconstructed cascade vertex
e23730c7 77};
78
c028b974 79inline
80void AliESDcascade::SetDcaXiDaughters(Double_t rDcaXiDaughters){
81 fDcaXiDaughters=rDcaXiDaughters;
82}
e23730c7 83
c028b974 84#endif