CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
FastHelix.h
Go to the documentation of this file.
1 #ifndef TR_FastHelix_H_
2 #define TR_FastHelix_H_
3 
11 
27 class FastHelix {
28 
29 private:
30 
32 
33 public:
34 
35 
36  //Original constructor (no basis vertex)
37  FastHelix(const GlobalPoint& outerHit,
38  const GlobalPoint& middleHit,
39  const GlobalPoint& aVertex,
40  const edm::EventSetup& iSetup) : theOuterHit(outerHit),
41  theMiddleHit(middleHit),
42  theVertex(aVertex),
43  theCircle(outerHit,
44  middleHit,
45  aVertex) {
46  iSetup.get<IdealMagneticFieldRecord>().get(pSetup);
47  tesla0=pSetup->inTesla(GlobalPoint(0,0,0));
48  useBasisVertex = false;
49  }
50 
51  //New constructor (with basis vertex)
52  FastHelix(const GlobalPoint& outerHit,
53  const GlobalPoint& middleHit,
54  const GlobalPoint& aVertex,
55  const edm::EventSetup& iSetup,
56  const GlobalPoint& bVertex) : theOuterHit(outerHit),
57  theMiddleHit(middleHit),
58  theVertex(aVertex),
59  basisVertex(bVertex),
60  theCircle(outerHit,
61  middleHit,
62  aVertex) {
63  iSetup.get<IdealMagneticFieldRecord>().get(pSetup);
64  tesla0=pSetup->inTesla(GlobalPoint(0,0,0));
65  useBasisVertex = true;
66  }
67 
69 
70  bool isValid() const {return theCircle.isValid();}
71 
72  FTS stateAtVertex() const;
73 
74  FTS helixStateAtVertex() const;
75 
77 
78 private:
79 
88 };
89 
90 #endif //TR_FastHelix_H_
91 
GlobalPoint theMiddleHit
Definition: FastHelix.h:81
FTS stateAtVertex() const
Definition: FastHelix.cc:7
GlobalPoint theVertex
Definition: FastHelix.h:82
bool isValid() const
Definition: FastHelix.h:70
FTS helixStateAtVertex() const
Definition: FastHelix.cc:16
~FastHelix()
Definition: FastHelix.h:68
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
GlobalPoint basisVertex
Definition: FastHelix.h:83
GlobalPoint theOuterHit
Definition: FastHelix.h:80
FastCircle theCircle
Definition: FastHelix.h:84
bool isValid() const
Definition: FastCircle.h:56
FastHelix(const GlobalPoint &outerHit, const GlobalPoint &middleHit, const GlobalPoint &aVertex, const edm::EventSetup &iSetup, const GlobalPoint &bVertex)
Definition: FastHelix.h:52
FastHelix(const GlobalPoint &outerHit, const GlobalPoint &middleHit, const GlobalPoint &aVertex, const edm::EventSetup &iSetup)
Definition: FastHelix.h:37
const T & get() const
Definition: EventSetup.h:55
FreeTrajectoryState FTS
Definition: FastHelix.h:31
edm::ESHandle< MagneticField > pSetup
Definition: FastHelix.h:85
bool useBasisVertex
Definition: FastHelix.h:87
GlobalVector tesla0
Definition: FastHelix.h:86
FTS straightLineStateAtVertex() const
Definition: FastHelix.cc:113