]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/muon/AliPWG3TrackExtrapInterface.h
Updates to run with deltas (L. Cunqueiro)
[u/mrichter/AliRoot.git] / PWG / muon / AliPWG3TrackExtrapInterface.h
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                               */
5
6 /* $Id$ */ 
7
8 /// \ingroup rec
9 /// \class AliPWG3TrackExtrapInterface
10 /// \brief Interface to MUON classes
11 ///
12 //////////////////////////////////////////
13 /// Interface for MUON track extrapolation
14 //////////////////////////////////////////
15
16 #include <TObject.h>
17
18 class AliMagF;
19 class AliESDMuonTrack;
20
21 class AliPWG3TrackExtrapInterface : public TObject 
22 {
23  public:
24         /// Constructor
25   AliPWG3TrackExtrapInterface() : TObject(){};
26         /// Destructor
27   virtual ~AliPWG3TrackExtrapInterface(){};
28   
29   static void   SetMagField(const AliMagF* magField);
30   static Bool_t SetGeometry(const char* fileName = "geometry.root");
31   
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]);
40   
41   static Double_t TotalMomentumEnergyLoss(AliESDMuonTrack* muonTrack, Double_t zVtx);
42   static Double_t TotalMomentumEnergyLoss(AliESDMuonTrack* muonTrack, Double_t vtx[3]);
43   
44  private:
45   // Functions
46   AliPWG3TrackExtrapInterface(const AliPWG3TrackExtrapInterface& muonInterface);
47   AliPWG3TrackExtrapInterface& operator=(const AliPWG3TrackExtrapInterface& muonInterface);
48   
49   
50   ClassDef(AliPWG3TrackExtrapInterface, 0) // Tools for track extrapolation in ALICE dimuon spectrometer
51 };
52         
53 #endif