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 */
9 /// \class AliPWG3TrackExtrapInterface
10 /// \brief Interface to MUON classes
12 //////////////////////////////////////////
13 /// Interface for MUON track extrapolation
14 //////////////////////////////////////////
19 class AliESDMuonTrack;
21 class AliPWG3TrackExtrapInterface : public TObject
25 AliPWG3TrackExtrapInterface() : TObject(){};
27 virtual ~AliPWG3TrackExtrapInterface(){};
29 static void SetMagField(const AliMagF* magField);
30 static Bool_t SetGeometry(const char* fileName = "geometry.root");
32 // extrapolation without any absorber correction
33 static void ExtrapToVertexUncorrected(AliESDMuonTrack* muonTrack, Double_t zVtx);
34 // extrapolation corrected for energy loss in absorber only
35 static void ExtrapToVertexWithELoss(AliESDMuonTrack* muonTrack, Double_t zVtx);
36 // extrapolation corrected for multiple scattering in absorber only
37 static void ExtrapToVertexWithBranson(AliESDMuonTrack* muonTrack, Double_t vtx[3]);
38 // extrapolation corrected for all absorber effect (multiple scattering and energy loss)
39 static void ExtrapToVertex(AliESDMuonTrack* muonTrack, Double_t vtx[3]);
41 static Double_t TotalMomentumEnergyLoss(AliESDMuonTrack* muonTrack, Double_t zVtx);
42 static Double_t TotalMomentumEnergyLoss(AliESDMuonTrack* muonTrack, Double_t vtx[3]);
46 AliPWG3TrackExtrapInterface(const AliPWG3TrackExtrapInterface& muonInterface);
47 AliPWG3TrackExtrapInterface& operator=(const AliPWG3TrackExtrapInterface& muonInterface);
50 ClassDef(AliPWG3TrackExtrapInterface, 0) // Tools for track extrapolation in ALICE dimuon spectrometer