- Welding section on absorber side (LHCVC2C_001)
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackParam.h
CommitLineData
a9e2aefa 1#ifndef ALIMUONTRACKPARAM_H
2#define ALIMUONTRACKPARAM_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
3831f268 8///////////////////////////////////////////////////
9// Track parameters in ALICE dimuon spectrometer
10///////////////////////////////////////////////////
a9e2aefa 11
3831f268 12#include <TObject.h>
a9e2aefa 13
14class AliMUONTrackParam : public TObject {
15 public:
16 AliMUONTrackParam(){
d837040f 17 fInverseBendingMomentum = 0;
18 fBendingSlope = 0;
19 fNonBendingSlope = 0;
20 fZ = 0;
21 fBendingCoor = 0;
22 fNonBendingCoor = 0;
a9e2aefa 23 // Constructor
d837040f 24 } // Constructor
25 virtual ~AliMUONTrackParam(){} // Destructor
61adb9bd 26
d694b6f6 27 AliMUONTrackParam(const AliMUONTrackParam& rhs);// copy constructor (should be added per default !)
28 AliMUONTrackParam& operator=(const AliMUONTrackParam& rhs);// (should be added per default !)
a9e2aefa 29 // Get and Set methods for data
3831f268 30 Double_t GetInverseBendingMomentum(void) const {return fInverseBendingMomentum;}
31 void SetInverseBendingMomentum(Double_t InverseBendingMomentum) {fInverseBendingMomentum = InverseBendingMomentum;}
32 Double_t GetBendingSlope(void) const {return fBendingSlope;}
33 void SetBendingSlope(Double_t BendingSlope) {fBendingSlope = BendingSlope;}
34 Double_t GetNonBendingSlope(void) const {return fNonBendingSlope;}
35 void SetNonBendingSlope(Double_t NonBendingSlope) {fNonBendingSlope = NonBendingSlope;}
36 Double_t GetZ(void) const {return fZ;}
37 void SetZ(Double_t Z) {fZ = Z;}
38 Double_t GetBendingCoor(void) const {return fBendingCoor;}
39 void SetBendingCoor(Double_t BendingCoor) {fBendingCoor = BendingCoor;}
40 Double_t GetNonBendingCoor(void) const {return fNonBendingCoor;}
41 void SetNonBendingCoor(Double_t NonBendingCoor) {fNonBendingCoor = NonBendingCoor;}
a9e2aefa 42
43 void ExtrapToZ(Double_t Z);
44 void ExtrapToStation(Int_t Station, AliMUONTrackParam *TrackParam);
04b5ea16 45 void ExtrapToVertex(); // extrapolation to vertex through the absorber
46 void BransonCorrection(); // makes Branson correction
61adb9bd 47 // returns total momentum after energy loss correction in the absorber
48 Double_t TotalMomentumEnergyLoss(Double_t thetaLimit, Double_t pTotal, Double_t theta);
b45fd22b 49 void FieldCorrection(Double_t Z); // makes simple magnetic field correction through the absorber
a9e2aefa 50
51 protected:
52 private:
956019b6 53 Double_t fInverseBendingMomentum; // Inverse bending momentum (GeV/c ** -1) times the charge (assumed forward motion)
a9e2aefa 54 Double_t fBendingSlope; // Bending slope (cm ** -1)
55 Double_t fNonBendingSlope; // Non bending slope (cm ** -1)
56 Double_t fZ; // Z coordinate (cm)
57 Double_t fBendingCoor; // bending coordinate (cm)
58 Double_t fNonBendingCoor; // non bending coordinate (cm)
59
60 void SetGeant3Parameters(Double_t *VGeant3, Double_t ForwardBackward);
61 void GetFromGeant3Parameters(Double_t *VGeant3, Double_t Charge);
62
044d512b 63 ClassDef(AliMUONTrackParam, 1) // Track parameters in ALICE dimuon spectrometer
a9e2aefa 64 };
65
66#endif