Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DTrackingResolution.h
Go to the documentation of this file.
1 // $Id$
2 //
3 // File: DTrackingResolution.h
4 // Created: Mon Feb 25 15:06:17 EST 2008
5 // Creator: davidl (on Darwin fwing-dhcp13.jlab.org 8.11.1 i386)
6 //
7 
8 #ifndef _DTrackingResolution_
9 #define _DTrackingResolution_
10 
11 #include <TRandom3.h>
12 #include <TVector3.h>
13 
15  public:
17  virtual ~DTrackingResolution();
18  virtual const char* className(void){return static_className();}
19  static const char* static_className(void){return "DTrackingResolution";}
20 
21  // Virtual methods that must be supplied by subclass
22  // Momenta are in units of GeV/c and angular resolutions
23  // are in units of milliradians.
24  virtual void GetResolution(int geanttype, const TVector3 &mom, double &pt_res, double &theta_res, double &phi_res)=0;
25  virtual double GetEfficiency(int geanttype, const TVector3 &mom)=0;
26 
27  // Methods implemented in this class
28  bool Smear(int geanttype, TVector3 &mom);
29  bool Efficiency(int geanttype, const TVector3 &mom);
30 
31  private:
32  TRandom3 rnd;
33 };
34 
35 #endif // _DTrackingResolution_
36 
static const char * static_className(void)
bool Efficiency(int geanttype, const TVector3 &mom)
virtual double GetEfficiency(int geanttype, const TVector3 &mom)=0
virtual void GetResolution(int geanttype, const TVector3 &mom, double &pt_res, double &theta_res, double &phi_res)=0
bool Smear(int geanttype, TVector3 &mom)
virtual const char * className(void)