#include <TrackingTools/TransientTrack/interface/TransientTrackFromFTS.h>
Definition at line 16 of file TransientTrackFromFTS.h.
TransientTrackFromFTS::TransientTrackFromFTS | ( | ) |
Definition at line 11 of file TransientTrackFromFTS.cc.
00011 : 00012 theField(0), initialTSOSAvailable(false), initialTSCPAvailable(false), 00013 trackAvailable(false), blStateAvailable(false) 00014 {}
TransientTrackFromFTS::TransientTrackFromFTS | ( | const FreeTrajectoryState & | fts | ) |
Definition at line 16 of file TransientTrackFromFTS.cc.
00016 : 00017 initialFTS(fts), theField(&(initialFTS.parameters().magneticField())), 00018 initialTSOSAvailable(false), initialTSCPAvailable(false), trackAvailable(false), 00019 blStateAvailable(false) 00020 {}
TransientTrackFromFTS::TransientTrackFromFTS | ( | const FreeTrajectoryState & | fts, | |
const edm::ESHandle< GlobalTrackingGeometry > & | trackingGeometry | |||
) |
Definition at line 23 of file TransientTrackFromFTS.cc.
00024 : 00025 initialFTS(fts), theField(&(initialFTS.parameters().magneticField())), 00026 initialTSOSAvailable(false), initialTSCPAvailable(false), trackAvailable(false), 00027 blStateAvailable(false), theTrackingGeometry(tg) 00028 {}
TransientTrackFromFTS::TransientTrackFromFTS | ( | const TransientTrackFromFTS & | tt | ) |
Definition at line 31 of file TransientTrackFromFTS.cc.
References impactPointState(), impactPointTSCP(), initialTSCP, initialTSCPAvailable, initialTSOS, and initialTSOSAvailable.
00031 : 00032 initialFTS(tt.initialFreeState()), theField(tt.field()), initialTSOSAvailable(false), 00033 initialTSCPAvailable(false), trackAvailable(false) 00034 { 00035 if (tt.initialTSOSAvailable) { 00036 initialTSOS= tt.impactPointState(); 00037 initialTSOSAvailable = true; 00038 } 00039 if (tt.initialTSCPAvailable) { 00040 initialTSCP= tt.impactPointTSCP(); 00041 initialTSCPAvailable = true; 00042 } 00043 }
void TransientTrackFromFTS::calculateTSOSAtVertex | ( | ) | const [private] |
Definition at line 99 of file TransientTrackFromFTS.cc.
References TransverseImpactPointExtrapolator::extrapolate(), initialFTS, initialTSOS, initialTSOSAvailable, FreeTrajectoryState::position(), and theField.
Referenced by impactPointState().
00100 { 00101 TransverseImpactPointExtrapolator tipe(theField); 00102 initialTSOS = tipe.extrapolate(initialFTS, initialFTS.position()); 00103 initialTSOSAvailable = true; 00104 }
TrackCharge reco::TransientTrackFromFTS::charge | ( | void | ) | const [inline, virtual] |
Implements reco::BasicTransientTrack.
Definition at line 56 of file TransientTrackFromFTS.h.
References FreeTrajectoryState::charge(), and initialFTS.
00056 {return initialFTS.charge();}
const MagneticField* reco::TransientTrackFromFTS::field | ( | void | ) | const [inline, virtual] |
Implements reco::BasicTransientTrack.
Definition at line 58 of file TransientTrackFromFTS.h.
References theField.
00058 {return theField;}
TrajectoryStateOnSurface TransientTrackFromFTS::impactPointState | ( | ) | const [virtual] |
Implements reco::BasicTransientTrack.
Definition at line 64 of file TransientTrackFromFTS.cc.
References calculateTSOSAtVertex(), initialTSOS, and initialTSOSAvailable.
Referenced by TransientTrackFromFTS().
00065 { 00066 if (!initialTSOSAvailable) calculateTSOSAtVertex(); 00067 return initialTSOS; 00068 }
bool reco::TransientTrackFromFTS::impactPointStateAvailable | ( | ) | const [inline, virtual] |
Implements reco::BasicTransientTrack.
Definition at line 54 of file TransientTrackFromFTS.h.
References initialTSOSAvailable.
00054 {return initialTSOSAvailable;}
TrajectoryStateClosestToPoint TransientTrackFromFTS::impactPointTSCP | ( | ) | const [virtual] |
Implements reco::BasicTransientTrack.
Definition at line 70 of file TransientTrackFromFTS.cc.
References builder, initialFTS, initialTSCP, initialTSCPAvailable, and FreeTrajectoryState::position().
Referenced by TransientTrackFromFTS().
00071 { 00072 if (!initialTSCPAvailable) { 00073 initialTSCP = builder(initialFTS, initialFTS.position()); 00074 initialTSCPAvailable = true; 00075 } 00076 return initialTSCP; 00077 }
FreeTrajectoryState reco::TransientTrackFromFTS::initialFreeState | ( | ) | const [inline, virtual] |
Implements reco::BasicTransientTrack.
Definition at line 35 of file TransientTrackFromFTS.h.
References initialFTS.
00035 {return initialFTS;}
TrajectoryStateOnSurface TransientTrackFromFTS::innermostMeasurementState | ( | ) | const [virtual] |
Implements reco::BasicTransientTrack.
Definition at line 85 of file TransientTrackFromFTS.cc.
References Exception.
00086 { 00087 throw cms::Exception("LogicError") << 00088 "TransientTrack built from a FreeTrajectoryState (TransientTrackFromFTS) can not have an innermostMeasurementState"; 00089 }
TransientTrackFromFTS& reco::TransientTrackFromFTS::operator= | ( | const TransientTrackFromFTS & | tt | ) |
TrajectoryStateOnSurface TransientTrackFromFTS::outermostMeasurementState | ( | ) | const [virtual] |
Implements reco::BasicTransientTrack.
Definition at line 79 of file TransientTrackFromFTS.cc.
References Exception.
00080 { 00081 throw cms::Exception("LogicError") << 00082 "TransientTrack built from a FreeTrajectoryState (TransientTrackFromFTS) can not have an outermostMeasurementState"; 00083 }
void TransientTrackFromFTS::setBeamSpot | ( | const reco::BeamSpot & | beamSpot | ) | [virtual] |
Implements reco::BasicTransientTrack.
Definition at line 58 of file TransientTrackFromFTS.cc.
References theBeamSpot.
00059 { 00060 theBeamSpot = beamSpot; 00061 }
void TransientTrackFromFTS::setES | ( | const edm::EventSetup & | setup | ) | [virtual] |
Implements reco::BasicTransientTrack.
Definition at line 47 of file TransientTrackFromFTS.cc.
References edm::EventSetup::get(), and theTrackingGeometry.
00048 { 00049 setup.get<GlobalTrackingGeometryRecord>().get(theTrackingGeometry); 00050 }
void TransientTrackFromFTS::setTrackingGeometry | ( | const edm::ESHandle< GlobalTrackingGeometry > & | tg | ) | [virtual] |
Implements reco::BasicTransientTrack.
Definition at line 53 of file TransientTrackFromFTS.cc.
References theTrackingGeometry.
00054 { 00055 theTrackingGeometry = tg; 00056 }
TrajectoryStateClosestToBeamLine TransientTrackFromFTS::stateAtBeamLine | ( | ) | const [virtual] |
Implements reco::BasicTransientTrack.
Definition at line 128 of file TransientTrackFromFTS.cc.
References blStateAvailable, initialFTS, theBeamSpot, and trajectoryStateClosestToBeamLine.
00129 { 00130 if (!blStateAvailable) { 00131 TrajectoryStateClosestToBeamLineBuilder blsBuilder; 00132 trajectoryStateClosestToBeamLine = blsBuilder(initialFTS, theBeamSpot); 00133 blStateAvailable = true; 00134 } 00135 return trajectoryStateClosestToBeamLine; 00136 }
TrajectoryStateOnSurface TransientTrackFromFTS::stateOnSurface | ( | const GlobalPoint & | point | ) | const [virtual] |
The TSOS at any point.
The initial state will be used for the propagation.
Implements reco::BasicTransientTrack.
Definition at line 107 of file TransientTrackFromFTS.cc.
References TransverseImpactPointExtrapolator::extrapolate(), initialFTS, and theField.
00108 { 00109 TransverseImpactPointExtrapolator tipe(theField); 00110 return tipe.extrapolate(initialFTS, point); 00111 }
Implements reco::BasicTransientTrack.
Definition at line 113 of file TransientTrackFromFTS.cc.
References FreeTrajectoryState::charge(), FreeTrajectoryState::curvilinearError(), initialFTS, FreeTrajectoryState::momentum(), p, FreeTrajectoryState::position(), theTrack, trackAvailable, v, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
00114 { 00115 if (!trackAvailable) { 00116 GlobalPoint v = initialFTS.position(); 00117 math::XYZPoint pos( v.x(), v.y(), v.z() ); 00118 GlobalVector p = initialFTS.momentum(); 00119 math::XYZVector mom( p.x(), p.y(), p.z() ); 00120 00121 theTrack = Track(0., 0., pos, mom, initialFTS.charge(), 00122 initialFTS.curvilinearError()); 00123 trackAvailable = true; 00124 } 00125 return theTrack; 00126 }
TrackBaseRef TransientTrackFromFTS::trackBaseRef | ( | ) | const [virtual] |
Implements reco::BasicTransientTrack.
Definition at line 92 of file TransientTrackFromFTS.cc.
References Exception.
00093 { 00094 throw cms::Exception("LogicError") << 00095 "TransientTrack built from a FreeTrajectoryState (TransientTrackFromFTS) can not have an TrackBaseRef"; 00096 }
TrajectoryStateClosestToPoint reco::TransientTrackFromFTS::trajectoryStateClosestToPoint | ( | const GlobalPoint & | point | ) | const [inline, virtual] |
Implements reco::BasicTransientTrack.
Definition at line 42 of file TransientTrackFromFTS.h.
References builder, and initialFTS.
00043 {return builder(initialFTS, point);}
bool reco::TransientTrackFromFTS::blStateAvailable [mutable, private] |
Definition at line 76 of file TransientTrackFromFTS.h.
Referenced by impactPointTSCP(), and trajectoryStateClosestToPoint().
Definition at line 70 of file TransientTrackFromFTS.h.
Referenced by calculateTSOSAtVertex(), charge(), impactPointTSCP(), initialFreeState(), stateAtBeamLine(), stateOnSurface(), track(), and trajectoryStateClosestToPoint().
TrajectoryStateClosestToPoint reco::TransientTrackFromFTS::initialTSCP [mutable, private] |
Definition at line 74 of file TransientTrackFromFTS.h.
Referenced by impactPointTSCP(), and TransientTrackFromFTS().
bool reco::TransientTrackFromFTS::initialTSCPAvailable [mutable, private] |
Definition at line 72 of file TransientTrackFromFTS.h.
Referenced by impactPointTSCP(), and TransientTrackFromFTS().
TrajectoryStateOnSurface reco::TransientTrackFromFTS::initialTSOS [mutable, private] |
Definition at line 73 of file TransientTrackFromFTS.h.
Referenced by calculateTSOSAtVertex(), impactPointState(), and TransientTrackFromFTS().
bool reco::TransientTrackFromFTS::initialTSOSAvailable [mutable, private] |
Definition at line 72 of file TransientTrackFromFTS.h.
Referenced by calculateTSOSAtVertex(), impactPointState(), impactPointStateAvailable(), and TransientTrackFromFTS().
Definition at line 78 of file TransientTrackFromFTS.h.
Referenced by setBeamSpot(), and stateAtBeamLine().
const MagneticField* reco::TransientTrackFromFTS::theField [private] |
Definition at line 71 of file TransientTrackFromFTS.h.
Referenced by calculateTSOSAtVertex(), field(), and stateOnSurface().
Track reco::TransientTrackFromFTS::theTrack [mutable, private] |
Definition at line 77 of file TransientTrackFromFTS.h.
Referenced by setES(), and setTrackingGeometry().
bool reco::TransientTrackFromFTS::trackAvailable [mutable, private] |