#include <TObject.h>
+class AliESDMuonTrack;
+
class AliMUONTrackParam : public TObject
{
public:
AliMUONTrackParam(const AliMUONTrackParam& rhs);// copy constructor (should be added per default !)
AliMUONTrackParam& operator=(const AliMUONTrackParam& rhs);// (should be added per default !)
+
+ void GetParamFrom(const AliESDMuonTrack& esdMuonTrack);
+ void SetParamFor(AliESDMuonTrack& esdMuonTrack);
+
+
// Get and Set methods for data
Double_t GetInverseBendingMomentum(void) const {return fInverseBendingMomentum;}
- void SetInverseBendingMomentum(Double_t InverseBendingMomentum) {fInverseBendingMomentum = InverseBendingMomentum;}
+ void SetInverseBendingMomentum(Double_t InverseBendingMomentum) {fInverseBendingMomentum = InverseBendingMomentum;}
Double_t GetBendingSlope(void) const {return fBendingSlope;}
- void SetBendingSlope(Double_t BendingSlope) {fBendingSlope = BendingSlope;}
+ void SetBendingSlope(Double_t BendingSlope) {fBendingSlope = BendingSlope;}
Double_t GetNonBendingSlope(void) const {return fNonBendingSlope;}
- void SetNonBendingSlope(Double_t NonBendingSlope) {fNonBendingSlope = NonBendingSlope;}
+ void SetNonBendingSlope(Double_t NonBendingSlope) {fNonBendingSlope = NonBendingSlope;}
Double_t GetZ(void) const {return fZ;}
- void SetZ(Double_t Z) {fZ = Z;}
+ void SetZ(Double_t Z) {fZ = Z;}
Double_t GetBendingCoor(void) const {return fBendingCoor;}
- void SetBendingCoor(Double_t BendingCoor) {fBendingCoor = BendingCoor;}
+ void SetBendingCoor(Double_t BendingCoor) {fBendingCoor = BendingCoor;}
Double_t GetNonBendingCoor(void) const {return fNonBendingCoor;}
- void SetNonBendingCoor(Double_t NonBendingCoor) {fNonBendingCoor = NonBendingCoor;}
- Double_t Px(); // return px
- Double_t Py(); // return py
- Double_t Pz(); // return pz
- Double_t P(); // return total momentum
+ void SetNonBendingCoor(Double_t NonBendingCoor) {fNonBendingCoor = NonBendingCoor;}
+ Double_t Px() const; // return px
+ Double_t Py() const; // return py
+ Double_t Pz() const; // return pz
+ Double_t P() const; // return total momentum
void ExtrapToZ(Double_t Z);
void ExtrapToStation(Int_t Station, AliMUONTrackParam *TrackParam);
void ExtrapOneStepRungekutta(Double_t charge, Double_t step,
Double_t* vect, Double_t* vout) const;
+
+
+ virtual void Print(Option_t* opt="") const;
+
protected:
private:
- Double_t fInverseBendingMomentum; // Inverse bending momentum (GeV/c ** -1) times the charge (assumed forward motion)
- Double_t fBendingSlope; // Bending slope (cm ** -1)
- Double_t fNonBendingSlope; // Non bending slope (cm ** -1)
- Double_t fZ; // Z coordinate (cm)
- Double_t fBendingCoor; // bending coordinate (cm)
- Double_t fNonBendingCoor; // non bending coordinate (cm)
+ Double_t fInverseBendingMomentum; ///< Inverse bending momentum (GeV/c ** -1) times the charge (assumed forward motion)
+ Double_t fBendingSlope; ///< Bending slope (cm ** -1)
+ Double_t fNonBendingSlope; ///< Non bending slope (cm ** -1)
+ Double_t fZ; ///< Z coordinate (cm)
+ Double_t fBendingCoor; ///< bending coordinate (cm)
+ Double_t fNonBendingCoor; ///< non bending coordinate (cm)
void SetGeant3Parameters(Double_t *VGeant3, Double_t ForwardBackward);
void GetFromGeant3Parameters(Double_t *VGeant3, Double_t Charge);