CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
FWPFUtils.h
Go to the documentation of this file.
1 #ifndef _FWPFUTILS_H_
2 #define _FWPFUTILS_h_
3 
4 // -*- C++ -*-
5 //
6 // Package: ParticleFlow
7 // Class : FWPFUtils
8 //
9 // Implementation:
10 // <Notes on implementation>
11 //
12 // Original Author: Simon Harris
13 //
14 
15 // System include files
16 #include "TEveTrack.h"
17 
18 // User include files
22 
23 //-----------------------------------------------------------------------------
24 // FWPFUtils
25 //-----------------------------------------------------------------------------
26 class FWPFUtils
27 {
28  public:
29  // ---------------- Constructor(s)/Destructor ----------------------
30  FWPFUtils();
31  virtual ~FWPFUtils(){}
32 
33  // --------------------- Member Functions --------------------------
34  TEveTrack *getTrack( const reco::Track &iData );
35  TEveVector lineCircleIntersect( const TEveVector &v1, const TEveVector &v2, float r );
36  TEveVector lineLineIntersect( const TEveVector &v1, const TEveVector &v2,
37  const TEveVector &v3, const TEveVector &v4 );
38  TEveVector cross( const TEveVector &v1, const TEveVector &v2 );
39  float linearInterpolation( const TEveVector &p1, const TEveVector &p2, float r );
40  float dot( const TEveVector &v1, const TEveVector &v2 );
41  float sgn( float val );
42  bool checkIntersect( const TEveVector &vec, float r );
43  void initPropagator();
44 
45  // --------------------- Accessor Methods --------------------------
46  float getCaloR1() { return m_caloR1; }
47  float getCaloR2() { return m_caloR2; }
48  float getCaloR3() { return m_caloR3; }
49  float getCaloZ1() { return m_caloZ1; }
50  float getCaloZ2() { return m_caloZ2; }
52 
53  private:
54  FWPFUtils( const FWPFUtils& );
55  const FWPFUtils& operator=( const FWPFUtils& );
56 
57  // ----------------------- Data Members ----------------------------
58  TEveTrackPropagator *m_trackerTrackPropagator;
59  TEveTrackPropagator *m_trackPropagator;
61 
62  float m_caloR1;
63  float m_caloR2;
64  float m_caloR3;
65  float m_caloZ1;
66  float m_caloZ2;
67 };
68 #endif
69 //=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_
float m_caloR3
Definition: FWPFUtils.h:64
float m_caloZ2
Definition: FWPFUtils.h:66
float getCaloZ1()
Definition: FWPFUtils.h:49
FWMagField * m_magField
Definition: FWPFUtils.h:60
float getCaloR3()
Definition: FWPFUtils.h:48
bool checkIntersect(const TEveVector &vec, float r)
Definition: FWPFUtils.cc:129
float m_caloZ1
Definition: FWPFUtils.h:65
FWMagField * getField()
Definition: FWPFUtils.h:51
float getCaloR1()
Definition: FWPFUtils.h:46
const FWPFUtils & operator=(const FWPFUtils &)
virtual ~FWPFUtils()
Definition: FWPFUtils.h:31
TEveVector lineCircleIntersect(const TEveVector &v1, const TEveVector &v2, float r)
Definition: FWPFUtils.cc:35
float getCaloR2()
Definition: FWPFUtils.h:47
TEveTrackPropagator * m_trackPropagator
Definition: FWPFUtils.h:59
FWPFUtils()
Definition: FWPFUtils.cc:4
double p2[4]
Definition: TauolaWrapper.h:90
float getCaloZ2()
Definition: FWPFUtils.h:50
void initPropagator()
Definition: FWPFUtils.cc:141
float dot(const TEveVector &v1, const TEveVector &v2)
Definition: FWPFUtils.cc:113
float m_caloR1
Definition: FWPFUtils.h:62
float m_caloR2
Definition: FWPFUtils.h:63
double p1[4]
Definition: TauolaWrapper.h:89
TEveVector cross(const TEveVector &v1, const TEveVector &v2)
Definition: FWPFUtils.cc:88
float sgn(float val)
Definition: FWPFUtils.cc:122
float linearInterpolation(const TEveVector &p1, const TEveVector &p2, float r)
Definition: FWPFUtils.cc:101
TEveTrack * getTrack(const reco::Track &iData)
Definition: FWPFUtils.cc:18
TEveVector lineLineIntersect(const TEveVector &v1, const TEveVector &v2, const TEveVector &v3, const TEveVector &v4)
Definition: FWPFUtils.cc:70
TEveTrackPropagator * m_trackerTrackPropagator
Definition: FWPFUtils.h:58