CMS 3D CMS Logo

reco::TrackTransientTrack Class Reference

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

Inheritance diagram for reco::TrackTransientTrack:

reco::Track reco::BasicTransientTrack reco::TrackBase 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
TrackTransientTrackoperator= (const TrackTransientTrack &tt)
TrajectoryStateOnSurface outermostMeasurementState () const
TrackRef persistentTrackRef () const
 access to original persistent track
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
 TrackTransientTrack (const TrackTransientTrack &tt)
 TrackTransientTrack (const Track &tk, const MagneticField *field, const edm::ESHandle< GlobalTrackingGeometry > &trackingGeometry)
 TrackTransientTrack (const TrackRef &tk, const MagneticField *field, const edm::ESHandle< GlobalTrackingGeometry > &trackingGeometry)
 TrackTransientTrack (const TrackRef &tk, const MagneticField *field)
 TrackTransientTrack (const Track &tk, const MagneticField *field)
 TrackTransientTrack ()
TrajectoryStateClosestToPoint trajectoryStateClosestToPoint (const GlobalPoint &point) const

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
edm::ESHandle
< GlobalTrackingGeometry
theTrackingGeometry
TrackRef tkr_
TrajectoryStateClosestToBeamLine trajectoryStateClosestToBeamLine


Detailed Description

Definition at line 16 of file TrackTransientTrack.h.


Constructor & Destructor Documentation

TrackTransientTrack::TrackTransientTrack (  ) 

Definition at line 10 of file TrackTransientTrack.cc.

00010                                          : 
00011   Track(), tkr_(), theField(0), initialTSOSAvailable(false),
00012   initialTSCPAvailable(false), blStateAvailable(false)
00013 {
00014 }

TrackTransientTrack::TrackTransientTrack ( const Track tk,
const MagneticField field 
)

Definition at line 16 of file TrackTransientTrack.cc.

References TrajectoryStateTransform::initialFreeState(), and initialFTS.

00016                                                                                        : 
00017   Track(tk), tkr_(), theField(field), initialTSOSAvailable(false),
00018   initialTSCPAvailable(false), blStateAvailable(false)
00019 {
00020   TrajectoryStateTransform theTransform;
00021   initialFTS = theTransform.initialFreeState(tk, field);
00022 }

TrackTransientTrack::TrackTransientTrack ( const TrackRef tk,
const MagneticField field 
)

Definition at line 25 of file TrackTransientTrack.cc.

References TrajectoryStateTransform::initialFreeState(), and initialFTS.

00025                                                                                           : 
00026   Track(*tk), tkr_(tk), theField(field), initialTSOSAvailable(false),
00027   initialTSCPAvailable(false), blStateAvailable(false)
00028 {
00029   TrajectoryStateTransform theTransform;
00030   initialFTS = theTransform.initialFreeState(*tk, field);
00031 }

TrackTransientTrack::TrackTransientTrack ( const TrackRef tk,
const MagneticField field,
const edm::ESHandle< GlobalTrackingGeometry > &  trackingGeometry 
)

Definition at line 41 of file TrackTransientTrack.cc.

References TrajectoryStateTransform::initialFreeState(), and initialFTS.

00041                                                                                                                                          :
00042   Track(*tk), tkr_(tk), theField(field), initialTSOSAvailable(false),
00043   initialTSCPAvailable(false), blStateAvailable(false), theTrackingGeometry(tg)
00044 {
00045   TrajectoryStateTransform theTransform;
00046   initialFTS = theTransform.initialFreeState(*tk, field);
00047 }

TrackTransientTrack::TrackTransientTrack ( const Track tk,
const MagneticField field,
const edm::ESHandle< GlobalTrackingGeometry > &  trackingGeometry 
)

Definition at line 33 of file TrackTransientTrack.cc.

References TrajectoryStateTransform::initialFreeState(), and initialFTS.

00033                                                                                                                                       :
00034   Track(tk), tkr_(), theField(field), initialTSOSAvailable(false),
00035   initialTSCPAvailable(false), blStateAvailable(false), theTrackingGeometry(tg)
00036 {
00037   TrajectoryStateTransform theTransform;
00038   initialFTS = theTransform.initialFreeState(tk, field);
00039 }

TrackTransientTrack::TrackTransientTrack ( const TrackTransientTrack tt  ) 

Definition at line 50 of file TrackTransientTrack.cc.

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

00050                                                                          :
00051   Track(tt), tkr_(tt.persistentTrackRef()), theField(tt.field()), 
00052   initialFTS(tt.initialFreeState()), initialTSOSAvailable(false),
00053   initialTSCPAvailable(false)
00054 {
00055   if (tt.initialTSOSAvailable) {
00056     initialTSOS= tt.impactPointState();
00057     initialTSOSAvailable = true;
00058   }
00059   if (tt.initialTSCPAvailable) {
00060     initialTSCP= tt.impactPointTSCP();
00061     initialTSCPAvailable = true;
00062   }
00063 }


Member Function Documentation

void TrackTransientTrack::calculateTSOSAtVertex (  )  const [private]

Definition at line 109 of file TrackTransientTrack.cc.

References TransverseImpactPointExtrapolator::extrapolate(), initialFTS, initialTSOS, initialTSOSAvailable, FreeTrajectoryState::position(), and theField.

Referenced by impactPointState().

00110 {
00111   TransverseImpactPointExtrapolator tipe(theField);
00112   initialTSOS = tipe.extrapolate(initialFTS, initialFTS.position());
00113   initialTSOSAvailable = true;
00114 }

TrackCharge reco::TrackTransientTrack::charge ( void   )  const [inline, virtual]

Implements reco::BasicTransientTrack.

Definition at line 66 of file TrackTransientTrack.h.

References reco::TrackBase::charge().

00066 {return Track::charge();}

const MagneticField* reco::TrackTransientTrack::field ( void   )  const [inline, virtual]

Implements reco::BasicTransientTrack.

Definition at line 68 of file TrackTransientTrack.h.

References theField.

00068 {return theField;}

TrajectoryStateOnSurface TrackTransientTrack::impactPointState (  )  const [virtual]

Implements reco::BasicTransientTrack.

Definition at line 82 of file TrackTransientTrack.cc.

References calculateTSOSAtVertex(), initialTSOS, and initialTSOSAvailable.

Referenced by TrackTransientTrack().

00083 {
00084   if (!initialTSOSAvailable) calculateTSOSAtVertex();
00085   return initialTSOS;
00086 }

bool reco::TrackTransientTrack::impactPointStateAvailable (  )  const [inline, virtual]

Implements reco::BasicTransientTrack.

Definition at line 57 of file TrackTransientTrack.h.

References initialTSOSAvailable.

00057 {return  initialTSOSAvailable;}

TrajectoryStateClosestToPoint TrackTransientTrack::impactPointTSCP (  )  const [virtual]

Implements reco::BasicTransientTrack.

Definition at line 88 of file TrackTransientTrack.cc.

References builder, initialFTS, initialTSCP, initialTSCPAvailable, and FreeTrajectoryState::position().

Referenced by TrackTransientTrack().

00089 {
00090   if (!initialTSCPAvailable) {
00091     initialTSCP = builder(initialFTS, initialFTS.position());
00092     initialTSCPAvailable = true;
00093   }
00094   return initialTSCP;
00095 }

FreeTrajectoryState reco::TrackTransientTrack::initialFreeState (  )  const [inline, virtual]

Implements reco::BasicTransientTrack.

Definition at line 38 of file TrackTransientTrack.h.

References initialFTS.

00038 {return initialFTS;}

TrajectoryStateOnSurface TrackTransientTrack::innermostMeasurementState (  )  const [virtual]

Implements reco::BasicTransientTrack.

Definition at line 103 of file TrackTransientTrack.cc.

References TrajectoryStateTransform::innerStateOnSurface(), theField, and theTrackingGeometry.

00104 {
00105     TrajectoryStateTransform theTransform;
00106     return theTransform.innerStateOnSurface((*this),*theTrackingGeometry,theField);
00107 }

TrackTransientTrack& reco::TrackTransientTrack::operator= ( const TrackTransientTrack tt  ) 

TrajectoryStateOnSurface TrackTransientTrack::outermostMeasurementState (  )  const [virtual]

Implements reco::BasicTransientTrack.

Definition at line 97 of file TrackTransientTrack.cc.

References TrajectoryStateTransform::outerStateOnSurface(), theField, and theTrackingGeometry.

00098 {
00099     TrajectoryStateTransform theTransform;
00100     return theTransform.outerStateOnSurface((*this),*theTrackingGeometry,theField);
00101 }

TrackRef reco::TrackTransientTrack::persistentTrackRef (  )  const [inline]

access to original persistent track

Definition at line 62 of file TrackTransientTrack.h.

References tkr_.

Referenced by ConvertedPhotonProducer::buildCollections(), and ConversionTrackPairFinder::run().

00062 { return tkr_; }

void TrackTransientTrack::setBeamSpot ( const reco::BeamSpot beamSpot  )  [virtual]

Implements reco::BasicTransientTrack.

Definition at line 77 of file TrackTransientTrack.cc.

References theBeamSpot.

00078 {
00079   theBeamSpot = beamSpot;
00080 }

void TrackTransientTrack::setES ( const edm::EventSetup setup  )  [virtual]

Implements reco::BasicTransientTrack.

Definition at line 65 of file TrackTransientTrack.cc.

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

00065                                                           {
00066 
00067   setup.get<GlobalTrackingGeometryRecord>().get(theTrackingGeometry); 
00068 
00069 }

void TrackTransientTrack::setTrackingGeometry ( const edm::ESHandle< GlobalTrackingGeometry > &  tg  )  [virtual]

Implements reco::BasicTransientTrack.

Definition at line 71 of file TrackTransientTrack.cc.

References theTrackingGeometry.

00071                                                                                            {
00072 
00073   theTrackingGeometry = tg;
00074 
00075 }

TrajectoryStateClosestToBeamLine TrackTransientTrack::stateAtBeamLine (  )  const [virtual]

Implements reco::BasicTransientTrack.

Definition at line 123 of file TrackTransientTrack.cc.

References blStateAvailable, initialFTS, theBeamSpot, and trajectoryStateClosestToBeamLine.

00124 {
00125   if (!blStateAvailable) {
00126     TrajectoryStateClosestToBeamLineBuilder blsBuilder;
00127     trajectoryStateClosestToBeamLine = blsBuilder(initialFTS, theBeamSpot);
00128     blStateAvailable = true;
00129   }
00130   return trajectoryStateClosestToBeamLine;
00131 }

TrajectoryStateOnSurface TrackTransientTrack::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 117 of file TrackTransientTrack.cc.

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

00118 {
00119   TransverseImpactPointExtrapolator tipe(theField);
00120   return tipe.extrapolate(initialFTS, point);
00121 }

const Track& reco::TrackTransientTrack::track ( void   )  const [inline, virtual]

Implements reco::BasicTransientTrack.

Definition at line 70 of file TrackTransientTrack.h.

00070 {return *this;}

TrackBaseRef reco::TrackTransientTrack::trackBaseRef (  )  const [inline, virtual]

Implements reco::BasicTransientTrack.

Definition at line 64 of file TrackTransientTrack.h.

References tkr_.

Referenced by VertexFitterResult::fill().

00064 {return TrackBaseRef(tkr_);}

TrajectoryStateClosestToPoint reco::TrackTransientTrack::trajectoryStateClosestToPoint ( const GlobalPoint point  )  const [inline, virtual]

Implements reco::BasicTransientTrack.

Definition at line 45 of file TrackTransientTrack.h.

References builder, and initialFTS.

00046       {return builder(initialFTS, point);}


Member Data Documentation

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

Definition at line 82 of file TrackTransientTrack.h.

Referenced by stateAtBeamLine().

TSCPBuilderNoMaterial reco::TrackTransientTrack::builder [private]

Definition at line 85 of file TrackTransientTrack.h.

Referenced by impactPointTSCP(), and trajectoryStateClosestToPoint().

FreeTrajectoryState reco::TrackTransientTrack::initialFTS [private]

Definition at line 81 of file TrackTransientTrack.h.

Referenced by calculateTSOSAtVertex(), impactPointTSCP(), initialFreeState(), stateAtBeamLine(), stateOnSurface(), TrackTransientTrack(), and trajectoryStateClosestToPoint().

TrajectoryStateClosestToPoint reco::TrackTransientTrack::initialTSCP [mutable, private]

Definition at line 84 of file TrackTransientTrack.h.

Referenced by impactPointTSCP(), and TrackTransientTrack().

bool reco::TrackTransientTrack::initialTSCPAvailable [mutable, private]

Definition at line 82 of file TrackTransientTrack.h.

Referenced by impactPointTSCP(), and TrackTransientTrack().

TrajectoryStateOnSurface reco::TrackTransientTrack::initialTSOS [mutable, private]

Definition at line 83 of file TrackTransientTrack.h.

Referenced by calculateTSOSAtVertex(), impactPointState(), and TrackTransientTrack().

bool reco::TrackTransientTrack::initialTSOSAvailable [mutable, private]

Definition at line 82 of file TrackTransientTrack.h.

Referenced by calculateTSOSAtVertex(), impactPointState(), impactPointStateAvailable(), and TrackTransientTrack().

reco::BeamSpot reco::TrackTransientTrack::theBeamSpot [private]

Definition at line 87 of file TrackTransientTrack.h.

Referenced by setBeamSpot(), and stateAtBeamLine().

const MagneticField* reco::TrackTransientTrack::theField [private]

Definition at line 79 of file TrackTransientTrack.h.

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

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

Definition at line 86 of file TrackTransientTrack.h.

Referenced by innermostMeasurementState(), outermostMeasurementState(), setES(), and setTrackingGeometry().

TrackRef reco::TrackTransientTrack::tkr_ [private]

Definition at line 78 of file TrackTransientTrack.h.

Referenced by persistentTrackRef(), and trackBaseRef().

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

Definition at line 88 of file TrackTransientTrack.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