CMS 3D CMS Logo

reco::TransientTrackFromFTS Class Reference

#include <TrackingTools/TransientTrack/interface/TransientTrackFromFTS.h>

Inheritance diagram for reco::TransientTrackFromFTS:

reco::BasicTransientTrack ReferenceCounted

List of all members.

Public Member Functions

TrackCharge charge () const
const MagneticFieldfield () const
TrajectoryStateOnSurface impactPointState () const
bool impactPointStateAvailable () const
TrajectoryStateClosestToPoint impactPointTSCP () const
FreeTrajectoryState initialFreeState () const
TrajectoryStateOnSurface innermostMeasurementState () const
TransientTrackFromFTSoperator= (const TransientTrackFromFTS &tt)
TrajectoryStateOnSurface outermostMeasurementState () const
void setBeamSpot (const reco::BeamSpot &beamSpot)
void setES (const edm::EventSetup &)
void setTrackingGeometry (const edm::ESHandle< GlobalTrackingGeometry > &)
TrajectoryStateClosestToBeamLine stateAtBeamLine () const
TrajectoryStateOnSurface stateOnSurface (const GlobalPoint &point) const
 The TSOS at any point.
const Tracktrack () const
TrackBaseRef trackBaseRef () const
TrajectoryStateClosestToPoint trajectoryStateClosestToPoint (const GlobalPoint &point) const
 TransientTrackFromFTS (const TransientTrackFromFTS &tt)
 TransientTrackFromFTS (const FreeTrajectoryState &fts, const edm::ESHandle< GlobalTrackingGeometry > &trackingGeometry)
 TransientTrackFromFTS (const FreeTrajectoryState &fts)
 TransientTrackFromFTS ()

Private Member Functions

void calculateTSOSAtVertex () const

Private Attributes

bool blStateAvailable
TSCPBuilderNoMaterial builder
FreeTrajectoryState initialFTS
TrajectoryStateClosestToPoint initialTSCP
bool initialTSCPAvailable
TrajectoryStateOnSurface initialTSOS
bool initialTSOSAvailable
reco::BeamSpot theBeamSpot
const MagneticFieldtheField
Track theTrack
edm::ESHandle
< GlobalTrackingGeometry
theTrackingGeometry
bool trackAvailable
TrajectoryStateClosestToBeamLine trajectoryStateClosestToBeamLine


Detailed Description

Definition at line 16 of file TransientTrackFromFTS.h.


Constructor & Destructor Documentation

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 }


Member Function Documentation

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 }

const Track & TransientTrackFromFTS::track ( void   )  const [virtual]

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);}


Member Data Documentation

bool reco::TransientTrackFromFTS::blStateAvailable [mutable, private]

Definition at line 72 of file TransientTrackFromFTS.h.

Referenced by stateAtBeamLine().

TSCPBuilderNoMaterial reco::TransientTrackFromFTS::builder [private]

Definition at line 76 of file TransientTrackFromFTS.h.

Referenced by impactPointTSCP(), and trajectoryStateClosestToPoint().

FreeTrajectoryState reco::TransientTrackFromFTS::initialFTS [private]

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().

reco::BeamSpot reco::TransientTrackFromFTS::theBeamSpot [private]

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 75 of file TransientTrackFromFTS.h.

Referenced by track().

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

Definition at line 77 of file TransientTrackFromFTS.h.

Referenced by setES(), and setTrackingGeometry().

bool reco::TransientTrackFromFTS::trackAvailable [mutable, private]

Definition at line 72 of file TransientTrackFromFTS.h.

Referenced by track().

TrajectoryStateClosestToBeamLine reco::TransientTrackFromFTS::trajectoryStateClosestToBeamLine [mutable, private]

Definition at line 79 of file TransientTrackFromFTS.h.

Referenced by stateAtBeamLine().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:51:34 2009 for CMSSW by  doxygen 1.5.4