Marlin  1.17.1
 All Classes Namespaces Functions Variables Enumerations Friends Pages
SimpleClusterSmearer.h
1 #ifndef SimpleClusterSmearer_h
2 #define SimpleClusterSmearer_h 1
3 
4 #include "marlin/MarlinConfig.h"
5 
6 #ifdef MARLIN_CLHEP // only if CLHEP is available !
7 
8 #include "marlin/IFourVectorSmearer.h"
9 #include <vector>
10 
11 namespace marlin{
12 
19 
21  A(0.) ,
22  B(0.) ,
23  ThMin(0.) ,
24  ThMax(0.) {}
25 
26  ClusterResolution(float a, float b, float thMin, float thMax) :
27  A(a) ,
28  B(b) ,
29  ThMin(thMin) ,
30  ThMax(thMax) {}
31 
32  float A ;
33  float B ;
34  float ThMin ;
35  float ThMax ;
36 
37  } ;
38 
48 
49 
50  typedef std::vector<ClusterResolution> ResVec ;
51 
52  public:
53 
54  SimpleClusterSmearer(const std::vector<float>& resVec ) ;
55 
56 
58  virtual ~SimpleClusterSmearer() {}
59 
64  virtual HepLorentzVector smearedFourVector( const HepLorentzVector& v, int pdgCode ) ;
65 
66  protected:
67 
68  ResVec _resVec ;
69 
70  } ;
71 
72 
73 
74 } // end namespace
75 
76 #endif // MARLIN_CLHEP
77 #endif // SimpleClusterSmearer_h
78 
virtual ~SimpleClusterSmearer()
Virtual d&#39;tor.
Definition: SimpleClusterSmearer.h:58
virtual HepLorentzVector smearedFourVector(const HepLorentzVector &v, int pdgCode)
Smears the given four vector according to the resolution for the polar angle of the cluster...
Definition: SimpleClusterSmearer.cc:39
Interface for smearing of four vectors - based on CLHEP::HepLorentzVector.
Definition: IFourVectorSmearer.h:23
Smears the four vectors of (neutral) clusters according to dE/E = A &quot;+&quot; B / sqrt( E/GeV ) for a given...
Definition: SimpleClusterSmearer.h:47
Small helper class to store calorimeter resolutions for a polar angle range.
Definition: SimpleClusterSmearer.h:18