meerkat is hosted by Hepforge, IPPP Durham
Meerkat  v1r3
Multidimensional kernel density estimation package

#include <IntersectionPhaseSpace.hh>

Inheritance diagram for IntersectionPhaseSpace:
AbsPhaseSpace

Public Member Functions

 IntersectionPhaseSpace (const char *phaseSpaceName, std::vector< AbsPhaseSpace * > &phspList)
 Constructor from the vector of component phase spaces. More...
 
 IntersectionPhaseSpace (const char *phaseSpaceName, AbsPhaseSpace *phaseSpace1, AbsPhaseSpace *phaseSpace2, AbsPhaseSpace *phaseSpace3=0, AbsPhaseSpace *phaseSpace4=0)
 Constructor for intersection phase space of up to four components. More...
 
virtual ~IntersectionPhaseSpace ()
 Destructor. More...
 
UInt_t dimensionality ()
 Get dimensionality of phase space. More...
 
Bool_t withinLimits (std::vector< Double_t > &x)
 Check if the point is within phase space limits. More...
 
Double_t lowerLimit (UInt_t var)
 Return lower allowed limit of the variable. More...
 
Double_t upperLimit (UInt_t var)
 Return upper allowed limit of the variable. More...
 
Bool_t limits (UInt_t var, std::vector< Double_t > &x, Double_t *lower, Double_t *upper)
 Return limits (lower and upper) for the variable at the certain point of the phase space. More...
 
- Public Member Functions inherited from AbsPhaseSpace
 AbsPhaseSpace (const char *phaseSpaceName)
 Constructor. More...
 
virtual ~AbsPhaseSpace ()
 Destructor. More...
 
const char * name (void)
 Return the name of the phase space. More...
 

Private Member Functions

void init (std::vector< AbsPhaseSpace * > &phspList)
 Common initialise function for all constructors. More...
 

Private Attributes

UInt_t m_dim
 Cached dimensionality of the Intersection phase space. More...
 
std::vector< AbsPhaseSpace * > m_phspList
 vector of component phase spaces More...
 
std::vector< Double_t > m_lowerLimit
 Vector of cached lower limits in each variable. More...
 
std::vector< Double_t > m_upperLimit
 Vector of cached upper limits in each variable. More...
 

Additional Inherited Members

- Protected Attributes inherited from AbsPhaseSpace
char m_name [256]
 Phase space name. More...
 

Detailed Description

Class that defines the phase space that is the intersection of several phase spaces. The dimensionality of the phase space should be equal to that of the component phase spaces.

Definition at line 14 of file IntersectionPhaseSpace.hh.

Constructor & Destructor Documentation

IntersectionPhaseSpace::IntersectionPhaseSpace ( const char *  phaseSpaceName,
std::vector< AbsPhaseSpace * > &  phspList 
)

Constructor from the vector of component phase spaces.

Parameters
[in]phaseSpaceNamename of the phase space
[in]phspListvector of component phase spaces.

Definition at line 10 of file IntersectionPhaseSpace.cpp.

IntersectionPhaseSpace::IntersectionPhaseSpace ( const char *  phaseSpaceName,
AbsPhaseSpace phaseSpace1,
AbsPhaseSpace phaseSpace2,
AbsPhaseSpace phaseSpace3 = 0,
AbsPhaseSpace phaseSpace4 = 0 
)

Constructor for intersection phase space of up to four components.

Parameters
[in]phaseSpaceNamename of the phase space
[in]phaseSpace11st phase space
[in]phaseSpace22nd phase space
[in]phaseSpace33rd phase space
[in]phaseSpace44th phase space

Definition at line 15 of file IntersectionPhaseSpace.cpp.

IntersectionPhaseSpace::~IntersectionPhaseSpace ( )
virtual

Destructor.

Definition at line 35 of file IntersectionPhaseSpace.cpp.

Member Function Documentation

UInt_t IntersectionPhaseSpace::dimensionality ( )
virtual

Get dimensionality of phase space.

Returns
dimensionality of the phase space

Implements AbsPhaseSpace.

Definition at line 78 of file IntersectionPhaseSpace.cpp.

void IntersectionPhaseSpace::init ( std::vector< AbsPhaseSpace * > &  phspList)
private

Common initialise function for all constructors.

Definition at line 39 of file IntersectionPhaseSpace.cpp.

Bool_t IntersectionPhaseSpace::limits ( UInt_t  var,
std::vector< Double_t > &  x,
Double_t *  lower,
Double_t *  upper 
)
virtual

Return limits (lower and upper) for the variable at the certain point of the phase space.

Parameters
[in]varnumber of the variable
[in]xpoint in the phase space
[out]lowerlower limit
[out]upperupper limit

Implements AbsPhaseSpace.

Definition at line 118 of file IntersectionPhaseSpace.cpp.

Double_t IntersectionPhaseSpace::lowerLimit ( UInt_t  var)
virtual

Return lower allowed limit of the variable.

Parameters
[in]varnumber of the variable
Returns
lower allowed limit

Implements AbsPhaseSpace.

Definition at line 96 of file IntersectionPhaseSpace.cpp.

Double_t IntersectionPhaseSpace::upperLimit ( UInt_t  var)
virtual

Return upper allowed limit of the variable.

Parameters
[in]varnumber of the variable
Returns
upper allowed limit

Implements AbsPhaseSpace.

Definition at line 107 of file IntersectionPhaseSpace.cpp.

Bool_t IntersectionPhaseSpace::withinLimits ( std::vector< Double_t > &  x)
virtual

Check if the point is within phase space limits.

Parameters
[in]xpoint vector
Returns
true if the point is within phase space limits, false otherwise

Implements AbsPhaseSpace.

Definition at line 82 of file IntersectionPhaseSpace.cpp.

Member Data Documentation

UInt_t IntersectionPhaseSpace::m_dim
private

Cached dimensionality of the Intersection phase space.

Definition at line 88 of file IntersectionPhaseSpace.hh.

std::vector<Double_t> IntersectionPhaseSpace::m_lowerLimit
private

Vector of cached lower limits in each variable.

Definition at line 94 of file IntersectionPhaseSpace.hh.

std::vector<AbsPhaseSpace*> IntersectionPhaseSpace::m_phspList
private

vector of component phase spaces

Definition at line 91 of file IntersectionPhaseSpace.hh.

std::vector<Double_t> IntersectionPhaseSpace::m_upperLimit
private

Vector of cached upper limits in each variable.

Definition at line 97 of file IntersectionPhaseSpace.hh.


The documentation for this class was generated from the following files: