CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
GsfTransientTrack.cc
Go to the documentation of this file.
8 #include <iostream>
9 
10 using namespace reco;
11 using namespace std;
12 
13 
14 
16  GsfTrack(), tkr_(), theField(0), initialTSOSAvailable(false),
17  initialTSCPAvailable(false), blStateAvailable(false), theTIPExtrapolator()
18 {}
19 
21  GsfTrack(tk),
22  tkr_(), theField(field), initialTSOSAvailable(false),
23  initialTSCPAvailable(false), blStateAvailable(false)
24 {
25 
27 }
28 
29 
31  GsfTrack(*tk),
32  tkr_(tk), theField(field), initialTSOSAvailable(false),
33  initialTSCPAvailable(false), blStateAvailable(false),
34  theTIPExtrapolator(AnalyticalPropagator(field, alongMomentum))
35 {
36 
38 }
39 
42  GsfTrack(tk),
43  tkr_(), theField(field), initialTSOSAvailable(false),
44  initialTSCPAvailable(false), blStateAvailable(false), theTrackingGeometry(tg),
45  theTIPExtrapolator(AnalyticalPropagator(field, alongMomentum))
46 {
47 
49 }
50 
53  GsfTrack(*tk),
54  tkr_(tk), theField(field), initialTSOSAvailable(false),
55  initialTSCPAvailable(false), blStateAvailable(false), theTrackingGeometry(tg),
56  theTIPExtrapolator(AnalyticalPropagator(field, alongMomentum))
57 {
58 
60 }
61 
62 
64  GsfTrack(tt),
65  tkr_(tt.persistentTrackRef()), theField(tt.field()),
66  initialFTS(tt.initialFreeState()), initialTSOSAvailable(false),
67  initialTSCPAvailable(false),
68  theTIPExtrapolator(AnalyticalPropagator(tt.field(), alongMomentum))
69 {
70  if (tt.initialTSOSAvailable) {
72  initialTSOSAvailable = true;
73  }
74  if (tt.initialTSCPAvailable) {
76  initialTSCPAvailable = true;
77  }
78 }
79 
80 
81 
83 
85 
86 }
87 
89 
91 
92 }
93 
95 {
97  blStateAvailable = false;
98 }
99 
100 
102 {
104  return initialTSOS;
105 }
106 
108 {
109  if (!initialTSCPAvailable) {
111  initialTSCPAvailable = true;
112  }
113  return initialTSCP;
114 }
115 
117 {
118  MultiTrajectoryStateTransform theMTransform;
119  return theMTransform.outerStateOnSurface((*this),*theTrackingGeometry,theField);
120 }
121 
123 {
124  MultiTrajectoryStateTransform theMTransform;
125  return theMTransform.innerStateOnSurface((*this),*theTrackingGeometry,theField);
126 }
127 
129 {
132  initialTSOSAvailable = true;
133 }
134 
137 {
139 }
140 
141 
144 {
145  return builder(stateOnSurface(point), point);
146 }
147 
149 {
150  if (!blStateAvailable) {
151  TSCBLBuilderNoMaterial blsBuilder;
153  blStateAvailable = true;
154  }
156 }
157 
TrajectoryStateClosestToPoint trajectoryStateClosestToPoint(const GlobalPoint &point) const
TrajectoryStateClosestToBeamLine trajectoryStateClosestToBeamLine
TrajectoryStateClosestToPoint impactPointTSCP() const
TrajectoryStateOnSurface stateOnSurface(const GlobalPoint &point) const
TrajectoryStateOnSurface initialTSOS
TrajectoryStateOnSurface outerStateOnSurface(const reco::GsfTrack &tk) const
void calculateTSOSAtVertex() const
TransverseImpactPointExtrapolator theTIPExtrapolator
void setTrackingGeometry(const edm::ESHandle< GlobalTrackingGeometry > &)
void setBeamSpot(const reco::BeamSpot &beamSpot)
TSCPBuilderNoMaterial builder
TrajectoryStateOnSurface impactPointState() const
TrajectoryStateClosestToPoint initialTSCP
GlobalPoint position() const
TrajectoryStateClosestToBeamLine stateAtBeamLine() const
const MagneticField * theField
const T & get() const
Definition: EventSetup.h:56
TrajectoryStateOnSurface outermostMeasurementState() const
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalPoint
point in global coordinate system
Definition: Point3D.h:17
TrajectoryStateOnSurface extrapolate(const FreeTrajectoryState &fts, const GlobalPoint &vtx) const
extrapolation with default (=geometrical) propagator
TrajectoryStateOnSurface innerStateOnSurface(const reco::GsfTrack &tk) const
FreeTrajectoryState initialFTS
TrajectoryStateOnSurface innermostMeasurementState() const
volatile std::atomic< bool > shutdown_flag false
FreeTrajectoryState initialFreeState(const reco::Track &tk, const MagneticField *field, bool withErr=true)
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
void setES(const edm::EventSetup &)
edm::ESHandle< GlobalTrackingGeometry > theTrackingGeometry