12 return multiState(extra->outerStateLocalParameters(),
13 extra->outerStateCovariances(),
14 extra->outerStateWeights());
21 return multiState(extra->innerStateLocalParameters(),
22 extra->innerStateCovariances(),
23 extra->innerStateWeights());
31 throw cms::Exception(
"LogicError") <<
"MultiGaussianStateTransform: index out of range";
35 extra->outerStateCovariances(),
36 extra->outerStateWeights(),
45 throw cms::Exception(
"LogicError") <<
"MultiGaussianStateTransform: index out of range";
49 extra->innerStateCovariances(),
50 extra->innerStateWeights(),
57 const std::vector<double>&
weights)
61 components.reserve(nc);
62 for (
unsigned int i=0;
i<nc; ++
i ) {
65 components.push_back(sgs);
77 components.reserve(nc);
78 for (
unsigned int i=0;
i<nc; ++
i ) {
80 covariances[
i](index,index),
89 std::vector<TrajectoryStateOnSurface> tsosComponents(tsos.
components());
91 components.reserve(tsosComponents.size());
92 for ( std::vector<TrajectoryStateOnSurface>::const_iterator
i=tsosComponents.begin();
93 i!=tsosComponents.end(); ++
i ) {
96 i->localError().matrix(),
98 components.push_back(sgs);
108 throw cms::Exception(
"LogicError") <<
"MultiGaussianStateTransform: index out of range";
109 std::vector<TrajectoryStateOnSurface> tsosComponents(tsos.
components());
111 components.reserve(tsosComponents.size());
112 for ( std::vector<TrajectoryStateOnSurface>::const_iterator
i=tsosComponents.begin();
113 i!=tsosComponents.end(); ++
i ) {
126 double pzSign = refPars.
pzSign();
127 bool charged = refPars.charge()!=0;
double pzSign() const
Sign of the z-component of the momentum in the local frame.
const LocalTrajectoryParameters & localParameters() const
const Vector & mean() const
parameter vector
std::vector< SingleGaussianState1D > SingleState1dContainer
const MagneticField * magneticField() const
Mixture of multi-variate gaussian states.
std::vector< SingleStatePtr > SingleStateContainer
const Matrix & covariance() const
covariance matrix
const GsfTrackExtraRef & gsfExtra() const
reference to "extra" object
const Surface & surface() const
SingleGaussianState< N >::Vector Vector
SingleGaussianState< N >::Matrix Matrix
std::vector< TrajectoryStateOnSurface > components() const
boost::shared_ptr< SingleState > SingleStatePtr