CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
ReferenceTrajectoryBase Class Referenceabstract

#include <ReferenceTrajectoryBase.h>

Inheritance diagram for ReferenceTrajectoryBase:
ReferenceCounted DualReferenceTrajectory ReferenceTrajectory TwoBodyDecayTrajectory DualBzeroReferenceTrajectory BzeroReferenceTrajectory

Public Types

enum  MaterialEffects {
  none, multipleScattering, energyLoss, combined,
  breakPoints, brokenLinesCoarse, brokenLinesFine, localGBL,
  curvlinGBL
}
 
typedef
ReferenceCountingPointer
< ReferenceTrajectoryBase
ReferenceTrajectoryPtr
 

Public Member Functions

virtual ReferenceTrajectoryBaseclone () const =0
 
const AlgebraicMatrixderivatives () const
 
const TMatrixD & gblExtDerivatives () const
 
const TVectorD & gblExtMeasurements () const
 
const TVectorD & gblExtPrecisions () const
 
std::vector< std::pair
< std::vector< GblPoint >
, TMatrixD > > & 
gblInput ()
 
bool isValid ()
 
const AlgebraicMatrixlocalToTrajectory () const
 
const AlgebraicSymMatrixmeasurementErrors () const
 
const AlgebraicVectormeasurements () const
 
int nominalField () const
 
unsigned int numberOfHitMeas () const
 
unsigned int numberOfHits () const
 
unsigned int numberOfPar () const
 
unsigned int numberOfVirtualMeas () const
 
unsigned int numberOfVirtualPar () const
 
const AlgebraicSymMatrixparameterErrors () const
 
bool parameterErrorsAvailable () const
 
const AlgebraicVectorparameters () const
 
const
TransientTrackingRecHit::ConstRecHitContainer
recHits () const
 
void setParameterErrors (const AlgebraicSymMatrix &error)
 
const AlgebraicSymMatrixtrajectoryPositionErrors () const
 
const AlgebraicVectortrajectoryPositions () const
 
const std::vector
< TrajectoryStateOnSurface > & 
trajectoryStates () const
 
const AlgebraicMatrixtrajectoryToCurv () const
 
virtual ~ReferenceTrajectoryBase ()
 

Protected Member Functions

unsigned int numberOfUsedRecHits (const TransientTrackingRecHit::ConstRecHitContainer &recHits) const
 
 ReferenceTrajectoryBase (unsigned int nPar, unsigned int nHits, unsigned int nVirtualPar, unsigned int nVirtualMeas)
 
bool useRecHit (const TransientTrackingRecHit::ConstRecHitPointer &hitPtr) const
 

Protected Attributes

AlgebraicMatrix theDerivatives
 
TMatrixD theGblExtDerivatives
 
TVectorD theGblExtMeasurements
 
TVectorD theGblExtPrecisions
 
std::vector< std::pair
< std::vector< GblPoint >
, TMatrixD > > 
theGblInput
 
AlgebraicMatrix theInnerLocalToTrajectory
 
AlgebraicMatrix theInnerTrajectoryToCurvilinear
 
AlgebraicVector theMeasurements
 
AlgebraicSymMatrix theMeasurementsCov
 
int theNomField
 
unsigned int theNumberOfHits
 
unsigned int theNumberOfPars
 
unsigned int theNumberOfVirtualMeas
 
unsigned int theNumberOfVirtualPars
 
bool theParamCovFlag
 
AlgebraicSymMatrix theParameterCov
 
AlgebraicVector theParameters
 
TransientTrackingRecHit::ConstRecHitContainer theRecHits
 
AlgebraicSymMatrix theTrajectoryPositionCov
 
AlgebraicVector theTrajectoryPositions
 
std::vector
< TrajectoryStateOnSurface
theTsosVec
 
bool theValidityFlag
 

Static Protected Attributes

static const unsigned int nMeasPerHit = 2
 

Detailed Description

Definition at line 104 of file ReferenceTrajectoryBase.h.

Member Typedef Documentation

Definition at line 109 of file ReferenceTrajectoryBase.h.

Member Enumeration Documentation

Constructor & Destructor Documentation

virtual ReferenceTrajectoryBase::~ReferenceTrajectoryBase ( )
inlinevirtual

Definition at line 114 of file ReferenceTrajectoryBase.h.

114 {}
ReferenceTrajectoryBase::ReferenceTrajectoryBase ( unsigned int  nPar,
unsigned int  nHits,
unsigned int  nVirtualPar,
unsigned int  nVirtualMeas 
)
explicitprotected

Definition at line 3 of file ReferenceTrajectoryBase.cc.

References theRecHits, and theTsosVec.

5  : theValidityFlag(false), theParamCovFlag(false),
6  theNumberOfHits( nHits ), theNumberOfPars( nPar ),
7  theNumberOfVirtualMeas( nVirtualMeas ), theNumberOfVirtualPars( nVirtualPar ),
9  theMeasurements(nMeasPerHit * nHits + nVirtualMeas),
10  theMeasurementsCov(nMeasPerHit * nHits + nVirtualMeas, 0),
13  theParameters(nPar),
14  theParameterCov(nPar, 0),
15  theDerivatives(nMeasPerHit * nHits + nVirtualMeas, nPar + nVirtualPar, 0),
17  theInnerLocalToTrajectory( 5, 5, 0 )
18 {
19  theTsosVec.reserve(nHits);
20  theRecHits.reserve(nHits);
21 }
AlgebraicMatrix theInnerTrajectoryToCurvilinear
AlgebraicMatrix theInnerLocalToTrajectory
static const unsigned int nMeasPerHit
AlgebraicSymMatrix theTrajectoryPositionCov
TransientTrackingRecHit::ConstRecHitContainer theRecHits
AlgebraicSymMatrix theMeasurementsCov
AlgebraicSymMatrix theParameterCov
std::vector< TrajectoryStateOnSurface > theTsosVec

Member Function Documentation

virtual ReferenceTrajectoryBase* ReferenceTrajectoryBase::clone ( ) const
pure virtual
const AlgebraicMatrix& ReferenceTrajectoryBase::derivatives ( void  ) const
inline

Returns the derivatives of the local coordinates of the reference trajectory (i.e. trajectoryPositions) w.r.t. the initial 'trajectory'-parameters.

Definition at line 138 of file ReferenceTrajectoryBase.h.

Referenced by TwoBodyDecayTrajectory::construct(), and DualReferenceTrajectory::construct().

138 { return theDerivatives; }
const TMatrixD& ReferenceTrajectoryBase::gblExtDerivatives ( ) const
inline

Returns the GBL external derivatives.

Definition at line 153 of file ReferenceTrajectoryBase.h.

const TVectorD& ReferenceTrajectoryBase::gblExtMeasurements ( ) const
inline

Returns the GBL external derivatives.

Definition at line 157 of file ReferenceTrajectoryBase.h.

const TVectorD& ReferenceTrajectoryBase::gblExtPrecisions ( ) const
inline

Returns the GBL external derivatives.

Definition at line 161 of file ReferenceTrajectoryBase.h.

std::vector<std::pair<std::vector<GblPoint>, TMatrixD> >& ReferenceTrajectoryBase::gblInput ( )
inline

Returns the GBL input

Definition at line 149 of file ReferenceTrajectoryBase.h.

Referenced by TwoBodyDecayTrajectory::construct().

149 { return theGblInput; }
std::vector< std::pair< std::vector< GblPoint >, TMatrixD > > theGblInput
bool ReferenceTrajectoryBase::isValid ( void  )
inline
const AlgebraicMatrix& ReferenceTrajectoryBase::localToTrajectory ( ) const
inline

Returns the transformation of local to tracjectory parameters

Definition at line 145 of file ReferenceTrajectoryBase.h.

Referenced by TwoBodyDecayTrajectory::construct().

145 { return theInnerLocalToTrajectory; }
AlgebraicMatrix theInnerLocalToTrajectory
const AlgebraicSymMatrix& ReferenceTrajectoryBase::measurementErrors ( ) const
inline

Returns the full covariance matrix of the measurements. ORCA-equivalent: covariance()

Definition at line 124 of file ReferenceTrajectoryBase.h.

Referenced by TwoBodyDecayTrajectory::construct(), and DualReferenceTrajectory::construct().

124 { return theMeasurementsCov; }
AlgebraicSymMatrix theMeasurementsCov
const AlgebraicVector& ReferenceTrajectoryBase::measurements ( ) const
inline

Returns the measurements in local coordinates.

Definition at line 120 of file ReferenceTrajectoryBase.h.

Referenced by TwoBodyDecayTrajectory::construct(), and DualReferenceTrajectory::construct().

120 { return theMeasurements; }
int ReferenceTrajectoryBase::nominalField ( ) const
inline

Definition at line 194 of file ReferenceTrajectoryBase.h.

Referenced by TwoBodyDecayTrajectory::construct().

unsigned int ReferenceTrajectoryBase::numberOfHitMeas ( ) const
inline
unsigned int ReferenceTrajectoryBase::numberOfHits ( ) const
inline

Definition at line 189 of file ReferenceTrajectoryBase.h.

Referenced by TwoBodyDecayTrajectory::construct().

189 { return theNumberOfHits; }
unsigned int ReferenceTrajectoryBase::numberOfPar ( ) const
inline

Definition at line 190 of file ReferenceTrajectoryBase.h.

Referenced by TwoBodyDecayTrajectory::construct().

190 { return theNumberOfPars; }
unsigned int ReferenceTrajectoryBase::numberOfUsedRecHits ( const TransientTrackingRecHit::ConstRecHitContainer recHits) const
protected

Definition at line 25 of file ReferenceTrajectoryBase.cc.

References useRecHit().

26 {
27  unsigned int nUsedHits = 0;
28  TransientTrackingRecHit::ConstRecHitContainer::const_iterator itHit;
29  for ( itHit = recHits.begin(); itHit != recHits.end(); ++itHit ) if ( useRecHit( *itHit ) ) ++nUsedHits;
30  return nUsedHits;
31 }
const TransientTrackingRecHit::ConstRecHitContainer & recHits() const
bool useRecHit(const TransientTrackingRecHit::ConstRecHitPointer &hitPtr) const
unsigned int ReferenceTrajectoryBase::numberOfVirtualMeas ( ) const
inline
unsigned int ReferenceTrajectoryBase::numberOfVirtualPar ( ) const
inline

Definition at line 192 of file ReferenceTrajectoryBase.h.

Referenced by TwoBodyDecayTrajectory::construct().

192 { return theNumberOfVirtualPars; }
const AlgebraicSymMatrix& ReferenceTrajectoryBase::parameterErrors ( ) const
inline

Returns the covariance matrix of the 'track'-parameters.

Definition at line 178 of file ReferenceTrajectoryBase.h.

178 { return theParameterCov; }
AlgebraicSymMatrix theParameterCov
bool ReferenceTrajectoryBase::parameterErrorsAvailable ( ) const
inline

Returns true if the covariance matrix of the 'track'-parameters is set.

Definition at line 170 of file ReferenceTrajectoryBase.h.

const AlgebraicVector& ReferenceTrajectoryBase::parameters ( void  ) const
inline
const TransientTrackingRecHit::ConstRecHitContainer& ReferenceTrajectoryBase::recHits ( ) const
inline

Returns the TransientTrackingRecHits (as ConstRecHitPointer's), order might depend on concrete implementation of inheriting class

Definition at line 187 of file ReferenceTrajectoryBase.h.

Referenced by DualReferenceTrajectory::construct().

187 { return theRecHits; }
TransientTrackingRecHit::ConstRecHitContainer theRecHits
void ReferenceTrajectoryBase::setParameterErrors ( const AlgebraicSymMatrix error)
inline

Set the covariance matrix of the 'track'-parameters.

Definition at line 174 of file ReferenceTrajectoryBase.h.

References relativeConstraints::error.

Referenced by TwoBodyDecayTrajectoryFactory::constructTrajectories().

const AlgebraicSymMatrix& ReferenceTrajectoryBase::trajectoryPositionErrors ( ) const
inline

Returns the covariance matrix of the reference trajectory.

Definition at line 133 of file ReferenceTrajectoryBase.h.

Referenced by DualReferenceTrajectory::construct().

133 { return theTrajectoryPositionCov; }
AlgebraicSymMatrix theTrajectoryPositionCov
const AlgebraicVector& ReferenceTrajectoryBase::trajectoryPositions ( ) const
inline

Returns the local coordinates of the reference trajectory. ORCA-equivalent: referenceTrack()

Definition at line 129 of file ReferenceTrajectoryBase.h.

Referenced by TwoBodyDecayTrajectory::construct(), and DualReferenceTrajectory::construct().

129 { return theTrajectoryPositions; }
const std::vector<TrajectoryStateOnSurface>& ReferenceTrajectoryBase::trajectoryStates ( ) const
inline

Returns the Tsos at the surfaces of the hits, parallel to recHits()

Definition at line 182 of file ReferenceTrajectoryBase.h.

Referenced by TwoBodyDecayTrajectory::construct(), DualReferenceTrajectory::construct(), and TwoBodyDecayTrajectory::constructTsosVecWithErrors().

182 { return theTsosVec; }
std::vector< TrajectoryStateOnSurface > theTsosVec
const AlgebraicMatrix& ReferenceTrajectoryBase::trajectoryToCurv ( ) const
inline

Returns the transformation of tracjectory to curvilinear parameters

Definition at line 142 of file ReferenceTrajectoryBase.h.

AlgebraicMatrix theInnerTrajectoryToCurvilinear
bool ReferenceTrajectoryBase::useRecHit ( const TransientTrackingRecHit::ConstRecHitPointer hitPtr) const
protected

Definition at line 35 of file ReferenceTrajectoryBase.cc.

Referenced by ReferenceTrajectory::construct(), and numberOfUsedRecHits().

36 {
37  return hitPtr->isValid();
38 }

Member Data Documentation

const unsigned int ReferenceTrajectoryBase::nMeasPerHit = 2
staticprotected
AlgebraicMatrix ReferenceTrajectoryBase::theDerivatives
protected
TMatrixD ReferenceTrajectoryBase::theGblExtDerivatives
protected

Definition at line 236 of file ReferenceTrajectoryBase.h.

Referenced by TwoBodyDecayTrajectory::construct().

TVectorD ReferenceTrajectoryBase::theGblExtMeasurements
protected

Definition at line 237 of file ReferenceTrajectoryBase.h.

Referenced by TwoBodyDecayTrajectory::construct().

TVectorD ReferenceTrajectoryBase::theGblExtPrecisions
protected

Definition at line 238 of file ReferenceTrajectoryBase.h.

Referenced by TwoBodyDecayTrajectory::construct().

std::vector<std::pair<std::vector<GblPoint>, TMatrixD> > ReferenceTrajectoryBase::theGblInput
protected
AlgebraicMatrix ReferenceTrajectoryBase::theInnerLocalToTrajectory
protected
AlgebraicMatrix ReferenceTrajectoryBase::theInnerTrajectoryToCurvilinear
protected
AlgebraicVector ReferenceTrajectoryBase::theMeasurements
protected
AlgebraicSymMatrix ReferenceTrajectoryBase::theMeasurementsCov
protected
int ReferenceTrajectoryBase::theNomField
protected
unsigned int ReferenceTrajectoryBase::theNumberOfHits
protected
unsigned int ReferenceTrajectoryBase::theNumberOfPars
protected
unsigned int ReferenceTrajectoryBase::theNumberOfVirtualMeas
protected
unsigned int ReferenceTrajectoryBase::theNumberOfVirtualPars
protected
bool ReferenceTrajectoryBase::theParamCovFlag
protected

Definition at line 207 of file ReferenceTrajectoryBase.h.

AlgebraicSymMatrix ReferenceTrajectoryBase::theParameterCov
protected

Definition at line 224 of file ReferenceTrajectoryBase.h.

AlgebraicVector ReferenceTrajectoryBase::theParameters
protected
TransientTrackingRecHit::ConstRecHitContainer ReferenceTrajectoryBase::theRecHits
protected
AlgebraicSymMatrix ReferenceTrajectoryBase::theTrajectoryPositionCov
protected
AlgebraicVector ReferenceTrajectoryBase::theTrajectoryPositions
protected
std::vector<TrajectoryStateOnSurface> ReferenceTrajectoryBase::theTsosVec
protected
bool ReferenceTrajectoryBase::theValidityFlag
protected