ComPWA
Common Partial-Wave-Analysis Framework
ComPWA::FunctionTree Namespace Reference

Classes

class  AbsSquare
 
class  AddAll
 Calculates the square root of input double values and double parameters. More...
 
class  ComplexConjugate
 
class  Complexify
 
class  Exp
 
class  FitParameter
 
class  FunctionTreeEstimator
 
class  FunctionTreeIntensity
 
class  Inverse
 Calculates the inverse of input double values and double parameters. More...
 
struct  KahanSummation
 
class  LogOf
 
class  MultAll
 
class  Parameter
 Base class for internal parameter. More...
 
class  ParameterList
 This class provides a list of parameters and values of different types. More...
 
class  ParObserver
 ParObserver Base class parameter observer. More...
 
class  Pow
 
class  SquareRoot
 Calculates the square root of input double values and double parameters. More...
 
class  Strategy
 Virtual base class for operations of FunctionTree nodes. More...
 
class  TreeNode
 TreeNode is the basic building block of the FunctionTree. More...
 
class  Value
 

Enumerations

enum  ErrorType { SYM = 1, ASYM = 2, LHSCAN = 3, NOTDEF = 0 }
 
enum  ParType {
  UNDEFINED = 0, COMPLEX = 1, DOUBLE = 2, INTEGER = 3,
  MCOMPLEX = 4, MDOUBLE = 5, MINTEGER = 6
}
 Enums for the type of the parameter, should be extended if an new parameter type is added. More...
 

Functions

KahanSummation KahanSum (KahanSummation accumulation, double value)
 KahanSummation keeps track of lost bits and reduced the uncertainty in the summation of many large/small numbers. More...
 
FitParameterList createFitParameterList (ComPWA::FunctionTree::ParameterList Parameters)
 
void updateDataContainers (ParameterList Data, const ComPWA::DataMap &data)
 
template<typename T >
ParType typeName (void)
 Template functions which return above specified parameter types. More...
 
template<>
ParType typeName< double > (void)
 
template<>
ParType typeName< int > (void)
 
std::shared_ptr< FitParameterFindParameter (std::string name, const ParameterList &v)
 Search ParameterList for a FitParameter with name. More...
 
std::shared_ptr< FitParameterFindParameter (std::string name, std::vector< std::shared_ptr< FitParameter >> &v)
 Search list for a FitParameter with name. More...
 
std::shared_ptr< Value< std::vector< double > > > findMDoubleValue (const std::string &name, const ParameterList &list)
 
std::shared_ptr< TreeNodecreateLeaf (std::shared_ptr< Parameter > parameter)
 
template<typename T >
std::shared_ptr< TreeNodecreateLeaf (const T &value, std::string name="")
 helper function to create TreeNode leaves which are constants More...
 
template<class T >
std::ostream & operator<< (std::ostream &stream, const std::vector< T > &values)
 
std::shared_ptr< ParameterValueFactory (ParType t, std::string name="")
 
std::shared_ptr< Value< std::vector< std::complex< double > > > > MComplex (std::string name, size_t s, std::complex< double > el=std::complex< double >(0., 0.))
 
std::shared_ptr< Value< std::vector< std::complex< double > > > > MComplex (std::string name, std::vector< std::complex< double >> v)
 
std::shared_ptr< Value< std::vector< double > > > MDouble (std::string name, size_t s, double el=0.)
 
std::shared_ptr< Value< std::vector< double > > > MDouble (std::string name, std::vector< double > v)
 
std::shared_ptr< Value< std::vector< int > > > MInteger (std::string name, size_t s, int el=0.)
 
std::shared_ptr< Value< std::vector< int > > > MInteger (std::string name, std::vector< int > v)
 

Variables

static const char *const ParNames [7]
 Names of the parameter types, should be extended if an new parameter type is added. More...
 

Enumeration Type Documentation

◆ ErrorType

Enumerator
SYM 
ASYM 
LHSCAN 
NOTDEF 

Definition at line 32 of file FitParameter.hpp.

◆ ParType

Enums for the type of the parameter, should be extended if an new parameter type is added.

Enumerator
UNDEFINED 
COMPLEX 
DOUBLE 
INTEGER 
MCOMPLEX 
MDOUBLE 
MINTEGER 

Definition at line 34 of file Parameter.hpp.

Function Documentation

◆ createFitParameterList()

FitParameterList ComPWA::FunctionTree::createFitParameterList ( ComPWA::FunctionTree::ParameterList  Parameters)

Definition at line 69 of file FunctionTreeEstimator.cpp.

◆ createLeaf() [1/2]

template<typename T >
std::shared_ptr<TreeNode> ComPWA::FunctionTree::createLeaf ( const T &  value,
std::string  name = "" 
)

helper function to create TreeNode leaves which are constants

Definition at line 107 of file TreeNode.hpp.

◆ createLeaf() [2/2]

std::shared_ptr< TreeNode > ComPWA::FunctionTree::createLeaf ( std::shared_ptr< Parameter parameter)

Definition at line 156 of file TreeNode.cpp.

◆ findMDoubleValue()

std::shared_ptr<Value<std::vector<double> > > ComPWA::FunctionTree::findMDoubleValue ( const std::string &  name,
const ParameterList list 
)
inline

Definition at line 232 of file ParameterList.hpp.

◆ FindParameter() [1/2]

std::shared_ptr<FitParameter> ComPWA::FunctionTree::FindParameter ( std::string  name,
const ParameterList v 
)
inline

Search ParameterList for a FitParameter with name.

The first match is returned. Be aware that name are not unique. In case no match is found a BadParameter exception is thrown.

Definition at line 205 of file ParameterList.hpp.

◆ FindParameter() [2/2]

std::shared_ptr<FitParameter> ComPWA::FunctionTree::FindParameter ( std::string  name,
std::vector< std::shared_ptr< FitParameter >> &  v 
)
inline

Search list for a FitParameter with name.

The first match is returned. Be aware that name are not unique. In case no match is found a BadParameter exception is thrown.

Definition at line 221 of file ParameterList.hpp.

◆ KahanSum()

KahanSummation ComPWA::FunctionTree::KahanSum ( KahanSummation  accumulation,
double  value 
)

KahanSummation keeps track of lost bits and reduced the uncertainty in the summation of many large/small numbers.

See https://en.wikipedia.org/wiki/Kahan_summation_algorithm

Definition at line 98 of file Functions.cpp.

◆ MComplex() [1/2]

std::shared_ptr<Value<std::vector<std::complex<double> > > > ComPWA::FunctionTree::MComplex ( std::string  name,
size_t  s,
std::complex< double >  el = std::complex<double>(0., 0.) 
)
inline

Definition at line 120 of file Value.hpp.

◆ MComplex() [2/2]

std::shared_ptr<Value<std::vector<std::complex<double> > > > ComPWA::FunctionTree::MComplex ( std::string  name,
std::vector< std::complex< double >>  v 
)
inline

Definition at line 128 of file Value.hpp.

◆ MDouble() [1/2]

std::shared_ptr<Value<std::vector<double> > > ComPWA::FunctionTree::MDouble ( std::string  name,
size_t  s,
double  el = 0. 
)
inline

Definition at line 134 of file Value.hpp.

◆ MDouble() [2/2]

std::shared_ptr<Value<std::vector<double> > > ComPWA::FunctionTree::MDouble ( std::string  name,
std::vector< double >  v 
)
inline

Definition at line 141 of file Value.hpp.

◆ MInteger() [1/2]

std::shared_ptr<Value<std::vector<int> > > ComPWA::FunctionTree::MInteger ( std::string  name,
size_t  s,
int  el = 0. 
)
inline

Definition at line 147 of file Value.hpp.

◆ MInteger() [2/2]

std::shared_ptr<Value<std::vector<int> > > ComPWA::FunctionTree::MInteger ( std::string  name,
std::vector< int >  v 
)
inline

Definition at line 153 of file Value.hpp.

◆ operator<<()

template<class T >
std::ostream& ComPWA::FunctionTree::operator<< ( std::ostream &  stream,
const std::vector< T > &  values 
)

Definition at line 19 of file Value.hpp.

◆ typeName()

template<typename T >
ParType ComPWA::FunctionTree::typeName ( void  )
inline

Template functions which return above specified parameter types.

Definition at line 51 of file Parameter.hpp.

◆ typeName< double >()

template<>
ParType ComPWA::FunctionTree::typeName< double > ( void  )
inline

Definition at line 67 of file Parameter.hpp.

◆ typeName< int >()

template<>
ParType ComPWA::FunctionTree::typeName< int > ( void  )
inline

Definition at line 68 of file Parameter.hpp.

◆ updateDataContainers()

void ComPWA::FunctionTree::updateDataContainers ( ParameterList  Data,
const ComPWA::DataMap data 
)

Definition at line 55 of file FunctionTreeIntensity.cpp.

◆ ValueFactory()

std::shared_ptr<Parameter> ComPWA::FunctionTree::ValueFactory ( ParType  t,
std::string  name = "" 
)
inline

Definition at line 83 of file Value.hpp.

Variable Documentation

◆ ParNames

const char* const ComPWA::FunctionTree::ParNames[7]
static
Initial value:
= {"UNDEFINED", "COMPLEX", "DOUBLE",
"INTEGER", "MCOMPLEX", "MDOUBLE",
"MINTEGER"}

Names of the parameter types, should be extended if an new parameter type is added.

Definition at line 46 of file Parameter.hpp.