14 unsigned int BTSCount::maxReferences=0;
15 unsigned long long BTSCount::aveReferences=0;
16 unsigned long long BTSCount::toteReferences=0;
18 BTSCount::~BTSCount(){
19 maxReferences =
std::max(referenceMax_, maxReferences);
21 aveReferences+=referenceMax_;
30 std::cout <<
"maxReferences of BTSCount = "
31 << BTSCount::maxReferences <<
" "
32 << double(BTSCount::aveReferences)/double(BTSCount::toteReferences)<< std::endl;
45 theLocalParametersValid(
false),
48 theSurfaceP( &aSurface),
84 theLocalParametersValid(
false),
87 theSurfaceP( &aSurface),
97 theFreeState(par, err),
100 theLocalParametersValid(
false),
102 theSurfaceSide(side),
103 theSurfaceP( &aSurface),
115 theFreeState(makeFTS(par,aSurface,field)),
117 theLocalParameters(par),
118 theLocalParametersValid(
true),
120 theSurfaceSide(side),
121 theSurfaceP( &aSurface),
152 std::stringstream form;
153 form<<
"BasicTrajectoryState: attempt to access errors when none available "
190 p.
x()/p.
z(), p.
y()/p.
z(), x.
x(), x.
y(), p.
z()>0. ? 1.:-1., isCharged);
292 for (
unsigned int i=1;
i!=5;++
i)
errors(
i,0)*=factor;
293 double factor_squared=factor*factor;
295 for (
unsigned int i=1;
i!=5;++
i)
for (
unsigned int j=
i;
j!=5;++
j)
errors(
i,
j)*=factor_squared;
307 std::vector<TrajectoryStateOnSurface>
309 std::vector<TrajectoryStateOnSurface>
result; result.reserve(1);
310 result.emplace_back(
clone());
ConstReferenceCountingPointer< SurfaceType > theSurfaceP
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
virtual ~BasicTrajectoryState()
const MagneticField * magneticField() const
SurfaceSide theSurfaceSide
pointer clone() const override
const GlobalTrajectoryParameters & parameters() const
int nominalValue() const
The nominal field value for this map in kGauss.
LocalPoint position() const
Local x and y position coordinates.
bool hasCurvilinearError() const
virtual void update(const LocalTrajectoryParameters &p, const SurfaceType &aSurface, const MagneticField *field, const SurfaceSide side)
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
TrackCharge charge() const
const CurvilinearTrajectoryError & curvilinearError() const
void rescaleError(double factor)
std::vector< TrajectoryStateOnSurface > components() const override
T x() const
Cartesian x coordinate.
void createLocalErrorFromCurvilinearError() const
LocalPoint toLocal(const GlobalPoint &gp) const
GlobalVector magneticFieldInTesla() const
void createLocalError() const
void checkCurvilinError() const
void createLocalParameters() const
const AlgebraicSymMatrix55 & matrix() const
LocalVector momentum() const
Momentum vector in the local frame.
GlobalVector momentum() const
GlobalPoint position() const
const SurfaceType & surface() const
const GlobalTrajectoryParameters & globalParameters() const
void rescaleError(double factor)
FreeTrajectoryState theFreeState
CurvilinearTrajectoryError & setCurvilinearError()
TrackCharge charge() const
Charge (-1, 0 or 1)
const AlgebraicMatrix55 & jacobian() const
void missingError(char const *where) const
bool theLocalParametersValid
const LocalTrajectoryParameters & localParameters() const
const AlgebraicSymMatrix55 & matrix() const
LocalTrajectoryParameters theLocalParameters
const AlgebraicMatrix55 & jacobian() const
volatile std::atomic< bool > shutdown_flag false
LocalTrajectoryError theLocalError
double signedInverseMomentum() const
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepStd< double, 5, 5 > > AlgebraicMatrix55