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

#include <diffractiveDissVertex.h>

Inheritance diagram for rpwa::diffractiveDissVertex:
rpwa::productionVertex rpwa::interactionVertex

Public Member Functions

 diffractiveDissVertex (const particlePtr &beam, const particlePtr &target, const particlePtr &XParticle, const particlePtr &recoil=particlePtr())
 force vertex to have two incoming (beam + target) and two outgoing particles (X + recoil); recoil is optional
 diffractiveDissVertex (const diffractiveDissVertex &vert)
virtual ~diffractiveDissVertex ()
diffractiveDissVertexoperator= (const diffractiveDissVertex &vert)
diffractiveDissVertexPtr clone (const bool cloneInParticles=false, const bool cloneOutParticles=false) const
 < creates deep copy of diffractive dissociation vertex; must not be virtual
virtual bool addInParticle (const particlePtr &)
 disabled; all incoming particles have to be specified at construction
virtual bool addOutParticle (const particlePtr &)
 disabled; all outgoing particles have to be specified at construction
virtual const TLorentzVector & referenceLzVec () const
 returns Lorentz-vector that defines z-axis for angular distributions
virtual const particlePtrXParticle () const
 returns X particle
virtual std::complex< double > productionAmp () const
 returns production amplitude
virtual void setXFlavorQN ()
 sets flavor quantum numbers of X (baryon nmb., S, C, B) to that of incoming beam particle (assumes Pomeron exchange)
const particlePtrbeam () const
 returns beam particle
const particlePtrtarget () const
 returns target particle
const particlePtrrecoil () const
 returns recoil particle
virtual bool initKinematicsData (const TClonesArray &prodKinPartNames)
 initializes input data
virtual bool readKinematicsData (const TClonesArray &prodKinMomenta)
 reads input data
virtual bool revertMomenta ()
 resets momenta to the values of last event read
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 diffractiveDissVertexdoClone (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

Private Attributes

int _nmbProdKinPart
 number of production kinematics particles in input data arrays
TVector3 _beamMomCache
 caches beam momentum of last event read from input data; allows to "reset" kinematics for multiple passes over the same data
TVector3 _recoilMomCache
 caches recoil momentum of last event read from input data; allows to "reset" kinematics for multiple passes over the same data
TVector3 _targetMomCache
 caches target momentum of last event read from input data; allows to "reset" kinematics for multiple passes over the same data

Static Private Attributes

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

Detailed Description

Definition at line 63 of file diffractiveDissVertex.h.

Constructor & Destructor Documentation

diffractiveDissVertex::diffractiveDissVertex ( const particlePtr beam,
const particlePtr target,
const particlePtr XParticle,
const particlePtr recoil = particlePtr() 
)

force vertex to have two incoming (beam + target) and two outgoing particles (X + recoil); recoil is optional

Definition at line 61 of file diffractiveDissVertex.cc.

References _debug, addInParticle(), addOutParticle(), and rpwa::createParticle().

Referenced by doClone().

diffractiveDissVertex::diffractiveDissVertex ( const diffractiveDissVertex vert)

Definition at line 97 of file diffractiveDissVertex.cc.

diffractiveDissVertex::~diffractiveDissVertex ( )
virtual

Definition at line 103 of file diffractiveDissVertex.cc.

Member Function Documentation

bool diffractiveDissVertex::addInParticle ( const particlePtr )
virtual

disabled; all incoming particles have to be specified at construction

Reimplemented from rpwa::interactionVertex.

Definition at line 138 of file diffractiveDissVertex.cc.

References _debug.

Referenced by diffractiveDissVertex().

bool diffractiveDissVertex::addOutParticle ( const particlePtr )
virtual

disabled; all outgoing particles have to be specified at construction

Reimplemented from rpwa::interactionVertex.

Definition at line 147 of file diffractiveDissVertex.cc.

References _debug.

Referenced by diffractiveDissVertex().

const particlePtr& rpwa::diffractiveDissVertex::beam ( ) const
inline
void interactionVertex::clear ( )
virtualinherited
diffractiveDissVertexPtr rpwa::diffractiveDissVertex::clone ( const bool  cloneInParticles = false,
const bool  cloneOutParticles = false 
) const
inline

< creates deep copy of diffractive dissociation vertex; must not be virtual

Reimplemented from rpwa::interactionVertex.

Definition at line 75 of file diffractiveDissVertex.h.

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

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

returns debug flag

Reimplemented from rpwa::productionVertex.

Definition at line 106 of file diffractiveDissVertex.h.

References _debug.

Referenced by setDebug().

diffractiveDissVertex * diffractiveDissVertex::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 121 of file diffractiveDissVertex.cc.

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

Referenced by clone().

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

prints all vertex data in human-readable form

Reimplemented from rpwa::interactionVertex.

Definition at line 322 of file diffractiveDissVertex.cc.

References beam(), name(), recoil(), target(), and XParticle().

bool diffractiveDissVertex::initKinematicsData ( const TClonesArray &  prodKinPartNames)
virtual

initializes input data

Implements rpwa::productionVertex.

Definition at line 175 of file diffractiveDissVertex.cc.

References _nmbProdKinPart, beam(), name(), recoil(), and target().

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 interactionVertex::isEqualTo ( const interactionVertex vert) const
protectedvirtualinherited
virtual std::string rpwa::diffractiveDissVertex::name ( ) const
inlinevirtual

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

Reimplemented from rpwa::productionVertex.

Definition at line 104 of file diffractiveDissVertex.h.

Referenced by dump(), initKinematicsData(), 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.

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

Definition at line 108 of file diffractiveDissVertex.cc.

References _beamMomCache, _recoilMomCache, and _targetMomCache.

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.

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

prints vertex parameters in human-readable form

Reimplemented from rpwa::interactionVertex.

Definition at line 313 of file diffractiveDissVertex.cc.

References beam(), name(), recoil(), target(), and XParticle().

Referenced by rpwa::operator<<().

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

prints particle pointers strored in vertex

Reimplemented from rpwa::interactionVertex.

Definition at line 334 of file diffractiveDissVertex.cc.

References beam(), name(), recoil(), target(), and XParticle().

complex< double > diffractiveDissVertex::productionAmp ( ) const
virtual

returns production amplitude

Reimplemented from rpwa::productionVertex.

Definition at line 156 of file diffractiveDissVertex.cc.

bool diffractiveDissVertex::readKinematicsData ( const TClonesArray &  prodKinMomenta)
virtual

reads input data

Implements rpwa::productionVertex.

Definition at line 231 of file diffractiveDissVertex.cc.

References _beamMomCache, _debug, _nmbProdKinPart, _recoilMomCache, _targetMomCache, beam(), recoil(), and target().

const particlePtr& rpwa::diffractiveDissVertex::recoil ( ) const
inline

returns recoil particle

Definition at line 93 of file diffractiveDissVertex.h.

References rpwa::interactionVertex::outParticles().

Referenced by dump(), initKinematicsData(), print(), printPointers(), readKinematicsData(), and revertMomenta().

virtual const TLorentzVector& rpwa::diffractiveDissVertex::referenceLzVec ( ) const
inlinevirtual

returns Lorentz-vector that defines z-axis for angular distributions

Implements rpwa::productionVertex.

Definition at line 83 of file diffractiveDissVertex.h.

References beam().

bool diffractiveDissVertex::revertMomenta ( )
virtual

resets momenta to the values of last event read

Implements rpwa::productionVertex.

Definition at line 298 of file diffractiveDissVertex.cc.

References _beamMomCache, _debug, _recoilMomCache, _targetMomCache, beam(), recoil(), and target().

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

sets debug flag

Reimplemented from rpwa::productionVertex.

Definition at line 107 of file diffractiveDissVertex.h.

References _debug, and debug().

void diffractiveDissVertex::setXFlavorQN ( )
virtual
const particlePtr& rpwa::diffractiveDissVertex::target ( ) const
inline

returns target particle

Definition at line 92 of file diffractiveDissVertex.h.

References rpwa::interactionVertex::inParticles().

Referenced by dump(), initKinematicsData(), print(), printPointers(), readKinematicsData(), and revertMomenta().

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

virtual const particlePtr& rpwa::diffractiveDissVertex::XParticle ( ) const
inlinevirtual

returns X particle

Implements rpwa::productionVertex.

Definition at line 84 of file diffractiveDissVertex.h.

References rpwa::interactionVertex::outParticles().

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

Member Data Documentation

TVector3 rpwa::diffractiveDissVertex::_beamMomCache
private

caches beam momentum of last event read from input data; allows to "reset" kinematics for multiple passes over the same data

Definition at line 119 of file diffractiveDissVertex.h.

Referenced by operator=(), readKinematicsData(), and revertMomenta().

bool diffractiveDissVertex::_debug = false
staticprivate

if set to true, debug messages are printed

Definition at line 123 of file diffractiveDissVertex.h.

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

std::vector<particlePtr> rpwa::interactionVertex::_inParticles
protectedinherited
int rpwa::diffractiveDissVertex::_nmbProdKinPart
private

number of production kinematics particles in input data arrays

Definition at line 118 of file diffractiveDissVertex.h.

Referenced by initKinematicsData(), and readKinematicsData().

std::vector<particlePtr> rpwa::interactionVertex::_outParticles
protectedinherited
TVector3 rpwa::diffractiveDissVertex::_recoilMomCache
private

caches recoil momentum of last event read from input data; allows to "reset" kinematics for multiple passes over the same data

Definition at line 120 of file diffractiveDissVertex.h.

Referenced by operator=(), readKinematicsData(), and revertMomenta().

TVector3 rpwa::diffractiveDissVertex::_targetMomCache
private

caches target momentum of last event read from input data; allows to "reset" kinematics for multiple passes over the same data

Definition at line 121 of file diffractiveDissVertex.h.

Referenced by operator=(), readKinematicsData(), and revertMomenta().


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