YAP
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Protected Member Functions | Private Attributes | Friends | List of all members
DecayTree Class Reference

Class holding vectors of fixed and free amplitudes that define a decay tree. More...

#include <DecayTree.h>

Public Types

using DaughterDecayTreeMap = std::map< unsigned, std::shared_ptr< DecayTree > >
 

Public Member Functions

 DecayTree (std::shared_ptr< FreeAmplitude > free_amp)
 
const std::complex< double > dataIndependentAmplitude () const
 
const std::complex< double > dataDependentAmplitude (const DataPoint &d) const
 
const std::complex< double > dataDependentAmplitude (const DataPoint &d, const std::shared_ptr< ParticleCombination > &pc) const
 
const VariableStatus dataDependentAmplitudeStatus () const
 
const std::shared_ptr
< FreeAmplitude > & 
freeAmplitude () const
 
const DaughterDecayTreeMap daughterDecayTrees () const
 
std::shared_ptr< DecayingParticledecayingParticle () const
 
const Modelmodel () const
 

Protected Member Functions

void setDaughterDecayTree (unsigned i, std::shared_ptr< DecayTree > dt)
 
void setDaughterSpinProjection (unsigned i, int two_m)
 
void addAmplitudeComponent (const AmplitudeComponent &rda)
 Add an AmplitudeComponent.
 

Private Attributes

std::shared_ptr< FreeAmplitudeFreeAmplitude_
 ComplexParameter of the free amplitude for the decay.
 
SpinProjectionVector DaughtersTwoM_
 daughter spin projections
 
std::vector< const
AmplitudeComponent * > 
AmplitudeComponents_
 vector of AmplitudeComponent's
 
DaughterDecayTreeMap DaughterDecayTrees_
 map of daughter index -> daughter DecayTree
 

Friends

class DecayChannel
 grant friend status to DecayChannel to call addDataAccessor
 
class DecayingParticle
 grant friend status to DecayingParticle to call addDataAccessor
 
class Resonance
 grant friend status to Resonance to call addDataAccessor
 

Detailed Description

Class holding vectors of fixed and free amplitudes that define a decay tree.

Author
Johannes Rauch, Daniel Greenwald

Member Typedef Documentation

key is daughter index, value is decay tree of daughter

Constructor & Destructor Documentation

DecayTree ( std::shared_ptr< FreeAmplitude free_amp)
explicit

Constructor

Parameters
two_M(twice) the spin projection of the parent particle
two_marray of (twice) the spin projections of the daughters
free_ampshared_ptr to ComplexParameter for the free amplitude

Member Function Documentation

const std::complex< double > dataDependentAmplitude ( const DataPoint d) const
Returns
product of all particle-combination-dependent amplitudes in this tree summing over particle combinations of DecayChannel inside FreeAmplitude
Parameters
dDataPoint
const std::complex< double > dataDependentAmplitude ( const DataPoint d,
const std::shared_ptr< ParticleCombination > &  pc 
) const
Returns
product of all particle-combination-dependent amplitudes in this tree
Parameters
dDataPoint
pcshared_ptr<ParticleCombination>
const VariableStatus dataDependentAmplitudeStatus ( ) const
Returns
VariableStatus of dataDependentAmplitude
const std::complex< double > dataIndependentAmplitude ( ) const
Returns
product of all free amplitudes in this decay tree
const DaughterDecayTreeMap daughterDecayTrees ( ) const
inline
Returns
DaughterDecayTrees_
std::shared_ptr< DecayingParticle > decayingParticle ( ) const
const std::shared_ptr<FreeAmplitude>& freeAmplitude ( ) const
inline
Returns
FreeAmplitude_
const Model * model ( ) const
Returns
Model this DecayTree belongs to (via FreeAmplitude)
void setDaughterDecayTree ( unsigned  i,
std::shared_ptr< DecayTree dt 
)
protected

Set the DecayTree of the i'th daughter

Parameters
iindex of daughter to set decay tree for
dtshared_ptr to DecayTree to set
void setDaughterSpinProjection ( unsigned  i,
int  two_m 
)
inlineprotected

set daughter spin projection

Parameters
two_m(twice) the spin projection

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