CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
reco::TransientTrackFromFTS Class Reference

#include <TransientTrackFromFTS.h>

Inheritance diagram for reco::TransientTrackFromFTS:
reco::BasicTransientTrack BasicReferenceCounted

Public Member Functions

TrackCharge charge () const override
 
double dtErrorExt () const override
 
const MagneticFieldfield () const override
 
TrajectoryStateOnSurface impactPointState () const override
 
bool impactPointStateAvailable () const override
 
TrajectoryStateClosestToPoint impactPointTSCP () const override
 
FreeTrajectoryState initialFreeState () const override
 
TrajectoryStateOnSurface innermostMeasurementState () const override
 
TransientTrackFromFTSoperator= (const TransientTrackFromFTS &tt)
 
TrajectoryStateOnSurface outermostMeasurementState () const override
 
void setBeamSpot (const reco::BeamSpot &beamSpot) override
 
void setES (const edm::EventSetup &) override
 
void setTrackingGeometry (const edm::ESHandle< GlobalTrackingGeometry > &) override
 
TrajectoryStateClosestToBeamLine stateAtBeamLine () const override
 
TrajectoryStateOnSurface stateOnSurface (const GlobalPoint &point) const override
 
double timeExt () const override
 
const Tracktrack () const override
 
TrackBaseRef trackBaseRef () const override
 
TrajectoryStateClosestToPoint trajectoryStateClosestToPoint (const GlobalPoint &point) const override
 
 TransientTrackFromFTS ()
 
 TransientTrackFromFTS (const FreeTrajectoryState &fts)
 
 TransientTrackFromFTS (const FreeTrajectoryState &fts, const double time, const double dtime)
 
 TransientTrackFromFTS (const FreeTrajectoryState &fts, const edm::ESHandle< GlobalTrackingGeometry > &trackingGeometry)
 
 TransientTrackFromFTS (const FreeTrajectoryState &fts, const double time, const double dtime, const edm::ESHandle< GlobalTrackingGeometry > &trackingGeometry)
 
 TransientTrackFromFTS (const TransientTrackFromFTS &tt)
 
- Public Member Functions inherited from reco::BasicTransientTrack
virtual CandidatePtr candidate () const
 
 ~BasicTransientTrack () override
 
- Public Member Functions inherited from BasicReferenceCounted
void addReference () const
 
 BasicReferenceCounted ()
 
 BasicReferenceCounted (const BasicReferenceCounted &)
 
 BasicReferenceCounted (BasicReferenceCounted &&)=default
 
BasicReferenceCountedoperator= (BasicReferenceCounted &&)=default
 
BasicReferenceCountedoperator= (const BasicReferenceCounted &)
 
unsigned int references () const
 
void removeReference () const
 
virtual ~BasicReferenceCounted ()
 

Private Member Functions

void calculateTSOSAtVertex () const
 

Private Attributes

bool blStateAvailable
 
TSCPBuilderNoMaterial builder
 
double dtErrorExt_
 
bool hasTime
 
FreeTrajectoryState initialFTS
 
TrajectoryStateClosestToPoint initialTSCP
 
bool initialTSCPAvailable
 
TrajectoryStateOnSurface initialTSOS
 
bool initialTSOSAvailable
 
reco::BeamSpot theBeamSpot
 
const MagneticFieldtheField
 
Track theTrack
 
edm::ESHandle< GlobalTrackingGeometrytheTrackingGeometry
 
double timeExt_
 
bool trackAvailable
 
TrajectoryStateClosestToBeamLine trajectoryStateClosestToBeamLine
 

Additional Inherited Members

- Public Types inherited from reco::BasicTransientTrack
typedef BasicTransientTrack BTT
 
typedef ProxyBase< BTT, CopyUsingClone< BTT > > Proxy
 
typedef ReferenceCountingPointer< BasicTransientTrackRCPtr
 

Detailed Description

Definition at line 16 of file TransientTrackFromFTS.h.

Constructor & Destructor Documentation

TransientTrackFromFTS::TransientTrackFromFTS ( )
TransientTrackFromFTS::TransientTrackFromFTS ( const FreeTrajectoryState fts)
TransientTrackFromFTS::TransientTrackFromFTS ( const FreeTrajectoryState fts,
const double  time,
const double  dtime 
)

Definition at line 25 of file TransientTrackFromFTS.cc.

TransientTrackFromFTS::TransientTrackFromFTS ( const FreeTrajectoryState fts,
const edm::ESHandle< GlobalTrackingGeometry > &  trackingGeometry 
)

Definition at line 35 of file TransientTrackFromFTS.cc.

36  :
37  initialFTS(fts), hasTime(false), timeExt_(0.), dtErrorExt_(0.),
41 {}
const GlobalTrajectoryParameters & parameters() const
const MagneticField * theField
edm::ESHandle< GlobalTrackingGeometry > theTrackingGeometry
const MagneticField & magneticField() const
TransientTrackFromFTS::TransientTrackFromFTS ( const FreeTrajectoryState fts,
const double  time,
const double  dtime,
const edm::ESHandle< GlobalTrackingGeometry > &  trackingGeometry 
)

Definition at line 43 of file TransientTrackFromFTS.cc.

46  :
47  initialFTS(fts), hasTime(true), timeExt_(time), dtErrorExt_(dtime),
51 {}
const GlobalTrajectoryParameters & parameters() const
const MagneticField * theField
edm::ESHandle< GlobalTrackingGeometry > theTrackingGeometry
const MagneticField & magneticField() const
TransientTrackFromFTS::TransientTrackFromFTS ( const TransientTrackFromFTS tt)

Definition at line 54 of file TransientTrackFromFTS.cc.

References impactPointState(), impactPointTSCP(), initialTSCP, initialTSCPAvailable, initialTSOS, and initialTSOSAvailable.

54  :
57  theField(tt.field()), initialTSOSAvailable(false),
59 {
60  if (tt.initialTSOSAvailable) {
62  initialTSOSAvailable = true;
63  }
64  if (tt.initialTSCPAvailable) {
66  initialTSCPAvailable = true;
67  }
68 }
const MagneticField * field() const override
TrajectoryStateOnSurface initialTSOS
const MagneticField * theField
TrajectoryStateClosestToPoint initialTSCP
FreeTrajectoryState initialFreeState() const override
TrajectoryStateOnSurface impactPointState() const override
TrajectoryStateClosestToPoint impactPointTSCP() const override

Member Function Documentation

void TransientTrackFromFTS::calculateTSOSAtVertex ( ) const
private
TrackCharge reco::TransientTrackFromFTS::charge ( void  ) const
inlineoverridevirtual

Implements reco::BasicTransientTrack.

Definition at line 62 of file TransientTrackFromFTS.h.

References FreeTrajectoryState::charge(), and initialFTS.

62 {return initialFTS.charge();}
TrackCharge charge() const
double reco::TransientTrackFromFTS::dtErrorExt ( ) const
inlineoverridevirtual

Implements reco::BasicTransientTrack.

Definition at line 73 of file TransientTrackFromFTS.h.

References calculateTSOSAtVertex(), dtErrorExt_, and hasTime.

73 { return ( hasTime ? dtErrorExt_ : std::numeric_limits<double>::quiet_NaN() ); }
const MagneticField* reco::TransientTrackFromFTS::field ( ) const
inlineoverridevirtual

Implements reco::BasicTransientTrack.

Definition at line 64 of file TransientTrackFromFTS.h.

References theField, and track().

64 {return theField;}
const MagneticField * theField
TrajectoryStateOnSurface TransientTrackFromFTS::impactPointState ( ) const
overridevirtual
bool reco::TransientTrackFromFTS::impactPointStateAvailable ( ) const
inlineoverridevirtual
TrajectoryStateClosestToPoint TransientTrackFromFTS::impactPointTSCP ( ) const
overridevirtual
FreeTrajectoryState reco::TransientTrackFromFTS::initialFreeState ( ) const
inlineoverridevirtual
TrajectoryStateOnSurface TransientTrackFromFTS::innermostMeasurementState ( ) const
overridevirtual

Implements reco::BasicTransientTrack.

Definition at line 111 of file TransientTrackFromFTS.cc.

References Exception.

Referenced by initialFreeState().

112 {
113  throw cms::Exception("LogicError") <<
114  "TransientTrack built from a FreeTrajectoryState (TransientTrackFromFTS) can not have an innermostMeasurementState";
115 }
TransientTrackFromFTS& reco::TransientTrackFromFTS::operator= ( const TransientTrackFromFTS tt)
TrajectoryStateOnSurface TransientTrackFromFTS::outermostMeasurementState ( ) const
overridevirtual

Implements reco::BasicTransientTrack.

Definition at line 105 of file TransientTrackFromFTS.cc.

References Exception.

Referenced by initialFreeState().

106 {
107  throw cms::Exception("LogicError") <<
108  "TransientTrack built from a FreeTrajectoryState (TransientTrackFromFTS) can not have an outermostMeasurementState";
109 }
void TransientTrackFromFTS::setBeamSpot ( const reco::BeamSpot beamSpot)
overridevirtual
void TransientTrackFromFTS::setES ( const edm::EventSetup setup)
overridevirtual

Implements reco::BasicTransientTrack.

Definition at line 72 of file TransientTrackFromFTS.cc.

References edm::EventSetup::get(), and theTrackingGeometry.

73 {
75 }
edm::ESHandle< GlobalTrackingGeometry > theTrackingGeometry
const T & get() const
Definition: EventSetup.h:55
void TransientTrackFromFTS::setTrackingGeometry ( const edm::ESHandle< GlobalTrackingGeometry > &  tg)
overridevirtual

Implements reco::BasicTransientTrack.

Definition at line 78 of file TransientTrackFromFTS.cc.

References theTrackingGeometry.

79 {
81 }
edm::ESHandle< GlobalTrackingGeometry > theTrackingGeometry
TrajectoryStateClosestToBeamLine TransientTrackFromFTS::stateAtBeamLine ( ) const
overridevirtual
TrajectoryStateOnSurface TransientTrackFromFTS::stateOnSurface ( const GlobalPoint point) const
overridevirtual

The TSOS at any point. The initial state will be used for the propagation.

Implements reco::BasicTransientTrack.

Definition at line 126 of file TransientTrackFromFTS.cc.

References TransverseImpactPointExtrapolator::extrapolate(), initialFTS, and theField.

Referenced by trajectoryStateClosestToPoint().

127 {
129  return tipe.extrapolate(initialFTS, point);
130 }
const MagneticField * theField
double reco::TransientTrackFromFTS::timeExt ( ) const
inlineoverridevirtual

Implements reco::BasicTransientTrack.

Definition at line 72 of file TransientTrackFromFTS.h.

References hasTime, and timeExt_.

72 { return ( hasTime ? timeExt_ : std::numeric_limits<double>::quiet_NaN() ); }
const Track & TransientTrackFromFTS::track ( ) const
overridevirtual

Implements reco::BasicTransientTrack.

Definition at line 132 of file TransientTrackFromFTS.cc.

References FreeTrajectoryState::charge(), FreeTrajectoryState::curvilinearError(), initialFTS, FreeTrajectoryState::momentum(), AlCaHLTBitMon_ParallelJobs::p, FreeTrajectoryState::position(), theTrack, trackAvailable, unlikely, and findQualityFiles::v.

Referenced by field().

133 {
134  if unlikely(!trackAvailable) {
136  math::XYZPoint pos( v.x(), v.y(), v.z() );
138  math::XYZVector mom( p.x(), p.y(), p.z() );
139 
140  theTrack = Track(0., 0., pos, mom, initialFTS.charge(),
142  trackAvailable = true;
143  }
144  return theTrack;
145 }
T y() const
Definition: PV3DBase.h:63
TrackCharge charge() const
const CurvilinearTrajectoryError & curvilinearError() const
#define unlikely(x)
T z() const
Definition: PV3DBase.h:64
GlobalVector momentum() const
GlobalPoint position() const
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:30
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
T x() const
Definition: PV3DBase.h:62
TrackBaseRef reco::TransientTrackFromFTS::trackBaseRef ( ) const
inlineoverridevirtual

Implements reco::BasicTransientTrack.

Definition at line 68 of file TransientTrackFromFTS.h.

References stateAtBeamLine().

68 { return TrackBaseRef();}
edm::RefToBase< reco::Track > TrackBaseRef
persistent reference to a Track, using views
Definition: TrackFwd.h:32
TrajectoryStateClosestToPoint reco::TransientTrackFromFTS::trajectoryStateClosestToPoint ( const GlobalPoint point) const
inlineoverridevirtual

Implements reco::BasicTransientTrack.

Definition at line 48 of file TransientTrackFromFTS.h.

References builder, impactPointState(), impactPointTSCP(), initialFTS, point, and stateOnSurface().

49  {return builder(initialFTS, point);}

Member Data Documentation

bool reco::TransientTrackFromFTS::blStateAvailable
mutableprivate

Definition at line 84 of file TransientTrackFromFTS.h.

Referenced by setBeamSpot(), and stateAtBeamLine().

TSCPBuilderNoMaterial reco::TransientTrackFromFTS::builder
private

Definition at line 88 of file TransientTrackFromFTS.h.

Referenced by impactPointTSCP(), and trajectoryStateClosestToPoint().

double reco::TransientTrackFromFTS::dtErrorExt_
private

Definition at line 82 of file TransientTrackFromFTS.h.

Referenced by dtErrorExt().

bool reco::TransientTrackFromFTS::hasTime
private

Definition at line 80 of file TransientTrackFromFTS.h.

Referenced by dtErrorExt(), and timeExt().

FreeTrajectoryState reco::TransientTrackFromFTS::initialFTS
private
TrajectoryStateClosestToPoint reco::TransientTrackFromFTS::initialTSCP
mutableprivate

Definition at line 86 of file TransientTrackFromFTS.h.

Referenced by impactPointTSCP(), and TransientTrackFromFTS().

bool reco::TransientTrackFromFTS::initialTSCPAvailable
mutableprivate

Definition at line 84 of file TransientTrackFromFTS.h.

Referenced by impactPointTSCP(), and TransientTrackFromFTS().

TrajectoryStateOnSurface reco::TransientTrackFromFTS::initialTSOS
mutableprivate
bool reco::TransientTrackFromFTS::initialTSOSAvailable
mutableprivate
reco::BeamSpot reco::TransientTrackFromFTS::theBeamSpot
private

Definition at line 90 of file TransientTrackFromFTS.h.

Referenced by setBeamSpot(), and stateAtBeamLine().

const MagneticField* reco::TransientTrackFromFTS::theField
private

Definition at line 83 of file TransientTrackFromFTS.h.

Referenced by calculateTSOSAtVertex(), field(), and stateOnSurface().

Track reco::TransientTrackFromFTS::theTrack
mutableprivate

Definition at line 87 of file TransientTrackFromFTS.h.

Referenced by track().

edm::ESHandle<GlobalTrackingGeometry> reco::TransientTrackFromFTS::theTrackingGeometry
private

Definition at line 89 of file TransientTrackFromFTS.h.

Referenced by setES(), and setTrackingGeometry().

double reco::TransientTrackFromFTS::timeExt_
private

Definition at line 81 of file TransientTrackFromFTS.h.

Referenced by timeExt().

bool reco::TransientTrackFromFTS::trackAvailable
mutableprivate

Definition at line 84 of file TransientTrackFromFTS.h.

Referenced by track().

TrajectoryStateClosestToBeamLine reco::TransientTrackFromFTS::trajectoryStateClosestToBeamLine
mutableprivate

Definition at line 91 of file TransientTrackFromFTS.h.

Referenced by stateAtBeamLine().