CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MultiGaussianStateAssembler.h
Go to the documentation of this file.
1 #ifndef MultiGaussianStateAssembler_h_
2 #define MultiGaussianStateAssembler_h_
3 
6 
7 #include <vector>
8 
13 template <unsigned int N>
15 
16 private:
21 
22 public:
23  //
24  // constructors
25  //
27 
31  void addState (const MultiState& state);
32  void addState (const SingleStatePtr& state);
33 
41  MultiState combinedState (const float weight);
42 
43 
44 private:
49 
53  bool prepareCombinedState();
54 
59  MultiState reweightedCombinedState (const double) const;
60 
64  void removeSmallWeights ();
65 
66 private:
68 // bool sortStates;
70 
72 
75 // static TimingReport::Item * theTimerAdd;
76 // static TimingReport::Item * theTimerComb;
77 
78 };
79 
80 #include "TrackingTools/GsfTools/interface/MultiGaussianStateAssembler.icc"
81 
82 #endif
void addState(const MultiState &state)
Mixture of multi-variate gaussian states.
std::vector< SingleStatePtr > SingleStateContainer
SingleGaussianState< N > SingleState
MultiGaussianState< N >::SingleStatePtr SingleStatePtr
MultiState reweightedCombinedState(const double) const
MultiGaussianStateAssembler(const MultiState &state)
MultiGaussianState< N >::SingleStateContainer SingleStateContainer
boost::shared_ptr< SingleState > SingleStatePtr
void addStateVector(const SingleStateContainer &)