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

#include <leptoProductionVertex.h>

Inheritance diagram for rpwa::leptoProductionVertex:
rpwa::productionVertex rpwa::interactionVertex

Public Member Functions

 leptoProductionVertex (const particlePtr &beamLepton, const particlePtr &target, const particlePtr &XParticle, const particlePtr &recoil=particlePtr())
 force vertex to have two incoming (beam lepton + target) and three outgoing particles (X + recoil + scattered lepton); recoil is optional
 leptoProductionVertex (const leptoProductionVertex &vert)
virtual ~leptoProductionVertex ()
leptoProductionVertexoperator= (const leptoProductionVertex &vert)
leptoProductionVertexPtr clone (const bool cloneInParticles=false, const bool cloneOutParticles=false) const
 < creates deep copy of leptoproduction 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 particlePtrbeamLepton () const
 returns incoming beam particle
const particlePtrtarget () const
 returns target particle
const particlePtrvirtPhoton () const
 returns virtual photon
const particlePtrscatteredLepton () const
 returns outgoing beam particle
const particlePtrrecoil () const
 returns recoil particle
double beamPol () const
 returns (longitudinal) beam polarization
void setBeamPol (const double longPol=0)
 sets (longitudinal) beam polarization
double Q2 () const
 returns Q^2 of virtual photon
double nu () const
 returns energy of virtual photon
double y () const
 returns relative energy loss of virtual photon
double epsilon () const
 returns photon's polarization parameter
double delta () const
 returns photon's mass correction parameter
double xBj () const
 returns Bjorken x
double s () const
 returns total energy squared in (virtual photon, target) CM system
double W () const
 returns total energy in (virtual photon, target) CM system
double delta (const double epsilon) const
 returns photon's mass correction parameter for known epsilon
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 leptoProductionVertexdoClone (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

double _longPol
 longitudinal beam polarization
int _nmbProdKinPart
 number of production kinematics particles in input data arrays
TVector3 _beamLeptonMomCache
 caches beam momentum of last event read from input data; allows to "reset" kinematics for multiple passes over the same data
TVector3 _scatteredLeptonMomCache
 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 62 of file leptoProductionVertex.h.

Constructor & Destructor Documentation

leptoProductionVertex::leptoProductionVertex ( const particlePtr beamLepton,
const particlePtr target,
const particlePtr XParticle,
const particlePtr recoil = particlePtr() 
)

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

Definition at line 67 of file leptoProductionVertex.cc.

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

Referenced by doClone().

leptoProductionVertex::leptoProductionVertex ( const leptoProductionVertex vert)

Definition at line 105 of file leptoProductionVertex.cc.

leptoProductionVertex::~leptoProductionVertex ( )
virtual

Definition at line 111 of file leptoProductionVertex.cc.

Member Function Documentation

bool leptoProductionVertex::addInParticle ( const particlePtr )
virtual

disabled; all incoming particles have to be specified at construction

Reimplemented from rpwa::interactionVertex.

Definition at line 147 of file leptoProductionVertex.cc.

References _debug.

Referenced by leptoProductionVertex().

bool leptoProductionVertex::addOutParticle ( const particlePtr )
virtual

disabled; all outgoing particles have to be specified at construction

Reimplemented from rpwa::interactionVertex.

Definition at line 156 of file leptoProductionVertex.cc.

References _debug.

Referenced by leptoProductionVertex().

const particlePtr& rpwa::leptoProductionVertex::beamLepton ( ) const
inline
double rpwa::leptoProductionVertex::beamPol ( ) const
inline

returns (longitudinal) beam polarization

Definition at line 96 of file leptoProductionVertex.h.

References _longPol.

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

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

Reimplemented from rpwa::interactionVertex.

Definition at line 74 of file leptoProductionVertex.h.

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

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

returns debug flag

Reimplemented from rpwa::productionVertex.

Definition at line 121 of file leptoProductionVertex.h.

References _debug.

Referenced by setDebug().

double rpwa::leptoProductionVertex::delta ( ) const
inline

returns photon's mass correction parameter

Definition at line 104 of file leptoProductionVertex.h.

References beamLepton(), epsilon(), and Q2().

Referenced by productionAmp().

double rpwa::leptoProductionVertex::delta ( const double  epsilon) const
inline

returns photon's mass correction parameter for known epsilon

Definition at line 108 of file leptoProductionVertex.h.

References beamLepton(), epsilon(), and Q2().

leptoProductionVertex * leptoProductionVertex::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 130 of file leptoProductionVertex.cc.

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

Referenced by clone().

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

prints all vertex data in human-readable form

Reimplemented from rpwa::interactionVertex.

Definition at line 532 of file leptoProductionVertex.cc.

References beamLepton(), name(), recoil(), scatteredLepton(), target(), virtPhoton(), and XParticle().

double leptoProductionVertex::epsilon ( ) const

returns photon's polarization parameter

Definition at line 297 of file leptoProductionVertex.cc.

References beamLepton(), gamma2(), Q2(), target(), xBj(), and y().

Referenced by delta(), and productionAmp().

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

initializes input data

Implements rpwa::productionVertex.

Definition at line 349 of file leptoProductionVertex.cc.

References _nmbProdKinPart, beamLepton(), name(), recoil(), scatteredLepton(), 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::leptoProductionVertex::name ( ) const
inlinevirtual

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

Reimplemented from rpwa::productionVertex.

Definition at line 119 of file leptoProductionVertex.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
double rpwa::leptoProductionVertex::nu ( ) const
inline

returns energy of virtual photon

Definition at line 101 of file leptoProductionVertex.h.

References target(), and virtPhoton().

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

Definition at line 77 of file interactionVertex.h.

leptoProductionVertex & leptoProductionVertex::operator= ( const leptoProductionVertex vert)
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 & leptoProductionVertex::print ( std::ostream &  out) const
virtual

prints vertex parameters in human-readable form

Reimplemented from rpwa::interactionVertex.

Definition at line 520 of file leptoProductionVertex.cc.

References _longPol, beamLepton(), name(), recoil(), scatteredLepton(), target(), virtPhoton(), and XParticle().

Referenced by rpwa::operator<<().

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

prints particle pointers strored in vertex

Reimplemented from rpwa::interactionVertex.

Definition at line 546 of file leptoProductionVertex.cc.

References beamLepton(), name(), recoil(), scatteredLepton(), target(), virtPhoton(), and XParticle().

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

returns production amplitude

Reimplemented from rpwa::productionVertex.

Definition at line 165 of file leptoProductionVertex.cc.

References _longPol, beamLepton(), conj(), delta(), epsilon(), i, q(), rho(), scatteredLepton(), target(), virtPhoton(), and XParticle().

double rpwa::leptoProductionVertex::Q2 ( ) const
inline

returns Q^2 of virtual photon

Definition at line 100 of file leptoProductionVertex.h.

References virtPhoton().

Referenced by delta(), epsilon(), and xBj().

bool leptoProductionVertex::readKinematicsData ( const TClonesArray &  prodKinMomenta)
virtual
const particlePtr& rpwa::leptoProductionVertex::recoil ( ) const
inline

returns recoil particle

Definition at line 94 of file leptoProductionVertex.h.

References rpwa::interactionVertex::outParticles().

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

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

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

Implements rpwa::productionVertex.

Definition at line 82 of file leptoProductionVertex.h.

References virtPhoton().

bool leptoProductionVertex::revertMomenta ( )
virtual

resets momenta to the values of last event read

Implements rpwa::productionVertex.

Definition at line 500 of file leptoProductionVertex.cc.

References _beamLeptonMomCache, _debug, _recoilMomCache, _scatteredLeptonMomCache, _targetMomCache, beamLepton(), recoil(), scatteredLepton(), target(), and virtPhoton().

double rpwa::leptoProductionVertex::s ( ) const
inline

returns total energy squared in (virtual photon, target) CM system

Definition at line 106 of file leptoProductionVertex.h.

References target(), and virtPhoton().

Referenced by W().

const particlePtr& rpwa::leptoProductionVertex::scatteredLepton ( ) const
inline
void rpwa::leptoProductionVertex::setBeamPol ( const double  longPol = 0)
inline

sets (longitudinal) beam polarization

Definition at line 97 of file leptoProductionVertex.h.

References _longPol.

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

sets debug flag

Reimplemented from rpwa::productionVertex.

Definition at line 122 of file leptoProductionVertex.h.

References _debug, and debug().

void leptoProductionVertex::setXFlavorQN ( )
virtual
const particlePtr& rpwa::leptoProductionVertex::target ( ) const
inline
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().

const particlePtr& rpwa::leptoProductionVertex::virtPhoton ( ) const
inline
double rpwa::leptoProductionVertex::W ( ) const
inline

returns total energy in (virtual photon, target) CM system

Definition at line 107 of file leptoProductionVertex.h.

References s().

double rpwa::leptoProductionVertex::xBj ( ) const
inline

returns Bjorken x

Definition at line 105 of file leptoProductionVertex.h.

References Q2(), target(), and virtPhoton().

Referenced by epsilon().

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

returns X particle

Implements rpwa::productionVertex.

Definition at line 83 of file leptoProductionVertex.h.

References rpwa::interactionVertex::outParticles().

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

double rpwa::leptoProductionVertex::y ( ) const
inline

returns relative energy loss of virtual photon

Definition at line 148 of file leptoProductionVertex.h.

References beamLepton(), target(), and virtPhoton().

Referenced by epsilon().

Member Data Documentation

TVector3 rpwa::leptoProductionVertex::_beamLeptonMomCache
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 136 of file leptoProductionVertex.h.

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

bool leptoProductionVertex::_debug = false
staticprivate

if set to true, debug messages are printed

Definition at line 141 of file leptoProductionVertex.h.

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

std::vector<particlePtr> rpwa::interactionVertex::_inParticles
protectedinherited
double rpwa::leptoProductionVertex::_longPol
private

longitudinal beam polarization

Definition at line 133 of file leptoProductionVertex.h.

Referenced by beamPol(), print(), productionAmp(), and setBeamPol().

int rpwa::leptoProductionVertex::_nmbProdKinPart
private

number of production kinematics particles in input data arrays

Definition at line 135 of file leptoProductionVertex.h.

Referenced by initKinematicsData(), and readKinematicsData().

std::vector<particlePtr> rpwa::interactionVertex::_outParticles
protectedinherited
TVector3 rpwa::leptoProductionVertex::_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 138 of file leptoProductionVertex.h.

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

TVector3 rpwa::leptoProductionVertex::_scatteredLeptonMomCache
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 137 of file leptoProductionVertex.h.

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

TVector3 rpwa::leptoProductionVertex::_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 139 of file leptoProductionVertex.h.

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


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