FASTSIM module
[u/mrichter/AliRoot.git] / FASTSIM / AliFastMuonTrackingRes.h
1 #ifndef ALIFASTMUONTRACKINGRES_H
2 #define ALIFASTMUONTRACKINGRES_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 // Implementation of AliFastResponse for the Muon Spectrometer resolution.
9 // The response depends on the charge of the muon and
10 // the background level.
11 // The class uses the instance of an object of type AliMUONFastTracking to 
12 // obtain the smearing parameters.
13 // Author: andreas.morsch@cern.ch
14
15 #include "AliFastResponse.h"
16 class AliMUONFastTracking;
17
18 class AliFastMuonTrackingRes :  public AliFastResponse {
19  public:
20     AliFastMuonTrackingRes();
21     AliFastMuonTrackingRes(const AliFastMuonTrackingRes& glauber);
22     virtual ~AliFastMuonTrackingRes(){;}
23     void SetBackground(Float_t bg = 1.) {fBackground = bg;}
24     void SetCharge(Float_t charge = 1.) {fCharge     = charge;}
25     virtual void Init();
26     void Evaluate(Float_t   p,  Float_t  theta , Float_t   phi,
27                   Float_t& pS,  Float_t& thetaS, Float_t&  phiS);
28
29     void Evaluate(Float_t /*charge*/, Float_t   p,  Float_t  theta , Float_t   phi,
30                   Float_t& pS,  Float_t& thetaS, Float_t&  phiS)
31         {Evaluate(p, theta, phi, pS, thetaS, phiS);}
32     virtual Float_t Evaluate(Float_t charge, Float_t pt, Float_t theta, Float_t phi)
33         {return AliFastResponse::Evaluate(charge, pt, theta, phi);}
34     
35     // Copy
36     AliFastMuonTrackingRes& operator=(const AliFastMuonTrackingRes & rhs);
37
38  protected:
39     Float_t              fBackground;   // Background level
40     Float_t              fCharge;       // Current charge
41     
42     AliMUONFastTracking* fFastTracking; //!Pointer to Fast Tracking Data Handler
43     ClassDef(AliFastMuonTrackingRes,1)  // Fast MUON Tracking 
44 };
45
46 #endif
47
48