ROOTPWA
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Static Private Attributes | List of all members
rpwa::isobarHelicityAmplitude Class Reference

#include <isobarHelicityAmplitude.h>

Inheritance diagram for rpwa::isobarHelicityAmplitude:
rpwa::isobarAmplitude

Public Member Functions

 isobarHelicityAmplitude ()
 isobarHelicityAmplitude (const isobarDecayTopologyPtr &decay)
virtual ~isobarHelicityAmplitude ()
std::string name () const
const isobarDecayTopologyPtrdecayTopology () const
 returns pointer to decay topology
void setDecayTopology (const isobarDecayTopologyPtr &decay)
 sets decay topology
virtual void init ()
 initializes amplitude; needs to be called when decay topology was changed
bool reflectivityBasis () const
 returns whether reflectivity basis is used
bool boseSymmetrization () const
 returns whether Bose symmetrization is used
bool isospinSymmetrization () const
 returns whether isospin symmetrization is used
void enableReflectivityBasis (const bool flag=true)
 en/disables use of reflectivity basis
void enableBoseSymmetrization (const bool flag=true)
 en/disables use of Bose symmetrization
void enableIsospinSymmetrization (const bool flag=true)
 en/disables use of isospin symmetrization
bool doSpaceInversion () const
 returns whether parity transformation is performed on decay
bool doReflection () const
 returns whether decay is reflected through production plane
void enableSpaceInversion (const bool flag=true)
 en/disables parity transformation of decay
void enableReflection (const bool flag=true)
 en/disables reflection of decay through production plane
std::complex< double > amplitude () const
 computes amplitude
std::complex< double > operator() () const
 computes amplitude
virtual std::ostream & printParameters (std::ostream &out) const
 prints amplitude parameters in human-readable form
virtual std::ostream & print (std::ostream &out) const
 prints amplitude in human-readable form

Static Public Member Functions

static TLorentzRotation hfTransform (const TLorentzVector &daughterLv)
 constructs Lorentz-transformation to helicity RF of daughter particle
static bool debug ()
 returns debug flag
static void setDebug (const bool debug=true)
 sets debug flag
static TLorentzRotation gjTransform (const TLorentzVector &beamLv, const TLorentzVector &XLv)
 constructs Lorentz-transformation to X Gottfried-Jackson frame

Protected Member Functions

void spaceInvertDecay () const
 performs parity transformation on all decay three-momenta
void reflectDecay () const
 performs reflection through production plane on all decay three-momenta
virtual std::complex< double > twoBodyDecayAmplitudeSum (const isobarDecayVertexPtr &vertex, const bool topVertex=false) const
 recursive function that sums up decay amplitudes for all allowed helicitities for all vertices below the given vertex
virtual std::complex< double > symTermAmp (const std::vector< unsigned int > &fsPartPermMap) const
 returns decay amplitude for a certain permutation of final-state particles
virtual bool initSymTermMaps ()

Protected Attributes

isobarDecayTopologyPtr _decay
 isobar decay topology with all external information
bool _useReflectivityBasis
 if set, reflectivity basis is used to calculate the X decay node
bool _boseSymmetrize
 if set, amplitudes are Bose symmetrized
bool _isospinSymmetrize
 if set, amplitudes are isospin symmetrized
bool _doSpaceInversion
 is set, all three-momenta of the decay particles are parity transformed (for test purposes)
bool _doReflection
 is set, all three-momenta of the decay particles are reflected through production plane (for test purposes)
std::vector< symTermMap_symTermMaps
 array of factors and permutation maps for symmetrization terms

Private Member Functions

void transformDaughters () const
 boosts Lorentz-vectors of decay daughters into frames where angular distributions are defined
std::complex< double > twoBodyDecayAmplitude (const isobarDecayVertexPtr &vertex, const bool topVertex) const
 calculates amplitude for two-body decay a -> b + c; where b and c are stable

Static Private Attributes

static bool _debug = false
 if set to true, debug messages are printed

Detailed Description

Definition at line 51 of file isobarHelicityAmplitude.h.

Constructor & Destructor Documentation

isobarHelicityAmplitude::isobarHelicityAmplitude ( )

Definition at line 56 of file isobarHelicityAmplitude.cc.

isobarHelicityAmplitude::isobarHelicityAmplitude ( const isobarDecayTopologyPtr decay)

Definition at line 61 of file isobarHelicityAmplitude.cc.

isobarHelicityAmplitude::~isobarHelicityAmplitude ( )
virtual

Definition at line 66 of file isobarHelicityAmplitude.cc.

Member Function Documentation

complex< double > isobarAmplitude::amplitude ( ) const
inherited

computes amplitude

Definition at line 122 of file isobarAmplitude.cc.

References rpwa::isobarAmplitude::_symTermMaps, i, and rpwa::isobarAmplitude::symTermAmp().

Referenced by main(), and rpwa::isobarAmplitude::operator()().

bool rpwa::isobarAmplitude::boseSymmetrization ( ) const
inlineinherited

returns whether Bose symmetrization is used

Definition at line 70 of file isobarAmplitude.h.

References rpwa::isobarAmplitude::_boseSymmetrize.

Referenced by rpwa::waveDescription::setAmplitude().

static bool rpwa::isobarHelicityAmplitude::debug ( )
inlinestatic

returns debug flag

Reimplemented from rpwa::isobarAmplitude.

Definition at line 63 of file isobarHelicityAmplitude.h.

References _debug.

Referenced by setDebug().

const isobarDecayTopologyPtr& rpwa::isobarAmplitude::decayTopology ( ) const
inlineinherited

returns pointer to decay topology

Definition at line 64 of file isobarAmplitude.h.

References rpwa::isobarAmplitude::_decay.

bool rpwa::isobarAmplitude::doReflection ( ) const
inlineinherited

returns whether decay is reflected through production plane

Definition at line 77 of file isobarAmplitude.h.

References rpwa::isobarAmplitude::_doReflection.

bool rpwa::isobarAmplitude::doSpaceInversion ( ) const
inlineinherited

returns whether parity transformation is performed on decay

Definition at line 76 of file isobarAmplitude.h.

References rpwa::isobarAmplitude::_doSpaceInversion.

void rpwa::isobarAmplitude::enableBoseSymmetrization ( const bool  flag = true)
inlineinherited

en/disables use of Bose symmetrization

Definition at line 73 of file isobarAmplitude.h.

References rpwa::isobarAmplitude::_boseSymmetrize.

void rpwa::isobarAmplitude::enableIsospinSymmetrization ( const bool  flag = true)
inlineinherited

en/disables use of isospin symmetrization

Definition at line 74 of file isobarAmplitude.h.

References rpwa::isobarAmplitude::_isospinSymmetrize.

void rpwa::isobarAmplitude::enableReflection ( const bool  flag = true)
inlineinherited

en/disables reflection of decay through production plane

Definition at line 79 of file isobarAmplitude.h.

References rpwa::isobarAmplitude::_doReflection.

void rpwa::isobarAmplitude::enableReflectivityBasis ( const bool  flag = true)
inlineinherited

en/disables use of reflectivity basis

Definition at line 72 of file isobarAmplitude.h.

References rpwa::isobarAmplitude::_useReflectivityBasis.

void rpwa::isobarAmplitude::enableSpaceInversion ( const bool  flag = true)
inlineinherited

en/disables parity transformation of decay

Definition at line 78 of file isobarAmplitude.h.

References rpwa::isobarAmplitude::_doSpaceInversion.

TLorentzRotation isobarAmplitude::gjTransform ( const TLorentzVector &  beamLv,
const TLorentzVector &  XLv 
)
staticinherited

constructs Lorentz-transformation to X Gottfried-Jackson frame

Definition at line 139 of file isobarAmplitude.cc.

Referenced by main(), rpwa::isobarAmplitude::reflectDecay(), rpwa::isobarAmplitude::spaceInvertDecay(), rpwa::isobarCanonicalAmplitude::transformDaughters(), and transformDaughters().

TLorentzRotation isobarHelicityAmplitude::hfTransform ( const TLorentzVector &  daughterLv)
static

constructs Lorentz-transformation to helicity RF of daughter particle

Definition at line 71 of file isobarHelicityAmplitude.cc.

Referenced by main(), and transformDaughters().

void isobarAmplitude::init ( )
virtualinherited

initializes amplitude; needs to be called when decay topology was changed

Definition at line 102 of file isobarAmplitude.cc.

References rpwa::isobarAmplitude::_decay, rpwa::isobarAmplitude::_symTermMaps, i, and rpwa::isobarAmplitude::initSymTermMaps().

bool isobarAmplitude::initSymTermMaps ( )
protectedvirtualinherited
bool rpwa::isobarAmplitude::isospinSymmetrization ( ) const
inlineinherited

returns whether isospin symmetrization is used

Definition at line 71 of file isobarAmplitude.h.

References rpwa::isobarAmplitude::_isospinSymmetrize.

Referenced by rpwa::waveDescription::setAmplitude().

std::string rpwa::isobarHelicityAmplitude::name ( ) const
inlinevirtual

Reimplemented from rpwa::isobarAmplitude.

Definition at line 61 of file isobarHelicityAmplitude.h.

std::complex<double> rpwa::isobarAmplitude::operator() ( ) const
inlineinherited

computes amplitude

Definition at line 85 of file isobarAmplitude.h.

References rpwa::isobarAmplitude::amplitude().

ostream & isobarAmplitude::print ( std::ostream &  out) const
virtualinherited

prints amplitude in human-readable form

Definition at line 398 of file isobarAmplitude.cc.

References rpwa::isobarAmplitude::_decay, and rpwa::isobarAmplitude::printParameters().

Referenced by rpwa::operator<<().

ostream & isobarAmplitude::printParameters ( std::ostream &  out) const
virtualinherited
void isobarAmplitude::reflectDecay ( ) const
protectedinherited

performs reflection through production plane on all decay three-momenta

Definition at line 188 of file isobarAmplitude.cc.

References rpwa::isobarAmplitude::_debug, rpwa::isobarAmplitude::_decay, rpwa::isobarAmplitude::gjTransform(), and i.

Referenced by rpwa::isobarCanonicalAmplitude::transformDaughters(), and transformDaughters().

bool rpwa::isobarAmplitude::reflectivityBasis ( ) const
inlineinherited

returns whether reflectivity basis is used

Definition at line 69 of file isobarAmplitude.h.

References rpwa::isobarAmplitude::_useReflectivityBasis.

Referenced by rpwa::waveDescription::setAmplitude().

static void rpwa::isobarHelicityAmplitude::setDebug ( const bool  debug = true)
inlinestatic

sets debug flag

Reimplemented from rpwa::isobarAmplitude.

Definition at line 64 of file isobarHelicityAmplitude.h.

References _debug, and debug().

void isobarAmplitude::setDecayTopology ( const isobarDecayTopologyPtr decay)
inherited

sets decay topology

Definition at line 83 of file isobarAmplitude.cc.

References rpwa::isobarAmplitude::_decay.

Referenced by rpwa::isobarAmplitude::isobarAmplitude().

void isobarAmplitude::spaceInvertDecay ( ) const
protectedinherited

performs parity transformation on all decay three-momenta

Definition at line 167 of file isobarAmplitude.cc.

References rpwa::isobarAmplitude::_debug, rpwa::isobarAmplitude::_decay, rpwa::isobarAmplitude::gjTransform(), and i.

Referenced by rpwa::isobarCanonicalAmplitude::transformDaughters(), and transformDaughters().

complex< double > isobarAmplitude::symTermAmp ( const std::vector< unsigned int > &  fsPartPermMap) const
protectedvirtualinherited

returns decay amplitude for a certain permutation of final-state particles

Definition at line 265 of file isobarAmplitude.cc.

References rpwa::isobarAmplitude::_decay, rpwa::isobarAmplitude::transformDaughters(), and rpwa::isobarAmplitude::twoBodyDecayAmplitudeSum().

Referenced by rpwa::isobarAmplitude::amplitude().

void isobarHelicityAmplitude::transformDaughters ( ) const
private
complex< double > isobarHelicityAmplitude::twoBodyDecayAmplitude ( const isobarDecayVertexPtr vertex,
const bool  topVertex 
) const
private

calculates amplitude for two-body decay a -> b + c; where b and c are stable

Definition at line 145 of file isobarHelicityAmplitude.cc.

References _debug, rpwa::isobarAmplitude::_useReflectivityBasis, Lambda, lambda(), and q().

complex< double > isobarAmplitude::twoBodyDecayAmplitudeSum ( const isobarDecayVertexPtr vertex,
const bool  topVertex = false 
) const
protectedvirtualinherited

recursive function that sums up decay amplitudes for all allowed helicitities for all vertices below the given vertex

Definition at line 217 of file isobarAmplitude.cc.

Referenced by rpwa::isobarAmplitude::symTermAmp().

Member Data Documentation

bool rpwa::isobarAmplitude::_boseSymmetrize
protectedinherited
bool isobarHelicityAmplitude::_debug = false
staticprivate

if set to true, debug messages are printed

Definition at line 75 of file isobarHelicityAmplitude.h.

Referenced by debug(), setDebug(), transformDaughters(), and twoBodyDecayAmplitude().

isobarDecayTopologyPtr rpwa::isobarAmplitude::_decay
protectedinherited
bool rpwa::isobarAmplitude::_doReflection
protectedinherited

is set, all three-momenta of the decay particles are reflected through production plane (for test purposes)

Definition at line 119 of file isobarAmplitude.h.

Referenced by rpwa::isobarAmplitude::doReflection(), rpwa::isobarAmplitude::enableReflection(), rpwa::isobarAmplitude::printParameters(), rpwa::isobarCanonicalAmplitude::transformDaughters(), and transformDaughters().

bool rpwa::isobarAmplitude::_doSpaceInversion
protectedinherited

is set, all three-momenta of the decay particles are parity transformed (for test purposes)

Definition at line 118 of file isobarAmplitude.h.

Referenced by rpwa::isobarAmplitude::doSpaceInversion(), rpwa::isobarAmplitude::enableSpaceInversion(), rpwa::isobarAmplitude::printParameters(), rpwa::isobarCanonicalAmplitude::transformDaughters(), and transformDaughters().

bool rpwa::isobarAmplitude::_isospinSymmetrize
protectedinherited
std::vector<symTermMap> rpwa::isobarAmplitude::_symTermMaps
protectedinherited

array of factors and permutation maps for symmetrization terms

Definition at line 120 of file isobarAmplitude.h.

Referenced by rpwa::isobarAmplitude::amplitude(), rpwa::isobarAmplitude::init(), and rpwa::isobarAmplitude::initSymTermMaps().

bool rpwa::isobarAmplitude::_useReflectivityBasis
protectedinherited

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