1 #ifndef AliPWG3TRACKEXTRAPINTERFACE_H
2 #define AliPWG3TRACKEXTRAPINTERFACE_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
7 /// \class AliPWG3TrackExtrapInterface
8 /// \brief Interface to MUON classes
10 //////////////////////////////////////////
11 /// Interface for MUON track extrapolation
12 //////////////////////////////////////////
17 class AliESDMuonTrack;
19 class AliPWG3TrackExtrapInterface : public TObject
23 AliPWG3TrackExtrapInterface() : TObject(){};
25 virtual ~AliPWG3TrackExtrapInterface(){};
27 static void SetMagField(const AliMagF* magField);
28 static Bool_t SetGeometry(const char* fileName = "geometry.root");
30 // extrapolation without any absorber correction
31 static void ExtrapToVertexUncorrected(AliESDMuonTrack* muonTrack, Double_t zVtx);
32 // extrapolation corrected for energy loss in absorber only
33 static void ExtrapToVertexWithELoss(AliESDMuonTrack* muonTrack, Double_t zVtx);
34 // extrapolation corrected for multiple scattering in absorber only
35 static void ExtrapToVertexWithBranson(AliESDMuonTrack* muonTrack, Double_t vtx[3]);
36 // extrapolation corrected for all absorber effect (multiple scattering and energy loss)
37 static void ExtrapToVertex(AliESDMuonTrack* muonTrack, Double_t vtx[3]);
39 static Double_t TotalMomentumEnergyLoss(AliESDMuonTrack* muonTrack, Double_t zVtx);
40 static Double_t TotalMomentumEnergyLoss(AliESDMuonTrack* muonTrack, Double_t vtx[3]);
44 AliPWG3TrackExtrapInterface(const AliPWG3TrackExtrapInterface& muonInterface);
45 AliPWG3TrackExtrapInterface& operator=(const AliPWG3TrackExtrapInterface& muonInterface);
48 ClassDef(AliPWG3TrackExtrapInterface, 0) // Tools for track extrapolation in ALICE dimuon spectrometer