CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Types | Private Member Functions | Private Attributes
MultiGaussianStateAssembler< N > Class Template Reference

#include <MultiGaussianStateAssembler.h>

Public Member Functions

void addState (const MultiState &state)
 
void addState (const SingleStatePtr &state)
 
MultiState combinedState ()
 
MultiState combinedState (const float weight)
 
 MultiGaussianStateAssembler (const MultiState &state)
 

Private Types

typedef MultiGaussianState< NMultiState
 
typedef SingleGaussianState< NSingleState
 
typedef MultiGaussianState< N >
::SingleStateContainer 
SingleStateContainer
 
typedef MultiGaussianState< N >
::SingleStatePtr 
SingleStatePtr
 

Private Member Functions

void addStateVector (const SingleStateContainer &)
 
bool prepareCombinedState ()
 
void removeSmallWeights ()
 
MultiState reweightedCombinedState (const double) const
 

Private Attributes

bool combinationDone
 
double minFractionalWeight
 
const MultiState theInitialState
 
SingleStateContainer theStates
 
double theValidWeightSum
 

Detailed Description

template<unsigned int N>
class MultiGaussianStateAssembler< N >

Collects gaussian states and returns a MultiGaussianState.

Definition at line 14 of file MultiGaussianStateAssembler.h.

Member Typedef Documentation

template<unsigned int N>
typedef MultiGaussianState<N> MultiGaussianStateAssembler< N >::MultiState
private

Definition at line 18 of file MultiGaussianStateAssembler.h.

template<unsigned int N>
typedef SingleGaussianState<N> MultiGaussianStateAssembler< N >::SingleState
private

Definition at line 17 of file MultiGaussianStateAssembler.h.

Definition at line 20 of file MultiGaussianStateAssembler.h.

template<unsigned int N>
typedef MultiGaussianState<N>::SingleStatePtr MultiGaussianStateAssembler< N >::SingleStatePtr
private

Definition at line 19 of file MultiGaussianStateAssembler.h.

Constructor & Destructor Documentation

template<unsigned int N>
MultiGaussianStateAssembler< N >::MultiGaussianStateAssembler ( const MultiState state)

Member Function Documentation

template<unsigned int N>
void MultiGaussianStateAssembler< N >::addState ( const MultiState state)

Adds a new MultiGaussianState to the list of components

template<unsigned int N>
void MultiGaussianStateAssembler< N >::addState ( const SingleStatePtr state)
template<unsigned int N>
void MultiGaussianStateAssembler< N >::addStateVector ( const SingleStateContainer )
private

Adds a vector of gaussian states to the list of components

template<unsigned int N>
MultiState MultiGaussianStateAssembler< N >::combinedState ( )

Returns the resulting MultiGaussianState with weight = sum of all valid components.

template<unsigned int N>
MultiState MultiGaussianStateAssembler< N >::combinedState ( const float  weight)

Returns the resulting MultiGaussianState renormalised to specified weight.

template<unsigned int N>
bool MultiGaussianStateAssembler< N >::prepareCombinedState ( )
private

Preparation of combined state (cleaning & sorting)

template<unsigned int N>
void MultiGaussianStateAssembler< N >::removeSmallWeights ( )
private

Removes states with negligible weight (no renormalisation of total weight!).

template<unsigned int N>
MultiState MultiGaussianStateAssembler< N >::reweightedCombinedState ( const double  ) const
private

Returns the resulting MultiGaussianState with user-supplied total weight.

Member Data Documentation

template<unsigned int N>
bool MultiGaussianStateAssembler< N >::combinationDone
private

Definition at line 71 of file MultiGaussianStateAssembler.h.

template<unsigned int N>
double MultiGaussianStateAssembler< N >::minFractionalWeight
private

Definition at line 69 of file MultiGaussianStateAssembler.h.

template<unsigned int N>
const MultiState MultiGaussianStateAssembler< N >::theInitialState
private

Definition at line 67 of file MultiGaussianStateAssembler.h.

template<unsigned int N>
SingleStateContainer MultiGaussianStateAssembler< N >::theStates
private

Definition at line 74 of file MultiGaussianStateAssembler.h.

template<unsigned int N>
double MultiGaussianStateAssembler< N >::theValidWeightSum
private

Definition at line 73 of file MultiGaussianStateAssembler.h.