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

#include <isobarAmplitude.h>

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

Public Member Functions

 isobarAmplitude ()
 isobarAmplitude (const isobarDecayTopologyPtr &decay)
virtual ~isobarAmplitude ()
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::string name () const
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 gjTransform (const TLorentzVector &beamLv, const TLorentzVector &XLv)
 constructs Lorentz-transformation to X Gottfried-Jackson frame
static bool debug ()
 returns debug flag
static void setDebug (const bool debug=true)
 sets debug flag

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

Static Protected Attributes

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

Detailed Description

Definition at line 56 of file isobarAmplitude.h.

Constructor & Destructor Documentation

isobarAmplitude::isobarAmplitude ( )

Definition at line 57 of file isobarAmplitude.cc.

isobarAmplitude::isobarAmplitude ( const isobarDecayTopologyPtr decay)

Definition at line 67 of file isobarAmplitude.cc.

References setDecayTopology().

isobarAmplitude::~isobarAmplitude ( )
virtual

Definition at line 78 of file isobarAmplitude.cc.

Member Function Documentation

complex< double > isobarAmplitude::amplitude ( ) const

computes amplitude

Definition at line 122 of file isobarAmplitude.cc.

References _symTermMaps, i, and symTermAmp().

Referenced by main(), and operator()().

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

returns whether Bose symmetrization is used

Definition at line 70 of file isobarAmplitude.h.

References _boseSymmetrize.

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

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

returns debug flag

Reimplemented in rpwa::isobarHelicityAmplitude, and rpwa::isobarCanonicalAmplitude.

Definition at line 91 of file isobarAmplitude.h.

References _debug.

Referenced by setDebug().

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

returns pointer to decay topology

Definition at line 64 of file isobarAmplitude.h.

References _decay.

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

returns whether decay is reflected through production plane

Definition at line 77 of file isobarAmplitude.h.

References _doReflection.

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

returns whether parity transformation is performed on decay

Definition at line 76 of file isobarAmplitude.h.

References _doSpaceInversion.

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

en/disables use of Bose symmetrization

Definition at line 73 of file isobarAmplitude.h.

References _boseSymmetrize.

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

en/disables use of isospin symmetrization

Definition at line 74 of file isobarAmplitude.h.

References _isospinSymmetrize.

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

en/disables reflection of decay through production plane

Definition at line 79 of file isobarAmplitude.h.

References _doReflection.

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

en/disables use of reflectivity basis

Definition at line 72 of file isobarAmplitude.h.

References _useReflectivityBasis.

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

en/disables parity transformation of decay

Definition at line 78 of file isobarAmplitude.h.

References _doSpaceInversion.

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

constructs Lorentz-transformation to X Gottfried-Jackson frame

Definition at line 139 of file isobarAmplitude.cc.

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

void isobarAmplitude::init ( )
virtual

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

Definition at line 102 of file isobarAmplitude.cc.

References _decay, _symTermMaps, i, and initSymTermMaps().

bool isobarAmplitude::initSymTermMaps ( )
protectedvirtual

Definition at line 281 of file isobarAmplitude.cc.

References _boseSymmetrize, _debug, _decay, _isospinSymmetrize, _symTermMaps, and i.

Referenced by init().

bool rpwa::isobarAmplitude::isospinSymmetrization ( ) const
inline

returns whether isospin symmetrization is used

Definition at line 71 of file isobarAmplitude.h.

References _isospinSymmetrize.

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

virtual std::string rpwa::isobarAmplitude::name ( ) const
inlinevirtual
std::complex<double> rpwa::isobarAmplitude::operator() ( ) const
inline

computes amplitude

Definition at line 85 of file isobarAmplitude.h.

References amplitude().

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

prints amplitude in human-readable form

Definition at line 398 of file isobarAmplitude.cc.

References _decay, and printParameters().

Referenced by rpwa::operator<<().

ostream & isobarAmplitude::printParameters ( std::ostream &  out) const
virtual

prints amplitude parameters in human-readable form

Definition at line 385 of file isobarAmplitude.cc.

References _boseSymmetrize, _doReflection, _doSpaceInversion, _isospinSymmetrize, _useReflectivityBasis, and name().

Referenced by print().

void isobarAmplitude::reflectDecay ( ) const
protected

performs reflection through production plane on all decay three-momenta

Definition at line 188 of file isobarAmplitude.cc.

References _debug, _decay, gjTransform(), and i.

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

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

returns whether reflectivity basis is used

Definition at line 69 of file isobarAmplitude.h.

References _useReflectivityBasis.

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

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

sets debug flag

Reimplemented in rpwa::isobarHelicityAmplitude, and rpwa::isobarCanonicalAmplitude.

Definition at line 92 of file isobarAmplitude.h.

References _debug, and debug().

void isobarAmplitude::setDecayTopology ( const isobarDecayTopologyPtr decay)

sets decay topology

Definition at line 83 of file isobarAmplitude.cc.

References _decay.

Referenced by isobarAmplitude().

void isobarAmplitude::spaceInvertDecay ( ) const
protected

performs parity transformation on all decay three-momenta

Definition at line 167 of file isobarAmplitude.cc.

References _debug, _decay, gjTransform(), and i.

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

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

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

Definition at line 265 of file isobarAmplitude.cc.

References _decay, transformDaughters(), and twoBodyDecayAmplitudeSum().

Referenced by amplitude().

virtual void rpwa::isobarAmplitude::transformDaughters ( ) const
protectedpure virtual

boosts Lorentz-vectors of decay daughters into frames where angular distributions are defined

Referenced by symTermAmp().

virtual std::complex<double> rpwa::isobarAmplitude::twoBodyDecayAmplitude ( const isobarDecayVertexPtr vertex,
const bool  topVertex 
) const
protectedpure virtual

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

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

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 symTermAmp().

Member Data Documentation

bool rpwa::isobarAmplitude::_boseSymmetrize
protected

if set, amplitudes are Bose symmetrized

Definition at line 116 of file isobarAmplitude.h.

Referenced by boseSymmetrization(), enableBoseSymmetrization(), initSymTermMaps(), and printParameters().

bool isobarAmplitude::_debug = false
staticprotected

if set to true, debug messages are printed

Definition at line 122 of file isobarAmplitude.h.

Referenced by debug(), initSymTermMaps(), reflectDecay(), setDebug(), and spaceInvertDecay().

isobarDecayTopologyPtr rpwa::isobarAmplitude::_decay
protected
bool rpwa::isobarAmplitude::_doReflection
protected

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 doReflection(), enableReflection(), printParameters(), rpwa::isobarCanonicalAmplitude::transformDaughters(), and rpwa::isobarHelicityAmplitude::transformDaughters().

bool rpwa::isobarAmplitude::_doSpaceInversion
protected

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 doSpaceInversion(), enableSpaceInversion(), printParameters(), rpwa::isobarCanonicalAmplitude::transformDaughters(), and rpwa::isobarHelicityAmplitude::transformDaughters().

bool rpwa::isobarAmplitude::_isospinSymmetrize
protected

if set, amplitudes are isospin symmetrized

Definition at line 117 of file isobarAmplitude.h.

Referenced by enableIsospinSymmetrization(), initSymTermMaps(), isospinSymmetrization(), and printParameters().

std::vector<symTermMap> rpwa::isobarAmplitude::_symTermMaps
protected

array of factors and permutation maps for symmetrization terms

Definition at line 120 of file isobarAmplitude.h.

Referenced by amplitude(), init(), and initSymTermMaps().

bool rpwa::isobarAmplitude::_useReflectivityBasis
protected

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