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

#include <isobarDecayVertex.h>

Inheritance diagram for rpwa::isobarDecayVertex:
rpwa::interactionVertex

Public Member Functions

 isobarDecayVertex (const particlePtr &parent, const particlePtr &daughter1, const particlePtr &daughter2, const unsigned int L=0, const unsigned int S=0, const massDependencePtr &massDep=massDependencePtr())
 force vertex to have exactly one incoming (parent) and two outgoing particles (daughters)
 isobarDecayVertex (const isobarDecayVertex &vert)
virtual ~isobarDecayVertex ()
isobarDecayVertexoperator= (const isobarDecayVertex &vert)
isobarDecayVertexPtr clone (const bool cloneInParticles=false, const bool cloneOutParticles=false) const
 < creates copy of isobar decay vertex; must not be virtual
virtual bool addInParticle (const particlePtr &)
 disabled; parent particle has to be specified at construction
virtual bool addOutParticle (const particlePtr &)
 disabled; daughter particles have to be specified at construction
particlePtrparent ()
 returns parent particle
particlePtrdaughter1 ()
 returns first daughter particle
particlePtrdaughter2 ()
 returns second daughter particle
const particlePtrparent () const
 returns parent particle
const particlePtrdaughter1 () const
 returns first daughter particle
const particlePtrdaughter2 () const
 returns second daughter particle
const TLorentzVector & calcParentLzVec ()
 (re)calculates parent Lorentz-vector from daughter Lorentz-vectors
int calcParentCharge ()
 sets parent charge to sum of daughter charges
int calcParentBaryonNmb ()
 sets parent baryon number to sum of daughter baryon numbers
unsigned int L () const
 returns the relative orbital angular momentum between the two daughters * 2 (!!!)
unsigned int S () const
 returns the total spin of the two daughters * 2 (!!!)
void setL (const unsigned int L)
 sets the relative orbital angular momentum between the two daughters * 2 (!!!)
void setS (const unsigned int S)
 sets the total spin of the two daughters * 2 (!!!)
std::complex< double > massDepAmplitude () const
 returns mass-dependent amplitude
const massDependencePtrmassDependence () const
 returns mass-dependence
void setMassDependence (const massDependencePtr &massDep)
 sets mass dependence
bool checkConsistency ()
 checks quantum decomposition of in-particle to outparticles
virtual std::ostream & print (std::ostream &out) const
 prints vertex parameters in human-readable form
virtual std::ostream & dump (std::ostream &out) const
 prints all vertex data in human-readable form
virtual std::ostream & printPointers (std::ostream &out) const
 prints particle pointers strored in vertex
virtual std::string name () const
 returns label used in graph visualization, reporting, and key file
virtual void clear ()
bool operator== (const interactionVertex &rhsVert)
bool operator!= (const interactionVertex &rhsVert)
void transformOutParticles (const TLorentzRotation &L)
 applies Lorentz-transformation to outgoing particles
unsigned int nmbInParticles () const
 returns number of incoming particles
unsigned int nmbOutParticles () const
 returns number of outgoing particles
std::vector< particlePtr > & inParticles ()
 returns array of incoming particles
const std::vector< particlePtr > & inParticles () const
 returns array of incoming particles
std::vector< particlePtr > & outParticles ()
 returns array of outgoing particles
const std::vector< particlePtr > & outParticles () const
 returns array of outgoing particles

Static Public Member Functions

static bool debug ()
 returns debug flag
static void setDebug (const bool debug=true)
 sets debug flag

Protected Member Functions

virtual isobarDecayVertexdoClone (const bool cloneInParticles, const bool cloneOutParticles) const
 helper function to use covariant return types with smart pointers; needed for public clone()
virtual bool isEqualTo (const interactionVertex &vert) const
 returns whether vertex is equal to this by checking equality of all member variables
void cloneInParticles ()
 clones all incoming particles
void cloneOutParticles ()
 clones all outgoing particles

Protected Attributes

std::vector< particlePtr_inParticles
 array of pointers to incoming particles
std::vector< particlePtr_outParticles
 array of pointers to outgoing particles

Private Member Functions

bool checkMultiplicativeQn (const int parentQn, const int daughter1Qn, const int daughter2Qn, const std::string &qnName="")
 checks consistency of a multiplicative quantum number
bool checkAdditiveQn (const int parentQn, const int daughter1Qn, const int daughter2Qn, const std::string &qnName="")
 checks consistency of an additive quantum number

Private Attributes

unsigned int _L
 relative orbital angular momentum between the two daughters * 2 (!!!)
unsigned int _S
 total spin of the two daughters * 2 (!!!)
massDependencePtr _massDep
 functor with mass dependence

Static Private Attributes

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

Detailed Description

Definition at line 55 of file isobarDecayVertex.h.

Constructor & Destructor Documentation

isobarDecayVertex::isobarDecayVertex ( const particlePtr parent,
const particlePtr daughter1,
const particlePtr daughter2,
const unsigned int  L = 0,
const unsigned int  S = 0,
const massDependencePtr massDep = massDependencePtr() 
)

force vertex to have exactly one incoming (parent) and two outgoing particles (daughters)

Definition at line 54 of file isobarDecayVertex.cc.

References _debug, _massDep, addInParticle(), addOutParticle(), and rpwa::createFlatMassDependence().

Referenced by doClone().

isobarDecayVertex::isobarDecayVertex ( const isobarDecayVertex vert)

Definition at line 90 of file isobarDecayVertex.cc.

isobarDecayVertex::~isobarDecayVertex ( )
virtual

Definition at line 96 of file isobarDecayVertex.cc.

Member Function Documentation

bool isobarDecayVertex::addInParticle ( const particlePtr )
virtual

disabled; parent particle has to be specified at construction

Reimplemented from rpwa::interactionVertex.

Definition at line 147 of file isobarDecayVertex.cc.

References _debug.

Referenced by isobarDecayVertex().

bool isobarDecayVertex::addOutParticle ( const particlePtr )
virtual

disabled; daughter particles have to be specified at construction

Reimplemented from rpwa::interactionVertex.

Definition at line 156 of file isobarDecayVertex.cc.

References _debug.

Referenced by isobarDecayVertex().

int isobarDecayVertex::calcParentBaryonNmb ( )

sets parent baryon number to sum of daughter baryon numbers

Definition at line 191 of file isobarDecayVertex.cc.

References _debug, daughter1(), daughter2(), and parent().

int isobarDecayVertex::calcParentCharge ( )

sets parent charge to sum of daughter charges

Definition at line 178 of file isobarDecayVertex.cc.

References _debug, daughter1(), daughter2(), and parent().

const TLorentzVector & isobarDecayVertex::calcParentLzVec ( )

(re)calculates parent Lorentz-vector from daughter Lorentz-vectors

Definition at line 165 of file isobarDecayVertex.cc.

References _debug, daughter1(), daughter2(), and parent().

bool isobarDecayVertex::checkAdditiveQn ( const int  parentQn,
const int  daughter1Qn,
const int  daughter2Qn,
const std::string &  qnName = "" 
)
private

checks consistency of an additive quantum number

Definition at line 226 of file isobarDecayVertex.cc.

References _debug, daughter1(), daughter2(), and parent().

Referenced by checkConsistency().

bool isobarDecayVertex::checkConsistency ( )

checks quantum decomposition of in-particle to outparticles

!! missing: spin projections

Definition at line 248 of file isobarDecayVertex.cc.

References _debug, _L, _S, checkAdditiveQn(), checkMultiplicativeQn(), daughter1(), daughter2(), and parent().

bool isobarDecayVertex::checkMultiplicativeQn ( const int  parentQn,
const int  daughter1Qn,
const int  daughter2Qn,
const std::string &  qnName = "" 
)
private

checks consistency of a multiplicative quantum number

Definition at line 204 of file isobarDecayVertex.cc.

References _debug, daughter1(), daughter2(), and parent().

Referenced by checkConsistency().

void interactionVertex::clear ( )
virtualinherited
isobarDecayVertexPtr rpwa::isobarDecayVertex::clone ( const bool  cloneInParticles = false,
const bool  cloneOutParticles = false 
) const
inline

< creates copy of isobar decay vertex; must not be virtual

Reimplemented from rpwa::interactionVertex.

Definition at line 69 of file isobarDecayVertex.h.

References rpwa::interactionVertex::cloneInParticles(), rpwa::interactionVertex::cloneOutParticles(), and doClone().

void interactionVertex::cloneInParticles ( )
protectedinherited
void interactionVertex::cloneOutParticles ( )
protectedinherited
particlePtr& rpwa::isobarDecayVertex::daughter1 ( )
inline
const particlePtr& rpwa::isobarDecayVertex::daughter1 ( ) const
inline

returns first daughter particle

Definition at line 81 of file isobarDecayVertex.h.

References rpwa::interactionVertex::outParticles().

particlePtr& rpwa::isobarDecayVertex::daughter2 ( )
inline
const particlePtr& rpwa::isobarDecayVertex::daughter2 ( ) const
inline

returns second daughter particle

Definition at line 82 of file isobarDecayVertex.h.

References rpwa::interactionVertex::outParticles().

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

returns debug flag

Reimplemented from rpwa::interactionVertex.

Definition at line 107 of file isobarDecayVertex.h.

References _debug.

Referenced by setDebug().

isobarDecayVertex * isobarDecayVertex::doClone ( const bool  cloneInParticles,
const bool  cloneOutParticles 
) const
protectedvirtual

helper function to use covariant return types with smart pointers; needed for public clone()

Reimplemented from rpwa::interactionVertex.

Definition at line 114 of file isobarDecayVertex.cc.

References _debug, rpwa::interactionVertex::cloneInParticles(), rpwa::interactionVertex::cloneOutParticles(), and isobarDecayVertex().

Referenced by clone().

ostream & isobarDecayVertex::dump ( std::ostream &  out) const
virtual

prints all vertex data in human-readable form

Reimplemented from rpwa::interactionVertex.

Definition at line 367 of file isobarDecayVertex.cc.

References _L, _massDep, _S, daughter1(), daughter2(), name(), and parent().

std::vector<particlePtr>& rpwa::interactionVertex::inParticles ( )
inlineinherited
const std::vector<particlePtr>& rpwa::interactionVertex::inParticles ( ) const
inlineinherited

returns array of incoming particles

Definition at line 89 of file interactionVertex.h.

References rpwa::interactionVertex::_inParticles.

bool isobarDecayVertex::isEqualTo ( const interactionVertex vert) const
protectedvirtual

returns whether vertex is equal to this by checking equality of all member variables

Reimplemented from rpwa::interactionVertex.

Definition at line 131 of file isobarDecayVertex.cc.

References rpwa::interactionVertex::isEqualTo(), L(), massDependence(), and S().

unsigned int rpwa::isobarDecayVertex::L ( ) const
inline

returns the relative orbital angular momentum between the two daughters * 2 (!!!)

Definition at line 89 of file isobarDecayVertex.h.

References _L.

Referenced by rpwa::relativisticBreitWigner::amp(), rpwa::rhoPrimeMassDep::amp(), isEqualTo(), setL(), and rpwa::waveDescription::setXDecayKeys().

std::complex<double> rpwa::isobarDecayVertex::massDepAmplitude ( ) const
inline

returns mass-dependent amplitude

Definition at line 95 of file isobarDecayVertex.h.

References _massDep.

const massDependencePtr& rpwa::isobarDecayVertex::massDependence ( ) const
inline

returns mass-dependence

Definition at line 96 of file isobarDecayVertex.h.

References _massDep.

Referenced by isEqualTo(), and rpwa::waveDescription::setXDecayKeys().

virtual std::string rpwa::isobarDecayVertex::name ( ) const
inlinevirtual

returns label used in graph visualization, reporting, and key file

Reimplemented from rpwa::interactionVertex.

Definition at line 105 of file isobarDecayVertex.h.

Referenced by dump(), main(), print(), and printPointers().

unsigned int rpwa::interactionVertex::nmbInParticles ( ) const
inlineinherited

returns number of incoming particles

Definition at line 84 of file interactionVertex.h.

References rpwa::interactionVertex::_inParticles.

Referenced by rpwa::interactionVertex::cloneInParticles(), and rpwa::interactionVertex::isEqualTo().

unsigned int rpwa::interactionVertex::nmbOutParticles ( ) const
inlineinherited
bool rpwa::interactionVertex::operator!= ( const interactionVertex rhsVert)
inlineinherited

Definition at line 77 of file interactionVertex.h.

isobarDecayVertex & isobarDecayVertex::operator= ( const isobarDecayVertex vert)

Definition at line 101 of file isobarDecayVertex.cc.

References _L, _massDep, and _S.

bool rpwa::interactionVertex::operator== ( const interactionVertex rhsVert)
inlineinherited

Definition at line 76 of file interactionVertex.h.

References rpwa::interactionVertex::isEqualTo().

std::vector<particlePtr>& rpwa::interactionVertex::outParticles ( )
inlineinherited
const std::vector<particlePtr>& rpwa::interactionVertex::outParticles ( ) const
inlineinherited

returns array of outgoing particles

Definition at line 90 of file interactionVertex.h.

References rpwa::interactionVertex::_outParticles.

particlePtr& rpwa::isobarDecayVertex::parent ( )
inline
const particlePtr& rpwa::isobarDecayVertex::parent ( ) const
inline

returns parent particle

Definition at line 80 of file isobarDecayVertex.h.

References rpwa::interactionVertex::inParticles().

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

prints vertex parameters in human-readable form

Reimplemented from rpwa::interactionVertex.

Definition at line 355 of file isobarDecayVertex.cc.

References _L, _massDep, _S, daughter1(), daughter2(), name(), and parent().

Referenced by rpwa::operator<<().

ostream & isobarDecayVertex::printPointers ( std::ostream &  out) const
virtual

prints particle pointers strored in vertex

Reimplemented from rpwa::interactionVertex.

Definition at line 380 of file isobarDecayVertex.cc.

References daughter1(), daughter2(), name(), and parent().

unsigned int rpwa::isobarDecayVertex::S ( ) const
inline

returns the total spin of the two daughters * 2 (!!!)

Definition at line 90 of file isobarDecayVertex.h.

References _S.

Referenced by isEqualTo(), setS(), and rpwa::waveDescription::setXDecayKeys().

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

sets debug flag

Reimplemented from rpwa::interactionVertex.

Definition at line 108 of file isobarDecayVertex.h.

References _debug, and debug().

void rpwa::isobarDecayVertex::setL ( const unsigned int  L)
inline

sets the relative orbital angular momentum between the two daughters * 2 (!!!)

Definition at line 92 of file isobarDecayVertex.h.

References _L, and L().

void rpwa::isobarDecayVertex::setMassDependence ( const massDependencePtr massDep)
inline

sets mass dependence

Definition at line 97 of file isobarDecayVertex.h.

References _massDep.

void rpwa::isobarDecayVertex::setS ( const unsigned int  S)
inline

sets the total spin of the two daughters * 2 (!!!)

Definition at line 93 of file isobarDecayVertex.h.

References _S, and S().

void interactionVertex::transformOutParticles ( const TLorentzRotation &  L)
inherited

applies Lorentz-transformation to outgoing particles

Definition at line 148 of file interactionVertex.cc.

References rpwa::interactionVertex::_outParticles, i, and rpwa::interactionVertex::nmbOutParticles().

Member Data Documentation

bool isobarDecayVertex::_debug = false
staticprivate
std::vector<particlePtr> rpwa::interactionVertex::_inParticles
protectedinherited
unsigned int rpwa::isobarDecayVertex::_L
private

relative orbital angular momentum between the two daughters * 2 (!!!)

Definition at line 129 of file isobarDecayVertex.h.

Referenced by checkConsistency(), dump(), L(), operator=(), print(), and setL().

massDependencePtr rpwa::isobarDecayVertex::_massDep
private

functor with mass dependence

Definition at line 132 of file isobarDecayVertex.h.

Referenced by dump(), isobarDecayVertex(), massDepAmplitude(), massDependence(), operator=(), print(), and setMassDependence().

std::vector<particlePtr> rpwa::interactionVertex::_outParticles
protectedinherited
unsigned int rpwa::isobarDecayVertex::_S
private

total spin of the two daughters * 2 (!!!)

Definition at line 130 of file isobarDecayVertex.h.

Referenced by checkConsistency(), dump(), operator=(), print(), S(), and setS().


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