5 #include "boost/shared_ptr.hpp"
7 namespace GaussianStateConversions {
11 typedef boost::shared_ptr< SingleGaussianState<3> > SingleStatePtr;
12 const std::vector<VertexState>
components = aState.components();
14 singleStates.reserve(components.size());
15 for ( std::vector<VertexState>::const_iterator ic=components.begin();
16 ic!=components.end(); ic ++ ) {
17 if ( ic->isValid() ) {
22 ic->error().matrix_new(),
23 ic->weightInMixture()));
24 singleStates.push_back(sgs);
32 if ( multiState.
components().empty() )
return VertexState();
37 components.reserve(singleStates.size());
39 ic!=singleStates.end(); ic++ ) {
43 GlobalError error(cov(0,0),cov(1,0),cov(2,0),cov(1,1),cov(2,1),cov(2,2));
44 components.push_back(VertexState(position,error,(**ic).weight()));
MultiGaussianState< 3 > multiGaussianStateFromVertex(const VertexState aState)
const SingleStateContainer & components() const
access to components (single Gaussian states)
static int position[TOTALCHAMBERS][3]
VertexState vertexFromMultiGaussianState(const MultiGaussianState< 3 > &multiState)
Mixture of multi-variate gaussian states.
std::vector< SingleStatePtr > SingleStateContainer
ROOT::Math::SMatrix< double, 3, 3, ROOT::Math::MatRepSym< double, 3 > > AlgebraicSymMatrix33
ROOT::Math::SVector< double, 3 > AlgebraicVector3