vvv DEBUG More...
#include <BasicSingleTrajectoryState.h>
vvv DEBUG
Concrete implementation for the state of one trajectory on a surface.
Definition at line 24 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 | ) |
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 182 of file BasicSingleTrajectoryState.h.
{ return true; }
const CartesianTrajectoryError& BasicSingleTrajectoryState::cartesianError | ( | ) | const [inline, virtual] |
Implements BasicTrajectoryState.
Definition at line 126 of file BasicSingleTrajectoryState.h.
References FreeTrajectoryState::cartesianError(), freeTrajectoryState(), hasError(), and missingError().
{ if(!hasError()) missingError(" accesing cartesian error."); return freeTrajectoryState()->cartesianError(); }
TrackCharge BasicSingleTrajectoryState::charge | ( | void | ) | const [inline, virtual] |
Implements BasicTrajectoryState.
Definition at line 117 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(), L1TEmulatorMonitor_cff::p, LocalTrajectoryParameters::position(), DeepCopyPointer< T >::replaceWith(), surface(), theCartesianErrorUp2Date, theCurvilinErrorUp2Date, theField, theFreeState, theGlobalParamsUp2Date, theLocalParameters, Surface::toGlobal(), and ExpressReco_HICollisions_FallBack::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 173 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(), L1TEmulatorMonitor_cff::p, surface(), theFreeState, theLocalParameters, theLocalParametersValid, GloballyPositioned< T >::toLocal(), ExpressReco_HICollisions_FallBack::x, PV3DBase< T, PVType, FrameType >::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 130 of file BasicSingleTrajectoryState.h.
References FreeTrajectoryState::curvilinearError(), freeTrajectoryState(), hasError(), and missingError().
Referenced by PixelTrackBuilder::build().
{ if(!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 114 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 111 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 105 of file BasicSingleTrajectoryState.h.
References freeTrajectoryState(), and FreeTrajectoryState::parameters().
{ return freeTrajectoryState(false)->parameters(); }
GlobalPoint BasicSingleTrajectoryState::globalPosition | ( | ) | const [inline, virtual] |
Implements BasicTrajectoryState.
Definition at line 108 of file BasicSingleTrajectoryState.h.
References freeTrajectoryState(), and FreeTrajectoryState::position().
Referenced by PixelTrackBuilder::build().
{ return freeTrajectoryState(false)->position(); }
bool BasicSingleTrajectoryState::hasError | ( | void | ) | const [virtual] |
Implements BasicTrajectoryState.
Definition at line 378 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 95 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 153 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 157 of file BasicSingleTrajectoryState.h.
References createLocalError(), hasError(), missingError(), theLocalError, and theLocalErrorValid.
{ if (!hasError()) missingError(" accessing local error."); if (!theLocalErrorValid) createLocalError(); return theLocalError; }
LocalVector BasicSingleTrajectoryState::localMomentum | ( | ) | const [inline, virtual] |
Implements BasicTrajectoryState.
Definition at line 150 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 141 of file BasicSingleTrajectoryState.h.
References createLocalParameters(), isValid(), notValid(), theLocalParameters, and theLocalParametersValid.
Referenced by checkCartesianError(), checkCurvilinError(), createLocalErrorFromCartesianError(), createLocalErrorFromCurvilinearError(), localMomentum(), and localPosition().
{ if (!isValid()) notValid(); if (!theLocalParametersValid) createLocalParameters(); return theLocalParameters; }
LocalPoint BasicSingleTrajectoryState::localPosition | ( | ) | const [inline, virtual] |
Implements BasicTrajectoryState.
Definition at line 147 of file BasicSingleTrajectoryState.h.
References localParameters(), and LocalTrajectoryParameters::position().
{ return localParameters().position(); }
const MagneticField* BasicSingleTrajectoryState::magneticField | ( | ) | const [inline, virtual] |
Implements BasicTrajectoryState.
Definition at line 138 of file BasicSingleTrajectoryState.h.
References theField.
{ return theField; }
void BasicSingleTrajectoryState::missingError | ( | char const * | where | ) | const |
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] |
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 ExpressReco_HICollisions_FallBack::errors, hasError(), i, MagneticField::inInverseGeV(), j, PV3DBase< T, PVType, FrameType >::mag2(), LocalTrajectoryError::matrix(), missingError(), theField, theFreeState, theLocalError, and theLocalErrorValid.
{ if (!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 (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 120 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 164 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 178 of file BasicSingleTrajectoryState.h.
References theSurfaceSide.
{ return theSurfaceSide; }
double BasicSingleTrajectoryState::transverseCurvature | ( | ) | const [inline, virtual] |
Implements BasicTrajectoryState.
Definition at line 123 of file BasicSingleTrajectoryState.h.
References freeTrajectoryState(), and FreeTrajectoryState::transverseCurvature().
{ return freeTrajectoryState(false)->transverseCurvature(); }
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 L1TEmulatorMonitor_cff::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; }
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 L1TEmulatorMonitor_cff::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; }
virtual double BasicSingleTrajectoryState::weight | ( | ) | const [inline, virtual] |
Reimplemented from BasicTrajectoryState.
Definition at line 168 of file BasicSingleTrajectoryState.h.
References theWeight.
Referenced by update().
{return theWeight;}
bool BasicSingleTrajectoryState::theCartesianErrorUp2Date [mutable, private] |
Definition at line 217 of file BasicSingleTrajectoryState.h.
Referenced by checkCartesianError(), checkGlobalParameters(), and update().
bool BasicSingleTrajectoryState::theCurvilinErrorUp2Date [mutable, private] |
Definition at line 218 of file BasicSingleTrajectoryState.h.
Referenced by checkCurvilinError(), checkGlobalParameters(), and update().
const MagneticField* BasicSingleTrajectoryState::theField [private] |
Definition at line 225 of file BasicSingleTrajectoryState.h.
Referenced by checkCurvilinError(), checkGlobalParameters(), createLocalErrorFromCurvilinearError(), magneticField(), and rescaleError().
DeepCopyPointer<FreeTrajectoryState> BasicSingleTrajectoryState::theFreeState [mutable, private] |
Definition at line 209 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 216 of file BasicSingleTrajectoryState.h.
Referenced by checkGlobalParameters(), and update().
LocalTrajectoryError BasicSingleTrajectoryState::theLocalError [mutable, private] |
Definition at line 211 of file BasicSingleTrajectoryState.h.
Referenced by checkCartesianError(), checkCurvilinError(), createLocalErrorFromCartesianError(), createLocalErrorFromCurvilinearError(), localError(), rescaleError(), and update().
bool BasicSingleTrajectoryState::theLocalErrorValid [mutable, private] |
Definition at line 214 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 212 of file BasicSingleTrajectoryState.h.
Referenced by checkGlobalParameters(), createLocalParameters(), localParameters(), and update().
bool BasicSingleTrajectoryState::theLocalParametersValid [mutable, private] |
Definition at line 213 of file BasicSingleTrajectoryState.h.
Referenced by checkCartesianError(), checkCurvilinError(), createLocalParameters(), isValid(), localParameters(), and update().
Definition at line 222 of file BasicSingleTrajectoryState.h.
Definition at line 221 of file BasicSingleTrajectoryState.h.
Referenced by surfaceSide(), and update().
double BasicSingleTrajectoryState::theWeight [private] |
Definition at line 224 of file BasicSingleTrajectoryState.h.