![]() |
![]() |
vvv DEBUG More...
#include <BasicSingleTrajectoryState.h>
vvv DEBUG
Concrete implementation for the state of one trajectory on a surface.
Definition at line 27 of file BasicSingleTrajectoryState.h.
BasicSingleTrajectoryState::BasicSingleTrajectoryState | ( | const FreeTrajectoryState & | fts, |
const Surface & | aSurface, | ||
const SurfaceSide | side = SurfaceSideDefinition::atCenterOfSurface |
||
) |
Constructor from FTS and surface. For surfaces with material the side of the surface should be specified explicitely.
Definition at line 11 of file BasicSingleTrajectoryState.cc.
Referenced by clone().
: theFreeState( new FreeTrajectoryState(fts)), theLocalError(), theLocalParameters(), theLocalParametersValid(false), theLocalErrorValid(false), theGlobalParamsUp2Date(true), theCartesianErrorUp2Date(fts.hasCartesianError()), theCurvilinErrorUp2Date(fts.hasCurvilinearError()), theSurfaceSide(side), theSurfaceP( &aSurface), theWeight(1.), theField( &fts.parameters().magneticField()) {}
BasicSingleTrajectoryState::BasicSingleTrajectoryState | ( | const GlobalTrajectoryParameters & | par, |
const Surface & | aSurface, | ||
const SurfaceSide | side = SurfaceSideDefinition::atCenterOfSurface |
||
) |
Constructor from global parameters and surface. For surfaces with material the side of the surface should be specified explicitely.
Definition at line 29 of file BasicSingleTrajectoryState.cc.
: theFreeState( new FreeTrajectoryState(par)), theLocalError(), theLocalParameters(), theLocalParametersValid(false), theLocalErrorValid(false), theGlobalParamsUp2Date(true), theCartesianErrorUp2Date(false), theCurvilinErrorUp2Date(false), theSurfaceSide(side), theSurfaceP( &aSurface), theWeight(1.), theField( &par.magneticField()) {}
BasicSingleTrajectoryState::BasicSingleTrajectoryState | ( | const GlobalTrajectoryParameters & | par, |
const CartesianTrajectoryError & | err, | ||
const Surface & | aSurface, | ||
const SurfaceSide | side = SurfaceSideDefinition::atCenterOfSurface |
||
) |
Constructor from global parameters, errors and surface. For surfaces with material the side of the surface should be specified explicitely.
Definition at line 47 of file BasicSingleTrajectoryState.cc.
: theFreeState( new FreeTrajectoryState(par, err)), theLocalError(), theLocalParameters(), theLocalParametersValid(false), theLocalErrorValid(false), theGlobalParamsUp2Date(true), theCartesianErrorUp2Date(true), theCurvilinErrorUp2Date(false), theSurfaceSide(side), theSurfaceP( &aSurface), theWeight(1.), theField( &par.magneticField()) {}
BasicSingleTrajectoryState::BasicSingleTrajectoryState | ( | const GlobalTrajectoryParameters & | par, |
const CurvilinearTrajectoryError & | err, | ||
const Surface & | aSurface, | ||
const SurfaceSide | side = SurfaceSideDefinition::atCenterOfSurface , |
||
double | weight = 1. |
||
) |
Constructor from global parameters, errors and surface. For surfaces with material the side of the surface should be specified explicitely. For multi-states the weight should be specified explicitely.
Definition at line 66 of file BasicSingleTrajectoryState.cc.
: theFreeState( new FreeTrajectoryState(par, err)), theLocalError(), theLocalParameters(), theLocalParametersValid(false), theLocalErrorValid(false), theGlobalParamsUp2Date(true), theCartesianErrorUp2Date(false), theCurvilinErrorUp2Date(true), theSurfaceSide(side), theSurfaceP( &aSurface), theWeight(weight), theField( &par.magneticField()) {}
BasicSingleTrajectoryState::BasicSingleTrajectoryState | ( | const GlobalTrajectoryParameters & | par, |
const CurvilinearTrajectoryError & | err, | ||
const Surface & | aSurface, | ||
double | weight | ||
) |
Constructor from global parameters, errors and surface. For multi-states the weight should be specified explicitely. For backward compatibility without specification of the side of the surface.
Definition at line 86 of file BasicSingleTrajectoryState.cc.
: theFreeState( new FreeTrajectoryState(par, err)), theLocalError(), theLocalParameters(), theLocalParametersValid(false), theLocalErrorValid(false), theGlobalParamsUp2Date(true), theCartesianErrorUp2Date(false), theCurvilinErrorUp2Date(true), theSurfaceSide(SurfaceSideDefinition::atCenterOfSurface), theSurfaceP( &aSurface), theWeight(weight), theField( &par.magneticField()) {}
BasicSingleTrajectoryState::BasicSingleTrajectoryState | ( | const LocalTrajectoryParameters & | par, |
const Surface & | aSurface, | ||
const MagneticField * | field, | ||
const SurfaceSide | side = SurfaceSideDefinition::atCenterOfSurface |
||
) |
Constructor from local parameters, errors and surface. For surfaces with material the side of the surface should be specified explicitely.
Definition at line 105 of file BasicSingleTrajectoryState.cc.
: theFreeState(0), theLocalError(), theLocalParameters(par), theLocalParametersValid(true), theLocalErrorValid(false), theGlobalParamsUp2Date(false), theCartesianErrorUp2Date(false), theCurvilinErrorUp2Date(false), theSurfaceSide(side), theSurfaceP( &aSurface), theWeight(1.), theField(field) {}
BasicSingleTrajectoryState::BasicSingleTrajectoryState | ( | const LocalTrajectoryParameters & | par, |
const LocalTrajectoryError & | err, | ||
const Surface & | aSurface, | ||
const MagneticField * | field, | ||
const SurfaceSide | side = SurfaceSideDefinition::atCenterOfSurface , |
||
double | weight = 1. |
||
) |
Constructor from local parameters, errors and surface. For surfaces with material the side of the surface should be specified explicitely. For multi-states the weight should be specified explicitely.
Definition at line 124 of file BasicSingleTrajectoryState.cc.
: theFreeState(0), theLocalError(err), theLocalParameters(par), theLocalParametersValid(true), theLocalErrorValid(true), theGlobalParamsUp2Date(false), theCartesianErrorUp2Date(false), theCurvilinErrorUp2Date(false), theSurfaceSide(side), theSurfaceP( &aSurface), theWeight(weight), theField(field) {}
BasicSingleTrajectoryState::BasicSingleTrajectoryState | ( | const LocalTrajectoryParameters & | par, |
const LocalTrajectoryError & | err, | ||
const Surface & | aSurface, | ||
const MagneticField * | field, | ||
double | weight | ||
) |
Constructor from local parameters, errors and surface. For multi-states the weight should be specified explicitely. For backward compatibility without specification of the side of the surface.
Definition at line 145 of file BasicSingleTrajectoryState.cc.
: theFreeState(0), theLocalError(err), theLocalParameters(par), theLocalParametersValid(true), theLocalErrorValid(true), theGlobalParamsUp2Date(false), theCartesianErrorUp2Date(false), theCurvilinErrorUp2Date(false), theSurfaceSide(SurfaceSideDefinition::atCenterOfSurface), theSurfaceP( &aSurface), theWeight(weight), theField(field) {}
BasicSingleTrajectoryState::BasicSingleTrajectoryState | ( | const Surface & | aSurface | ) | [explicit] |
construct invalid trajectory state (without parameters)
Definition at line 165 of file BasicSingleTrajectoryState.cc.
: theFreeState(0), theLocalError(), theLocalParameters(), theLocalParametersValid(false), theLocalErrorValid(false), theGlobalParamsUp2Date(false), theCartesianErrorUp2Date(false), theCurvilinErrorUp2Date(false), theSurfaceSide(SurfaceSideDefinition::atCenterOfSurface), theSurfaceP( &aSurface), theWeight(0.), theField(0) {}
BasicSingleTrajectoryState::~BasicSingleTrajectoryState | ( | ) | [virtual] |
Definition at line 181 of file BasicSingleTrajectoryState.cc.
{}
virtual bool BasicSingleTrajectoryState::canUpdateLocalParameters | ( | ) | const [inline, virtual] |
Implements BasicTrajectoryState.
Definition at line 181 of file BasicSingleTrajectoryState.h.
{ return true; }
const CartesianTrajectoryError& BasicSingleTrajectoryState::cartesianError | ( | ) | const [inline, virtual] |
Implements BasicTrajectoryState.
Definition at line 125 of file BasicSingleTrajectoryState.h.
References FreeTrajectoryState::cartesianError(), freeTrajectoryState(), hasError(), missingError(), and unlikely.
{ if unlikely(!hasError()) missingError(" accesing cartesian error."); return freeTrajectoryState()->cartesianError(); }
TrackCharge BasicSingleTrajectoryState::charge | ( | void | ) | const [inline, virtual] |
Implements BasicTrajectoryState.
Definition at line 116 of file BasicSingleTrajectoryState.h.
References FreeTrajectoryState::charge(), and freeTrajectoryState().
Referenced by PixelTrackBuilder::build().
{ return freeTrajectoryState(false)->charge(); }
void BasicSingleTrajectoryState::checkCartesianError | ( | ) | const [private] |
Definition at line 239 of file BasicSingleTrajectoryState.cc.
References createLocalError(), createLocalParameters(), JacobianLocalToCartesian::jacobian(), localParameters(), LocalTrajectoryError::matrix(), surface(), theCartesianErrorUp2Date, theFreeState, theLocalError, theLocalErrorValid, and theLocalParametersValid.
Referenced by freeTrajectoryState().
{ if(!theCartesianErrorUp2Date){ if(!theLocalParametersValid) createLocalParameters(); if(!theLocalErrorValid) createLocalError(); theCartesianErrorUp2Date = true; JacobianLocalToCartesian loc2Cart(surface(), localParameters()); const AlgebraicMatrix65& jac = loc2Cart.jacobian(); const AlgebraicSymMatrix66 &cov = ROOT::Math::Similarity(jac, theLocalError.matrix()); //theFreeState->setCartesianError( CartesianTrajectoryError(cov) ); theFreeState->setCartesianError( cov ); } }
void BasicSingleTrajectoryState::checkCurvilinError | ( | ) | const [private] |
Definition at line 221 of file BasicSingleTrajectoryState.cc.
References createLocalError(), createLocalParameters(), JacobianLocalToCurvilinear::jacobian(), localParameters(), LocalTrajectoryError::matrix(), surface(), theCurvilinErrorUp2Date, theField, theFreeState, theLocalError, theLocalErrorValid, and theLocalParametersValid.
Referenced by freeTrajectoryState().
{ if(!theCurvilinErrorUp2Date){ if(!theLocalParametersValid) createLocalParameters(); // after createLocalParameters we can be sure theFreeState is not null if(!theLocalErrorValid) createLocalError(); // cout<<"!theCurvilinErrorUp2Date: create curviError from local"<<endl; theCurvilinErrorUp2Date = true; JacobianLocalToCurvilinear loc2Curv(surface(), localParameters(), *theField); const AlgebraicMatrix55& jac = loc2Curv.jacobian(); const AlgebraicSymMatrix55 &cov = ROOT::Math::Similarity(jac, theLocalError.matrix()); //theFreeState->setCurvilinearError( CurvilinearTrajectoryError(cov) ); theFreeState->setCurvilinearError( cov ); } }
void BasicSingleTrajectoryState::checkGlobalParameters | ( | ) | const [private] |
Definition at line 199 of file BasicSingleTrajectoryState.cc.
References LocalTrajectoryParameters::charge(), LocalTrajectoryParameters::momentum(), AlCaHLTBitMon_ParallelJobs::p, LocalTrajectoryParameters::position(), DeepCopyPointer< T >::replaceWith(), surface(), theCartesianErrorUp2Date, theCurvilinErrorUp2Date, theField, theFreeState, theGlobalParamsUp2Date, theLocalParameters, Surface::toGlobal(), and x.
Referenced by freeTrajectoryState().
{ if(!theGlobalParamsUp2Date){ // cout<<"!theGlobalParamsUp2Date"<<endl; theGlobalParamsUp2Date = true; theCurvilinErrorUp2Date = false; theCartesianErrorUp2Date = false; // calculate global parameters from local GlobalPoint x = surface().toGlobal(theLocalParameters.position()); GlobalVector p = surface().toGlobal(theLocalParameters.momentum()); // replace in place FreeTrajectoryState * fts = &(*theFreeState); if (fts) { fts->~FreeTrajectoryState(); new(fts) FreeTrajectoryState(x, p, theLocalParameters.charge(), theField); }else { theFreeState.replaceWith(new FreeTrajectoryState(x, p, theLocalParameters.charge(), theField)); } } }
BasicSingleTrajectoryState* BasicSingleTrajectoryState::clone | ( | void | ) | const [inline, virtual] |
Implements BasicTrajectoryState.
Definition at line 172 of file BasicSingleTrajectoryState.h.
References BasicSingleTrajectoryState().
{ return new BasicSingleTrajectoryState(*this); }
void BasicSingleTrajectoryState::createLocalError | ( | ) | const [private] |
Definition at line 267 of file BasicSingleTrajectoryState.cc.
References createLocalErrorFromCartesianError(), createLocalErrorFromCurvilinearError(), theFreeState, and theLocalErrorValid.
Referenced by checkCartesianError(), checkCurvilinError(), and localError().
{ if(theFreeState->hasCartesianError()) createLocalErrorFromCartesianError(); else if(theFreeState->hasCurvilinearError()) createLocalErrorFromCurvilinearError(); else theLocalErrorValid = false; }
void BasicSingleTrajectoryState::createLocalErrorFromCartesianError | ( | ) | const [private] |
Definition at line 290 of file BasicSingleTrajectoryState.cc.
References funct::C, JacobianCartesianToLocal::jacobian(), localParameters(), surface(), theFreeState, theLocalError, and theLocalErrorValid.
Referenced by createLocalError().
{ JacobianCartesianToLocal cart2Loc(surface(), localParameters()); const AlgebraicMatrix56& jac = cart2Loc.jacobian(); const AlgebraicSymMatrix55 &C = ROOT::Math::Similarity(jac, theFreeState->cartesianError().matrix()); theLocalError = LocalTrajectoryError(C); theLocalErrorValid = true; }
void BasicSingleTrajectoryState::createLocalErrorFromCurvilinearError | ( | ) | const [private] |
Definition at line 277 of file BasicSingleTrajectoryState.cc.
References JacobianCurvilinearToLocal::jacobian(), localParameters(), surface(), theField, theFreeState, theLocalError, and theLocalErrorValid.
Referenced by createLocalError().
{ JacobianCurvilinearToLocal curv2Loc(surface(), localParameters(), *theField); const AlgebraicMatrix55& jac = curv2Loc.jacobian(); const AlgebraicSymMatrix55 &cov = ROOT::Math::Similarity(jac, theFreeState->curvilinearError().matrix()); // cout<<"Clocal via curvilinear error"<<endl; theLocalError = LocalTrajectoryError(cov); theLocalErrorValid = true; }
void BasicSingleTrajectoryState::createLocalParameters | ( | ) | const [private] |
Definition at line 256 of file BasicSingleTrajectoryState.cc.
References PV3DBase< T, PVType, FrameType >::mag(), AlCaHLTBitMon_ParallelJobs::p, surface(), theFreeState, theLocalParameters, theLocalParametersValid, GloballyPositioned< T >::toLocal(), PV3DBase< T, PVType, FrameType >::x(), x, PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by checkCartesianError(), checkCurvilinError(), and localParameters().
{ LocalPoint x = surface().toLocal(theFreeState->position()); LocalVector p = surface().toLocal(theFreeState->momentum()); // believe p.z() never exactly equals 0. bool isCharged = theFreeState->charge()!=0; theLocalParameters = LocalTrajectoryParameters(isCharged?theFreeState->signedInverseMomentum():1./p.mag(), p.x()/p.z(), p.y()/p.z(), x.x(), x.y(), p.z()>0. ? 1.:-1., isCharged); theLocalParametersValid = true; }
const CurvilinearTrajectoryError& BasicSingleTrajectoryState::curvilinearError | ( | ) | const [inline, virtual] |
Implements BasicTrajectoryState.
Definition at line 129 of file BasicSingleTrajectoryState.h.
References FreeTrajectoryState::curvilinearError(), freeTrajectoryState(), hasError(), missingError(), and unlikely.
Referenced by PixelTrackBuilder::build().
{ if unlikely(!hasError()) missingError(" accesing curvilinearerror."); return freeTrajectoryState()->curvilinearError(); }
FreeTrajectoryState * BasicSingleTrajectoryState::freeTrajectoryState | ( | bool | withErrors = true | ) | const [virtual] |
Implements BasicTrajectoryState.
Definition at line 366 of file BasicSingleTrajectoryState.cc.
References checkCartesianError(), checkCurvilinError(), checkGlobalParameters(), hasError(), isValid(), and notValid().
Referenced by cartesianError(), charge(), curvilinearError(), globalDirection(), globalMomentum(), globalParameters(), globalPosition(), signedInverseMomentum(), and transverseCurvature().
{ if(!isValid()) notValid(); checkGlobalParameters(); //if(hasError()) { // let's start like this to see if we alloc less if(withErrors && hasError()) { // this is the right thing checkCartesianError(); checkCurvilinError(); } return &(*theFreeState); }
GlobalVector BasicSingleTrajectoryState::globalDirection | ( | ) | const [inline, virtual] |
Implements BasicTrajectoryState.
Definition at line 113 of file BasicSingleTrajectoryState.h.
References freeTrajectoryState(), FreeTrajectoryState::momentum(), and Vector3DBase< T, FrameTag >::unit().
{ return freeTrajectoryState(false)->momentum().unit(); }
GlobalVector BasicSingleTrajectoryState::globalMomentum | ( | ) | const [inline, virtual] |
Implements BasicTrajectoryState.
Definition at line 110 of file BasicSingleTrajectoryState.h.
References freeTrajectoryState(), and FreeTrajectoryState::momentum().
Referenced by PixelTrackBuilder::build().
{ return freeTrajectoryState(false)->momentum(); }
const GlobalTrajectoryParameters& BasicSingleTrajectoryState::globalParameters | ( | void | ) | const [inline, virtual] |
Implements BasicTrajectoryState.
Definition at line 104 of file BasicSingleTrajectoryState.h.
References freeTrajectoryState(), and FreeTrajectoryState::parameters().
{ return freeTrajectoryState(false)->parameters(); }
GlobalPoint BasicSingleTrajectoryState::globalPosition | ( | ) | const [inline, virtual] |
Implements BasicTrajectoryState.
Definition at line 107 of file BasicSingleTrajectoryState.h.
References freeTrajectoryState(), and FreeTrajectoryState::position().
Referenced by PixelTrackBuilder::build().
{ return freeTrajectoryState(false)->position(); }
bool BasicSingleTrajectoryState::hasError | ( | void | ) | const [private, virtual] |
Implements BasicTrajectoryState.
Definition at line 379 of file BasicSingleTrajectoryState.cc.
References theFreeState, and theLocalErrorValid.
Referenced by cartesianError(), curvilinearError(), freeTrajectoryState(), localError(), and rescaleError().
{ return (theFreeState && theFreeState->hasError()) || theLocalErrorValid; }
bool BasicSingleTrajectoryState::isValid | ( | void | ) | const [inline, virtual] |
Implements BasicTrajectoryState.
Definition at line 98 of file BasicSingleTrajectoryState.h.
References theFreeState, and theLocalParametersValid.
Referenced by freeTrajectoryState(), and localParameters().
{ return theFreeState || theLocalParametersValid; }
LocalVector BasicSingleTrajectoryState::localDirection | ( | ) | const [inline, virtual] |
Implements BasicTrajectoryState.
Definition at line 152 of file BasicSingleTrajectoryState.h.
References localMomentum(), and Vector3DBase< T, FrameTag >::unit().
{ return localMomentum().unit(); }
const LocalTrajectoryError& BasicSingleTrajectoryState::localError | ( | ) | const [inline, virtual] |
Implements BasicTrajectoryState.
Definition at line 156 of file BasicSingleTrajectoryState.h.
References createLocalError(), hasError(), missingError(), theLocalError, theLocalErrorValid, and unlikely.
{ if unlikely(!hasError()) missingError(" accessing local error."); if unlikely(!theLocalErrorValid) createLocalError(); return theLocalError; }
LocalVector BasicSingleTrajectoryState::localMomentum | ( | ) | const [inline, virtual] |
Implements BasicTrajectoryState.
Definition at line 149 of file BasicSingleTrajectoryState.h.
References localParameters(), and LocalTrajectoryParameters::momentum().
Referenced by localDirection().
{ return localParameters().momentum(); }
const LocalTrajectoryParameters& BasicSingleTrajectoryState::localParameters | ( | ) | const [inline, virtual] |
Implements BasicTrajectoryState.
Definition at line 140 of file BasicSingleTrajectoryState.h.
References createLocalParameters(), isValid(), notValid(), theLocalParameters, theLocalParametersValid, and unlikely.
Referenced by checkCartesianError(), checkCurvilinError(), createLocalErrorFromCartesianError(), createLocalErrorFromCurvilinearError(), localMomentum(), and localPosition().
{ if unlikely(!isValid()) notValid(); if unlikely(!theLocalParametersValid) createLocalParameters(); return theLocalParameters; }
LocalPoint BasicSingleTrajectoryState::localPosition | ( | ) | const [inline, virtual] |
Implements BasicTrajectoryState.
Definition at line 146 of file BasicSingleTrajectoryState.h.
References localParameters(), and LocalTrajectoryParameters::position().
{ return localParameters().position(); }
const MagneticField* BasicSingleTrajectoryState::magneticField | ( | ) | const [inline, virtual] |
Implements BasicTrajectoryState.
Definition at line 137 of file BasicSingleTrajectoryState.h.
References theField.
{ return theField; }
void BasicSingleTrajectoryState::missingError | ( | char const * | where | ) | const [private] |
Definition at line 188 of file BasicSingleTrajectoryState.cc.
References theFreeState, and theLocalErrorValid.
Referenced by cartesianError(), curvilinearError(), localError(), and rescaleError().
{ std::stringstream form; form<<"TrajectoryStateOnSurface: attempt to access errors when none available " <<where<<".\nfreestate pointer: " <<theFreeState<<"\nlocal error valid :"<<theLocalErrorValid ; throw TrajectoryStateException(form.str()); }
void BasicSingleTrajectoryState::notValid | ( | ) | [static, private] |
Definition at line 183 of file BasicSingleTrajectoryState.cc.
Referenced by freeTrajectoryState(), and localParameters().
{ throw TrajectoryStateException("TrajectoryStateOnSurface is invalid and cannot return any parameters"); }
void BasicSingleTrajectoryState::rescaleError | ( | double | factor | ) | [virtual] |
Implements BasicTrajectoryState.
Definition at line 343 of file BasicSingleTrajectoryState.cc.
References benchmark_cfg::errors, hasError(), i, MagneticField::inInverseGeV(), j, PV3DBase< T, PVType, FrameType >::mag2(), LocalTrajectoryError::matrix(), missingError(), theField, theFreeState, theLocalError, theLocalErrorValid, and unlikely.
{ if unlikely(!hasError()) missingError(" trying to rescale"); if (theFreeState) theFreeState->rescaleError(factor); if (theLocalErrorValid){ //do it by hand if the free state is not around. bool zeroField =theField->inInverseGeV(GlobalPoint(0,0,0)).mag2()==0; if unlikely(zeroField){ AlgebraicSymMatrix55 errors=theLocalError.matrix(); //scale the 0 indexed covariance by the square root of the factor for (unsigned int i=1;i!=5;++i) errors(i,0)*=factor; double factor_squared=factor*factor; //scale all others by the scaled factor for (unsigned int i=1;i!=5;++i) for (unsigned int j=i;j!=5;++j) errors(i,j)*=factor_squared; //term 0,0 is not scaled at all theLocalError = LocalTrajectoryError(errors); } else theLocalError *= (factor*factor); } }
double BasicSingleTrajectoryState::signedInverseMomentum | ( | ) | const [inline, virtual] |
Implements BasicTrajectoryState.
Definition at line 119 of file BasicSingleTrajectoryState.h.
References freeTrajectoryState(), and FreeTrajectoryState::signedInverseMomentum().
{ return freeTrajectoryState(false)->signedInverseMomentum(); }
const Surface& BasicSingleTrajectoryState::surface | ( | ) | const [inline, virtual] |
Implements BasicTrajectoryState.
Definition at line 163 of file BasicSingleTrajectoryState.h.
References theSurfaceP.
Referenced by checkCartesianError(), checkCurvilinError(), checkGlobalParameters(), createLocalErrorFromCartesianError(), createLocalErrorFromCurvilinearError(), and createLocalParameters().
{ return *theSurfaceP; }
virtual SurfaceSide BasicSingleTrajectoryState::surfaceSide | ( | ) | const [inline, virtual] |
Position relative to material, defined relative to momentum vector.
Implements BasicTrajectoryState.
Definition at line 177 of file BasicSingleTrajectoryState.h.
References theSurfaceSide.
{ return theSurfaceSide; }
double BasicSingleTrajectoryState::transverseCurvature | ( | ) | const [inline, virtual] |
Implements BasicTrajectoryState.
Definition at line 122 of file BasicSingleTrajectoryState.h.
References freeTrajectoryState(), and FreeTrajectoryState::transverseCurvature().
{ return freeTrajectoryState(false)->transverseCurvature(); }
void BasicSingleTrajectoryState::update | ( | const LocalTrajectoryParameters & | p, |
const Surface & | aSurface, | ||
const MagneticField * | field, | ||
const SurfaceSide | side | ||
) | [virtual] |
Implements BasicTrajectoryState.
Definition at line 303 of file BasicSingleTrajectoryState.cc.
References AlCaHLTBitMon_ParallelJobs::p, theCartesianErrorUp2Date, theCurvilinErrorUp2Date, theGlobalParamsUp2Date, theLocalErrorValid, theLocalParameters, theLocalParametersValid, theSurfaceP, theSurfaceSide, and theWeight.
{ theLocalParameters = p; if (&aSurface != &*theSurfaceP) theSurfaceP.reset(&aSurface); theSurfaceSide = side; theWeight = 1.0; theGlobalParamsUp2Date = false; theCartesianErrorUp2Date = false; theCurvilinErrorUp2Date = false; theLocalErrorValid = false; theLocalParametersValid = true; }
void BasicSingleTrajectoryState::update | ( | const LocalTrajectoryParameters & | p, |
const LocalTrajectoryError & | err, | ||
const Surface & | aSurface, | ||
const MagneticField * | field, | ||
const SurfaceSide | side, | ||
double | weight | ||
) | [virtual] |
Implements BasicTrajectoryState.
Definition at line 321 of file BasicSingleTrajectoryState.cc.
References AlCaHLTBitMon_ParallelJobs::p, theCartesianErrorUp2Date, theCurvilinErrorUp2Date, theGlobalParamsUp2Date, theLocalError, theLocalErrorValid, theLocalParameters, theLocalParametersValid, theSurfaceP, theSurfaceSide, theWeight, and weight().
{ theLocalParameters = p; theLocalError = err; if (&aSurface != &*theSurfaceP) theSurfaceP.reset(&aSurface); theSurfaceSide = side; theWeight = weight; theGlobalParamsUp2Date = false; theCartesianErrorUp2Date = false; theCurvilinErrorUp2Date = false; theLocalErrorValid = true; theLocalParametersValid = true; }
virtual double BasicSingleTrajectoryState::weight | ( | void | ) | const [inline, virtual] |
Reimplemented from BasicTrajectoryState.
Definition at line 167 of file BasicSingleTrajectoryState.h.
References theWeight.
Referenced by update().
{return theWeight;}
bool BasicSingleTrajectoryState::theCartesianErrorUp2Date [mutable, private] |
Definition at line 226 of file BasicSingleTrajectoryState.h.
Referenced by checkCartesianError(), checkGlobalParameters(), and update().
bool BasicSingleTrajectoryState::theCurvilinErrorUp2Date [mutable, private] |
Definition at line 227 of file BasicSingleTrajectoryState.h.
Referenced by checkCurvilinError(), checkGlobalParameters(), and update().
const MagneticField* BasicSingleTrajectoryState::theField [private] |
Definition at line 234 of file BasicSingleTrajectoryState.h.
Referenced by checkCurvilinError(), checkGlobalParameters(), createLocalErrorFromCurvilinearError(), magneticField(), and rescaleError().
DeepCopyPointer<FreeTrajectoryState> BasicSingleTrajectoryState::theFreeState [mutable, private] |
Definition at line 218 of file BasicSingleTrajectoryState.h.
Referenced by checkCartesianError(), checkCurvilinError(), checkGlobalParameters(), createLocalError(), createLocalErrorFromCartesianError(), createLocalErrorFromCurvilinearError(), createLocalParameters(), hasError(), isValid(), missingError(), and rescaleError().
bool BasicSingleTrajectoryState::theGlobalParamsUp2Date [mutable, private] |
Definition at line 225 of file BasicSingleTrajectoryState.h.
Referenced by checkGlobalParameters(), and update().
LocalTrajectoryError BasicSingleTrajectoryState::theLocalError [mutable, private] |
Definition at line 220 of file BasicSingleTrajectoryState.h.
Referenced by checkCartesianError(), checkCurvilinError(), createLocalErrorFromCartesianError(), createLocalErrorFromCurvilinearError(), localError(), rescaleError(), and update().
bool BasicSingleTrajectoryState::theLocalErrorValid [mutable, private] |
Definition at line 223 of file BasicSingleTrajectoryState.h.
Referenced by checkCartesianError(), checkCurvilinError(), createLocalError(), createLocalErrorFromCartesianError(), createLocalErrorFromCurvilinearError(), hasError(), localError(), missingError(), rescaleError(), and update().
LocalTrajectoryParameters BasicSingleTrajectoryState::theLocalParameters [mutable, private] |
Definition at line 221 of file BasicSingleTrajectoryState.h.
Referenced by checkGlobalParameters(), createLocalParameters(), localParameters(), and update().
bool BasicSingleTrajectoryState::theLocalParametersValid [mutable, private] |
Definition at line 222 of file BasicSingleTrajectoryState.h.
Referenced by checkCartesianError(), checkCurvilinError(), createLocalParameters(), isValid(), localParameters(), and update().
Definition at line 231 of file BasicSingleTrajectoryState.h.
Definition at line 230 of file BasicSingleTrajectoryState.h.
Referenced by surfaceSide(), and update().
double BasicSingleTrajectoryState::theWeight [private] |
Definition at line 233 of file BasicSingleTrajectoryState.h.