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

#include <interactionVertex.h>

Inheritance diagram for rpwa::interactionVertex:
rpwa::fsVertex rpwa::isobarDecayVertex rpwa::productionVertex rpwa::diffractiveDissVertex rpwa::leptoProductionVertex

Public Member Functions

 interactionVertex ()
 interactionVertex (const interactionVertex &vert)
virtual ~interactionVertex ()
interactionVertexoperator= (const interactionVertex &vert)
interactionVertexPtr clone (const bool cloneInParticles=false, const bool cloneOutParticles=false) const
 < creates deep copy of interaction vertex; must not be virtual
virtual void clear ()
bool operator== (const interactionVertex &rhsVert)
bool operator!= (const interactionVertex &rhsVert)
virtual bool addInParticle (const particlePtr &part)
 adds an incoming particle to vertex
virtual bool addOutParticle (const particlePtr &part)
 adds an outgoing particle to vertex
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
std::vector< particlePtr > & outParticles ()
 returns array of outgoing particles
const std::vector< particlePtr > & inParticles () const
 returns array of incoming particles
const std::vector< particlePtr > & outParticles () const
 returns array of outgoing particles
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

Static Public Member Functions

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

Protected Member Functions

virtual interactionVertexdoClone (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 vert 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

Static Private Attributes

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

Detailed Description

Definition at line 61 of file interactionVertex.h.

Constructor & Destructor Documentation

interactionVertex::interactionVertex ( )

Definition at line 51 of file interactionVertex.cc.

Referenced by doClone().

interactionVertex::interactionVertex ( const interactionVertex vert)

Definition at line 57 of file interactionVertex.cc.

interactionVertex::~interactionVertex ( )
virtual

Definition at line 63 of file interactionVertex.cc.

Member Function Documentation

bool interactionVertex::addInParticle ( const particlePtr part)
virtual

adds an incoming particle to vertex

Reimplemented in rpwa::diffractiveDissVertex, rpwa::leptoProductionVertex, rpwa::isobarDecayVertex, and rpwa::fsVertex.

Definition at line 120 of file interactionVertex.cc.

References _debug, and _inParticles.

bool interactionVertex::addOutParticle ( const particlePtr part)
virtual

adds an outgoing particle to vertex

Reimplemented in rpwa::diffractiveDissVertex, rpwa::leptoProductionVertex, rpwa::isobarDecayVertex, and rpwa::fsVertex.

Definition at line 134 of file interactionVertex.cc.

References _debug, and _outParticles.

void interactionVertex::clear ( )
virtual

Definition at line 96 of file interactionVertex.cc.

References _inParticles, and _outParticles.

interactionVertexPtr rpwa::interactionVertex::clone ( const bool  cloneInParticles = false,
const bool  cloneOutParticles = false 
) const
inline

< creates deep copy of interaction vertex; must not be virtual

Reimplemented in rpwa::diffractiveDissVertex, rpwa::leptoProductionVertex, rpwa::isobarDecayVertex, and rpwa::fsVertex.

Definition at line 70 of file interactionVertex.h.

References cloneInParticles(), cloneOutParticles(), and doClone().

Referenced by cloneInParticles(), and cloneOutParticles().

void interactionVertex::cloneInParticles ( )
protected
void interactionVertex::cloneOutParticles ( )
protected
static bool rpwa::interactionVertex::debug ( )
inlinestatic

returns debug flag

Reimplemented in rpwa::leptoProductionVertex, rpwa::isobarDecayVertex, rpwa::diffractiveDissVertex, rpwa::productionVertex, and rpwa::fsVertex.

Definition at line 98 of file interactionVertex.h.

References _debug.

Referenced by setDebug().

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

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

Reimplemented in rpwa::leptoProductionVertex, rpwa::isobarDecayVertex, rpwa::diffractiveDissVertex, and rpwa::fsVertex.

Definition at line 79 of file interactionVertex.cc.

References _debug, cloneInParticles(), cloneOutParticles(), and interactionVertex().

Referenced by clone().

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

prints all vertex data in human-readable form

Reimplemented in rpwa::leptoProductionVertex, rpwa::isobarDecayVertex, rpwa::diffractiveDissVertex, and rpwa::fsVertex.

Definition at line 175 of file interactionVertex.cc.

References _inParticles, _outParticles, i, and name().

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

returns array of incoming particles

Definition at line 89 of file interactionVertex.h.

References _inParticles.

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

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

Reimplemented in rpwa::isobarDecayVertex.

Definition at line 104 of file interactionVertex.cc.

References i, inParticles(), nmbInParticles(), nmbOutParticles(), and outParticles().

Referenced by rpwa::isobarDecayVertex::isEqualTo(), and operator==().

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

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

Reimplemented in rpwa::leptoProductionVertex, rpwa::isobarDecayVertex, rpwa::diffractiveDissVertex, rpwa::productionVertex, and rpwa::fsVertex.

Definition at line 96 of file interactionVertex.h.

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

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

returns number of incoming particles

Definition at line 84 of file interactionVertex.h.

References _inParticles.

Referenced by cloneInParticles(), and isEqualTo().

unsigned int rpwa::interactionVertex::nmbOutParticles ( ) const
inline

returns number of outgoing particles

Definition at line 85 of file interactionVertex.h.

References _outParticles.

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

bool rpwa::interactionVertex::operator!= ( const interactionVertex rhsVert)
inline

Definition at line 77 of file interactionVertex.h.

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

Definition at line 68 of file interactionVertex.cc.

References _inParticles, and _outParticles.

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

Definition at line 76 of file interactionVertex.h.

References isEqualTo().

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

returns array of outgoing particles

Definition at line 90 of file interactionVertex.h.

References _outParticles.

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

prints vertex parameters in human-readable form

Reimplemented in rpwa::leptoProductionVertex, rpwa::isobarDecayVertex, rpwa::diffractiveDissVertex, and rpwa::fsVertex.

Definition at line 156 of file interactionVertex.cc.

References _inParticles, _outParticles, i, and name().

Referenced by rpwa::operator<<().

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

prints particle pointers strored in vertex

Reimplemented in rpwa::leptoProductionVertex, rpwa::isobarDecayVertex, rpwa::diffractiveDissVertex, and rpwa::fsVertex.

Definition at line 187 of file interactionVertex.cc.

References _inParticles, _outParticles, i, and name().

static void rpwa::interactionVertex::setDebug ( const bool  debug = true)
inlinestatic
void interactionVertex::transformOutParticles ( const TLorentzRotation &  L)

applies Lorentz-transformation to outgoing particles

Definition at line 148 of file interactionVertex.cc.

References _outParticles, i, and nmbOutParticles().

Member Data Documentation

bool interactionVertex::_debug = false
staticprivate

if set to true, debug messages are printed

Definition at line 118 of file interactionVertex.h.

Referenced by addInParticle(), addOutParticle(), debug(), doClone(), and setDebug().

std::vector<particlePtr> rpwa::interactionVertex::_inParticles
protected

array of pointers to incoming particles

Definition at line 112 of file interactionVertex.h.

Referenced by addInParticle(), clear(), dump(), inParticles(), nmbInParticles(), operator=(), print(), and printPointers().

std::vector<particlePtr> rpwa::interactionVertex::_outParticles
protected

array of pointers to outgoing particles

Definition at line 113 of file interactionVertex.h.

Referenced by addOutParticle(), clear(), dump(), nmbOutParticles(), operator=(), outParticles(), print(), printPointers(), and transformOutParticles().


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