thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
ThePEG::Particle Class Reference

The Particle class is used to describe an instance of a particle. More...

#include <Particle.h>

Inheritance diagram for ThePEG::Particle:

Classes

struct  ParticleRep
 This class is used internally in the Particle class to represent information besides momentum and type. More...
 

Public Member Functions

 Particle (tcEventPDPtr newData)
 Standard Constructor.
 
 Particle (const Particle &)
 Copy constructor.
 
virtual ~Particle ()
 Destructor.
 
Functions relating to ancestry of particles.
bool decayed () const
 Returns true if and only if this particle has decayed.
 
const ParticleVectorchildren () const
 The list of decay products.
 
void addChild (tPPtr c)
 Add a child (the childs parent pointer will be set accordingly).
 
void abandonChild (tPPtr child)
 Remove the given child from the list of children of this particle (the corresponding parent pointer of the child will also be removed).
 
const tParticleVectorparents () const
 The list of parent particles.
 
tParticleSet siblings () const
 Return a set of neighboring particles coming from the same decay as this one.
 
void undecay ()
 Undo the decay of this particle, removing all children (and grand children ...) from the event record.
 
void decayMode (tDMPtr dm)
 If this particle has decayed set the corresponding decay mode.
 
tDMPtr decayMode () const
 If this particle has decayed get the corresponding decay mode.
 
tPPtr next () const
 Next instance.
 
tPPtr previous () const
 Previous instance.
 
tcPPtr original () const
 Original instance.
 
tPPtr original ()
 Original instance.
 
tcPPtr final () const
 Final instance.
 
tPPtr final ()
 Final instance.
 
Relations to the Event and Step.
tStepPtr birthStep () const
 Get the first Step object where this particle occurred.
 
int number () const
 Get the order-number for this particle in the current event.
 
int status () const
 Get the status code of the particle.
 
void status (int n)
 Set the status code of the particle.
 
Access the underlying ParticleData object.
const ParticleDataClassdata () const
 Access the ParticleData object of this particle type.
 
tcEventPDPtr dataPtr () const
 Access the ParticleData object of this particle type.
 
const string & PDGName () const
 Return the PDG name of this particle.
 
long id () const
 Return the PDG id number of this particle.
 
Functions to access the momentum.
const Lorentz5Momentummomentum () const
 Return the momentum of this particle.
 
void set3Momentum (const Momentum3 &p)
 Set the 3-momentum of this particle.
 
void setMomentum (const LorentzMomentum &p)
 Set the momentum of this particle.
 
void set5Momentum (const Lorentz5Momentum &p)
 Set the momentum and mass.
 
Energy mass () const
 Acces the mass of this particle.
 
Energy nominalMass () const
 Acces the mass of this particle type.
 
Energy2 scale () const
 Get the scale at which this particle is considered resolved.
 
void scale (Energy2 q2)
 Set the scale at which this particle is considered resolved.
 
Energy2 vetoScale () const
 Get the scale above which this particle should not radiate.
 
void vetoScale (Energy2 q2)
 Set the scale above which this particle should not radiate.
 
Energy2 mt2 () const
 Return the transverse mass (squared), calculated from the energy and the longitudinal momentum.
 
Energy mt () const
 Return the transverse mass (squared), calculated from the energy and the longitudinal momentum.
 
Energy2 perpmass2 () const
 Return the transverse mass (squared), calculated from the mass and the transverse momentum.
 
Energy perpmass () const
 Return the transverse mass (squared), calculated from the mass and the transverse momentum.
 
double rapidity () const
 Return the (pseudo) rapidity.
 
double eta () const
 Return the (pseudo) rapidity.
 
Energy Pplus () const
 Return the positive and negative light-cone momenta.
 
Energy Pminus () const
 Return the positive and negative light-cone momenta.
 
Functions to access the position.
const LorentzPointvertex () const
 The creation vertex of this particle.
 
LorentzPoint labVertex () const
 The creation vertex of this particle.
 
LorentzPoint decayVertex () const
 The decay vertex of this particle.
 
LorentzPoint labDecayVertex () const
 The decay vertex of this particle.
 
const Lorentz5DistancelifeLength () const
 The life time/length.
 
void setVertex (const LorentzPoint &p)
 Set the creation vertex relative to the collision vertex.
 
void setLabVertex (const LorentzPoint &)
 Set the creation vertex in the lab frame of this particle.
 
void setLifeLength (const Distance &d)
 Set the life length of this particle.
 
void setLifeLength (const LorentzDistance &d)
 Set the life time/length of a particle.
 
void setLifeLength (const Lorentz5Distance &d)
 Set the life time/length of a particle.
 
Time lifeTime () const
 The invariant life time of this particle.
 
Functions for (Lorentz) transformations.
void transform (const LorentzRotation &r)
 Do Lorentz transformations on this particle.
 
void boost (double bx, double by, double bz)
 Do Lorentz transformations on this particle.
 
void boost (const Boost &b)
 Do Lorentz transformations on this particle.
 
void rotateX (double a)
 Rotate around the x-axis.
 
void rotateY (double a)
 Rotate around the y-axis.
 
void rotateZ (double a)
 Rotate around the z-axis.
 
void rotate (double a, const Axis &axis)
 Rotate around the given axis.
 
void mirror ()
 Mirror in the xy-plane.
 
void deepTransform (const LorentzRotation &r)
 Do Lorentz transformations on this particle and its decendants.
 
void deepBoost (double bx, double by, double bz)
 Do Lorentz transformations on this particle and its decendants.
 
void deepBoost (const Boost &b)
 Do Lorentz transformations on this particle and its decendants.
 
void deepRotateX (double a)
 Rotate this particle and its decendants around the x-axis.
 
void deepRotateY (double a)
 Rotate this particle and its decendants around the y-axis.
 
void deepRotateZ (double a)
 Rotate this particle and its decendants around the z-axis.
 
void deepRotate (double a, const Axis &axis)
 Rotate this particle and its decendants around the given axis.
 
Functions controlling possible mass/momentum inconsistencies.
double massError () const
 Return the relative inconsistency in the mass component.
 
double energyError () const
 Return the relative inconsistency in the energy component.
 
double rhoError () const
 Return the relative inconsistency in the spatial components.
 
void rescaleEnergy ()
 Rescale energy, so that the invariant length/mass of the LorentzVector agrees with the current one.
 
void rescaleRho ()
 Rescale spatial component, so that the invariant length/mass of the LorentzVector agrees with the current one.
 
void rescaleMass ()
 Set the invariant length/mass member, so that it agrees with the invariant length/mass of the LorentzVector.
 
Acces incormation about colour connections
bool hasColourInfo () const
 True if this particle has colour information.
 
tColinePtr antiColourLine () const
 Return the colour lines to which this particles anti-colour is connected.
 
tColinePtr colourLine (bool anti=false) const
 Return the colour lines to which this particles (anti-)colour is connected.
 
bool hasColourLine (tcColinePtr line, bool anti=false) const
 Return true if the particle is connected to the given (anti-) colour line.
 
bool hasAntiColourLine (tcColinePtr line) const
 Return true if the particle is connected to the given anti-colour line.
 
bool coloured () const
 True if this particle type is not a colour singlet.
 
bool hasColour (bool anti=false) const
 True if this particle type carries (anti-)colour.
 
bool hasAntiColour () const
 True if this particle type carries anti-colour.
 
tcCBPtr colourInfo () const
 Get the ColourBase object.
 
tCBPtr colourInfo ()
 Get the ColourBase object.
 
void colourInfo (tCBPtr c)
 Set the ColourBase object.
 
template<typename Iterator >
std::iterator_traits< Iterator >::value_type colourNeighbour (Iterator first, Iterator last, bool anti=false) const
 Get a pointer to the colour neighbor.
 
template<typename Iterator >
std::iterator_traits< Iterator >::value_type antiColourNeighbour (Iterator first, Iterator last) const
 Get a pointer to the anti-colour neighbor.
 
void colourNeighbour (tPPtr, bool anti=false)
 Set the colour neighbor.
 
void antiColourNeighbour (tPPtr p)
 Set the anti-colour neighbor.
 
void antiColourConnect (tPPtr neighbour)
 Connect colour.
 
void colourConnect (tPPtr neighbour, bool anti=false)
 Connect colour.
 
tPPtr incomingColour (bool anti=false) const
 Incoming colour.
 
tPPtr incomingAntiColour () const
 Incoming anti-colour.
 
void incomingColour (tPPtr p, bool anti=false)
 Set incoming colour.
 
void incomingAntiColour (tPPtr p)
 Set incoming anti-colour.
 
tPPtr outgoingColour (bool anti=false) const
 Outgoing colour.
 
tPPtr outgoingAntiColour () const
 Outgoing anti-colour.
 
void outgoingColour (tPPtr, bool anti=false)
 Set outgoing colour.
 
void outgoingAntiColour (tPPtr p)
 Set outgoing anti-colour.
 
void colourFlow (tPPtr child, bool anti=false)
 Specify colour flow.
 
void antiColourFlow (tPPtr child)
 Specify anticolour flow.
 
void resetColour ()
 Remove all colour information;.
 
Functions to access spin.
tcSpinPtr spinInfo () const
 Return the Spin object.
 
tSpinPtr spinInfo ()
 Return the Spin object.
 
void spinInfo (tSpinPtr s)
 Set the Spin object.
 
Accessing user-defined information.
const EIVectorgetInfo () const
 Access user-defined information as a vector of EventInfoBase pointers.
 
EIVectorgetInfo ()
 Access user-defined information as a vector of EventInfoBase pointers.
 
bool hasRep () const
 True if this particle has instantiated the object with information other than type and momentum.
 
void initFull ()
 If this particle has only a type and momentum, instantiate the rest of the information.
 
- Public Member Functions inherited from ThePEG::Base
virtual ~Base ()
 The virtual destructor.
 
void debug () const
 Print out debugging information for this object on std::cerr.
 
virtual void debugme () const
 Print out debugging information for this object on std::cerr.
 
- Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted
CounterType referenceCount () const
 Return the reference count.
 

Friends

class Event
 Most of the Event classes are friends with each other.
 
class Collision
 Most of the Event classes are friends with each other.
 
class Step
 Most of the Event classes are friends with each other.
 
class SubProcess
 Most of the Event classes are friends with each other.
 
class ParticleData
 ParticleData needs to be a friend.
 

Input and output functions.

struct ClassTraits< Particle >
 The ClassTraits<Particle> class must be a friend to be able to use the private default constructor.
 
static string outputFormat
 Specify how to print particles.
 
cEventPDPtr theData
 The pointer to the ParticleData object.
 
Lorentz5Momentum theMomentum
 The momentum.
 
ParticleReptheRep
 The rest of the information in this particle is only instantiated if needed.
 
int theStatus
 The status code of the particle.
 
static ClassDescription< ParticleinitParticle
 Describe concrete class with persistent data.
 
void persistentOutput (PersistentOStream &) const
 Standard function for writing to a persistent stream.
 
void persistentInput (PersistentIStream &, int)
 Standard function for reading from a persistent stream.
 
ostream & print (ostream &os, tcStepPtr step=tcStepPtr()) const
 Print particle info to a stream os.
 
virtual void debugme () const
 Print out debugging information for this object on std::cerr.
 
template<typename Iterator >
static void PrintParticles (ostream &os, Iterator first, Iterator last, tcStepPtr step=tcStepPtr())
 Print a range of particles.
 
template<typename Cont >
static void PrintParticles (ostream &os, const Cont &c, tcStepPtr step=tcStepPtr())
 Print a container of particles.
 
static void Init ()
 Standard Init function.
 
virtual PPtr clone () const
 Standard clone function.
 
virtual void rebind (const EventTranslationMap &)
 Rebind to cloned objects.
 
void number (int n)
 Set the order-number for this particle in the current event.
 
void removeChild (tPPtr c)
 Remove the given particle from the list of children.
 
void removeParent (tPPtr p)
 Remove the given particle from the list of parents.
 
void mass (Energy m)
 Set the mass of this particle.
 
void lifeTime (Length t)
 Set the invaiant life time of this particle.
 
ParticleReprep ()
 Return a reference to the bulk information of this particle.
 
const ParticleReprep () const
 Return a reference to the bulk information of this particle.
 
Particleoperator= (const Particle &)=delete
 Private and non-existent assignment.
 
 Particle ()
 Private default constructor must only be used by the PersistentIStream class via the ClassTraits<Particle> class.
 

Additional Inherited Members

- Public Types inherited from ThePEG::Pointer::ReferenceCounted
typedef unsigned int CounterType
 The integer type used for counting.
 
- Static Public Member Functions inherited from ThePEG::Base
static void Init ()
 The standard Init function used to initialize the interfaces.
 
- Public Attributes inherited from ThePEG::Pointer::ReferenceCounted
const unsigned long uniqueId
 The unique ID.
 
- Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted
 ReferenceCounted ()
 Default constructor.
 
 ReferenceCounted (const ReferenceCounted &)
 Copy-constructor.
 
ReferenceCountedoperator= (const ReferenceCounted &)
 Assignment.
 

Detailed Description

The Particle class is used to describe an instance of a particle.

Properties of the corresponding particle type can be accessed through a pointer to a ParticleData object.

A Particle object contains pointers to other particles, such as a list of parents and a list of children. It may also contain a pointer to the previous or next instance of the same physical particle if the properties of a given particle has been changed during the generation. Coloured particles contains pointers to ColourLine defining the colour connections to other particles.

The Particle also has a pointer to the Step object where it was first introduced in the Event.

When printing a particle the format of the output is governed by the static outputFormat string. When a particle is sent to an ostream, the format string is written but with keys prefixed by the % character replaced with infromation about the particle as follows:
%% is replaced by a singel %
%C sets a flag so that subsequent output of children and parents etc. will contain colour information.
%n is replaced by the particles number in a fied ow width
%s is replaced by the name of the particle
%i is replaced by the id number of the particle type
%x, %y, %z, %e, %m is replaced by the x-, y-, z-, energy- and mass-component of the particles momentum respectively
%dx, %dy, %dz, %dt, %dT is replaced by the x-, y-, z-, time- and invariant time-component of the particles lifeLength respectively
%Vx, %Vy, %Vz, %Vt is replaced by the x-, y-, z- and time-component of the creation point relative to the vertex of the collision.
%Lx, %Ly, %Lz, %Lt is replaced by the x-, y-, z- and time-component of the creation point in the current lab-system.
%p[,] is replaced by a list (of numbers) of the particles parents enclosed by [ and ] and separated by ,, The parent from which the particle inherits its (anti-) colour is marked by a (-)+
%c(,) is replaced by a list (of numbers) of the particles children enclosed by ( and ) and separated by ,, The child which inherits the particles (anti-) colour is marked by a (-)+
%> is replaced by the number of the colour neighbor
%< is replaced by the number of the anti-colour neighbor
%^ is replaced by the number of the previous instance of the same physical particle
%v is replaced by the number of the next instance of the same physical particle.
%l{,} is replaced by the indices of the colour lines to which this particle is connected enclosed by { and } and separated by ,, The line corresponding to the (anti-) colour of the particle is prefixed by a (-)+

See also
Event
Collision
Step
SubProcess
Lorentz5Vector
ColourLine
ColourBase

Definition at line 83 of file Particle.h.

Constructor & Destructor Documentation

◆ Particle() [1/2]

ThePEG::Particle::Particle ( tcEventPDPtr  newData)
inline

Standard Constructor.

Note that the default constructor is private - there is no particle without a pointer to a ParticleData object.

Definition at line 107 of file Particle.h.

◆ Particle() [2/2]

ThePEG::Particle::Particle ( )
inlineprotected

Private default constructor must only be used by the PersistentIStream class via the ClassTraits<Particle> class.

Definition at line 1139 of file Particle.h.

Member Function Documentation

◆ abandonChild()

void ThePEG::Particle::abandonChild ( tPPtr  child)
inline

Remove the given child from the list of children of this particle (the corresponding parent pointer of the child will also be removed).

Definition at line 150 of file Particle.h.

References removeChild().

◆ addChild()

void ThePEG::Particle::addChild ( tPPtr  c)
inline

Add a child (the childs parent pointer will be set accordingly).

Definition at line 140 of file Particle.h.

References rep(), and ThePEG::Particle::ParticleRep::theChildren.

◆ antiColourConnect()

void ThePEG::Particle::antiColourConnect ( tPPtr  neighbour)
inline

Connect colour.

Create a colour line connecting to it this particles colour and the given particles anti-colour.

Definition at line 751 of file Particle.h.

References colourConnect().

◆ antiColourFlow()

void ThePEG::Particle::antiColourFlow ( tPPtr  child)
inline

Specify anticolour flow.

Calls outgoingAntiColour(tPPtr,bool).

Definition at line 827 of file Particle.h.

References colourFlow().

◆ antiColourLine()

tColinePtr ThePEG::Particle::antiColourLine ( ) const
inline

Return the colour lines to which this particles anti-colour is connected.

Definition at line 638 of file Particle.h.

References colourInfo(), and hasColourInfo().

Referenced by colourLine().

◆ antiColourNeighbour() [1/2]

template<typename Iterator >
std::iterator_traits< Iterator >::value_type ThePEG::Particle::antiColourNeighbour ( Iterator  first,
Iterator  last 
) const
inline

Get a pointer to the anti-colour neighbor.

Returns a particle in the range first to last which anti-colour is connected to the same line as this particles colour.

Definition at line 730 of file Particle.h.

References colourNeighbour().

◆ antiColourNeighbour() [2/2]

void ThePEG::Particle::antiColourNeighbour ( tPPtr  p)
inline

Set the anti-colour neighbor.

Connects the given particles anti-colour to the same colour line as this particles colour.

Definition at line 745 of file Particle.h.

References colourNeighbour().

◆ birthStep()

tStepPtr ThePEG::Particle::birthStep ( ) const
inline

Get the first Step object where this particle occurred.

Definition at line 250 of file Particle.h.

References hasRep(), rep(), and ThePEG::Particle::ParticleRep::theBirthStep.

◆ boost() [1/2]

void ThePEG::Particle::boost ( const Boost b)
inline

Do Lorentz transformations on this particle.

b is the boost vector.

Definition at line 518 of file Particle.h.

References transform().

◆ boost() [2/2]

void ThePEG::Particle::boost ( double  bx,
double  by,
double  bz 
)
inline

Do Lorentz transformations on this particle.

bx, by and bz are the boost vector components.

Definition at line 510 of file Particle.h.

References transform().

◆ children()

const ParticleVector & ThePEG::Particle::children ( ) const
inline

The list of decay products.

Definition at line 132 of file Particle.h.

References hasRep(), rep(), and ThePEG::Particle::ParticleRep::theChildren.

◆ colourConnect()

void ThePEG::Particle::colourConnect ( tPPtr  neighbour,
bool  anti = false 
)
inline

Connect colour.

Create a colour line connecting to it this particles anti-colour and the given particles colour. If anti is true call antiColourConnect(tPPtr).

Definition at line 760 of file Particle.h.

References colourNeighbour().

Referenced by antiColourConnect().

◆ coloured()

bool ThePEG::Particle::coloured ( ) const
inline

True if this particle type is not a colour singlet.

Definition at line 670 of file Particle.h.

References ThePEG::ParticleData::coloured(), and data().

◆ colourFlow()

void ThePEG::Particle::colourFlow ( tPPtr  child,
bool  anti = false 
)
inline

Specify colour flow.

Calls outgoingColour(tPPtr,bool).

Definition at line 820 of file Particle.h.

References outgoingColour().

Referenced by antiColourFlow().

◆ colourInfo() [1/3]

tCBPtr ThePEG::Particle::colourInfo ( )
inline

◆ colourInfo() [2/3]

tcCBPtr ThePEG::Particle::colourInfo ( ) const
inline

Get the ColourBase object.

Definition at line 685 of file Particle.h.

References hasRep(), rep(), and ThePEG::Particle::ParticleRep::theColourInfo.

Referenced by antiColourLine(), colourLine(), and hasColourLine().

◆ colourInfo() [3/3]

void ThePEG::Particle::colourInfo ( tCBPtr  c)
inline

Set the ColourBase object.

Definition at line 709 of file Particle.h.

References rep(), and ThePEG::Particle::ParticleRep::theColourInfo.

◆ colourLine()

tColinePtr ThePEG::Particle::colourLine ( bool  anti = false) const
inline

Return the colour lines to which this particles (anti-)colour is connected.

Definition at line 646 of file Particle.h.

References antiColourLine(), colourInfo(), and hasColourInfo().

◆ colourNeighbour() [1/2]

template<typename Iterator >
std::iterator_traits< Iterator >::value_type ThePEG::Particle::colourNeighbour ( Iterator  first,
Iterator  last,
bool  anti = false 
) const

Get a pointer to the colour neighbor.

Returns a particle in the range first to last which colour is connected to the same line as this particles anti-colour. If anti is true return antiColourNeighbour().

Referenced by antiColourNeighbour(), and colourConnect().

◆ colourNeighbour() [2/2]

void ThePEG::Particle::colourNeighbour ( tPPtr  ,
bool  anti = false 
)

Set the colour neighbor.

Connects the given particles colour to the same colour line as this particles anti-colour. If anti is true call antiColourNeighbour(tPPtr).

◆ data()

const ParticleDataClass & ThePEG::Particle::data ( ) const
inline

Access the ParticleData object of this particle type.

Definition at line 277 of file Particle.h.

References theData.

Referenced by ThePEG::MatcherBase::checkp(), coloured(), hasAntiColour(), hasColour(), id(), ThePEG::MatcherBase::matches(), nominalMass(), and PDGName().

◆ dataPtr()

tcEventPDPtr ThePEG::Particle::dataPtr ( ) const
inline

Access the ParticleData object of this particle type.

Definition at line 282 of file Particle.h.

References theData.

◆ debugme()

virtual void ThePEG::Particle::debugme ( ) const
virtual

Print out debugging information for this object on std::cerr.

To be called from within a debugger via the debug() function.

Reimplemented from ThePEG::Base.

◆ decayed()

bool ThePEG::Particle::decayed ( ) const
inline

Returns true if and only if this particle has decayed.

Definition at line 125 of file Particle.h.

References hasRep(), rep(), and ThePEG::Particle::ParticleRep::theChildren.

◆ decayMode() [1/2]

tDMPtr ThePEG::Particle::decayMode ( ) const
inline

If this particle has decayed get the corresponding decay mode.

Definition at line 190 of file Particle.h.

References hasRep(), rep(), and ThePEG::Particle::ParticleRep::theDecayMode.

◆ decayMode() [2/2]

void ThePEG::Particle::decayMode ( tDMPtr  dm)
inline

If this particle has decayed set the corresponding decay mode.

Definition at line 185 of file Particle.h.

References rep(), and ThePEG::Particle::ParticleRep::theDecayMode.

◆ decayVertex()

LorentzPoint ThePEG::Particle::decayVertex ( ) const
inline

The decay vertex of this particle.

The point is given relative to the collision vertex.

Definition at line 434 of file Particle.h.

References lifeLength(), and vertex().

◆ deepBoost() [1/2]

void ThePEG::Particle::deepBoost ( const Boost b)
inline

Do Lorentz transformations on this particle and its decendants.

b is the boost vector.

Definition at line 563 of file Particle.h.

References deepTransform().

◆ deepBoost() [2/2]

void ThePEG::Particle::deepBoost ( double  bx,
double  by,
double  bz 
)
inline

Do Lorentz transformations on this particle and its decendants.

bx, by and bz are the boost vector components.

Definition at line 555 of file Particle.h.

References deepTransform().

◆ energyError()

double ThePEG::Particle::energyError ( ) const
inline

Return the relative inconsistency in the energy component.

Definition at line 597 of file Particle.h.

References ThePEG::Lorentz5Vector< Value >::energyError(), and theMomentum.

◆ eta()

double ThePEG::Particle::eta ( ) const
inline

Return the (pseudo) rapidity.

Definition at line 397 of file Particle.h.

References ThePEG::Constants::MaxFloat, momentum(), and ThePEG::LorentzVector< Value >::rho().

◆ final() [1/2]

tPPtr ThePEG::Particle::final ( )
inline

Final instance.

If there exists another subsequent instance of this particle return this instance (recursively).

Definition at line 239 of file Particle.h.

References next().

◆ final() [2/2]

tcPPtr ThePEG::Particle::final ( ) const
inline

Final instance.

If there exists another subsequent instance of this particle return this instance (recursively).

Definition at line 231 of file Particle.h.

References next().

◆ getInfo() [1/2]

EIVector & ThePEG::Particle::getInfo ( )
inline

Access user-defined information as a vector of EventInfoBase pointers.

Definition at line 873 of file Particle.h.

References rep(), and ThePEG::Particle::ParticleRep::theExtraInfo.

◆ getInfo() [2/2]

const EIVector & ThePEG::Particle::getInfo ( ) const
inline

Access user-defined information as a vector of EventInfoBase pointers.

Definition at line 865 of file Particle.h.

References hasRep(), rep(), and ThePEG::Particle::ParticleRep::theExtraInfo.

◆ hasAntiColour()

bool ThePEG::Particle::hasAntiColour ( ) const
inline

True if this particle type carries anti-colour.

Definition at line 680 of file Particle.h.

References data(), and ThePEG::ParticleData::hasAntiColour().

◆ hasAntiColourLine()

bool ThePEG::Particle::hasAntiColourLine ( tcColinePtr  line) const
inline

Return true if the particle is connected to the given anti-colour line.

Definition at line 663 of file Particle.h.

References hasColourLine().

◆ hasColour()

bool ThePEG::Particle::hasColour ( bool  anti = false) const
inline

True if this particle type carries (anti-)colour.

Definition at line 675 of file Particle.h.

References data(), and ThePEG::ParticleData::hasColour().

◆ hasColourInfo()

bool ThePEG::Particle::hasColourInfo ( ) const
inline

True if this particle has colour information.

To determine if this particle is actually coloured, the coloured(), hasColour() or hasAntiColour() methods should be used instead.

Definition at line 630 of file Particle.h.

References hasRep(), rep(), and ThePEG::Particle::ParticleRep::theColourInfo.

Referenced by antiColourLine(), colourLine(), hasColourLine(), and resetColour().

◆ hasColourLine()

bool ThePEG::Particle::hasColourLine ( tcColinePtr  line,
bool  anti = false 
) const
inline

Return true if the particle is connected to the given (anti-) colour line.

Definition at line 655 of file Particle.h.

References colourInfo(), and hasColourInfo().

Referenced by hasAntiColourLine().

◆ hasRep()

bool ThePEG::Particle::hasRep ( ) const
inline

True if this particle has instantiated the object with information other than type and momentum.

Definition at line 884 of file Particle.h.

References theRep.

Referenced by birthStep(), children(), colourInfo(), decayed(), decayMode(), getInfo(), hasColourInfo(), lifeLength(), next(), number(), parents(), previous(), removeChild(), removeParent(), rep(), scale(), spinInfo(), undecay(), vertex(), and vetoScale().

◆ id()

long ThePEG::Particle::id ( ) const
inline

Return the PDG id number of this particle.

Definition at line 292 of file Particle.h.

References data(), and ThePEG::ParticleData::id().

◆ incomingAntiColour() [1/2]

tPPtr ThePEG::Particle::incomingAntiColour ( ) const
inline

Incoming anti-colour.

Return the parent particle which anti-colour is connected to the same colour line as this particle.

Definition at line 776 of file Particle.h.

References incomingColour().

◆ incomingAntiColour() [2/2]

void ThePEG::Particle::incomingAntiColour ( tPPtr  p)
inline

Set incoming anti-colour.

Connect this particles anti colour to the same colour line as the given particle.

Definition at line 789 of file Particle.h.

◆ incomingColour() [1/2]

tPPtr ThePEG::Particle::incomingColour ( bool  anti = false) const

Incoming colour.

Return the parent particle which colour is connected to the same colour line as this particle. If anti is true return incomingAntiColour().

Referenced by incomingAntiColour().

◆ incomingColour() [2/2]

void ThePEG::Particle::incomingColour ( tPPtr  p,
bool  anti = false 
)
inline

Set incoming colour.

Connect this particles colour to the same colour line as the given particle. If anti is true call incomingAntiColour(tPPtr).

Definition at line 783 of file Particle.h.

◆ Init()

static void ThePEG::Particle::Init ( )
static

Standard Init function.

See also
Base::Init().

◆ labDecayVertex()

LorentzPoint ThePEG::Particle::labDecayVertex ( ) const
inline

The decay vertex of this particle.

The absolute position in the lab is given.

Definition at line 442 of file Particle.h.

References labVertex(), and lifeLength().

◆ labVertex()

LorentzPoint ThePEG::Particle::labVertex ( ) const

The creation vertex of this particle.

The absolute position in the lab is given.

Referenced by labDecayVertex().

◆ lifeLength()

const Lorentz5Distance & ThePEG::Particle::lifeLength ( ) const
inline

The life time/length.

Return the Lorentz vector connecting the creation to the decay vertes.

Definition at line 450 of file Particle.h.

References hasRep(), rep(), and ThePEG::Particle::ParticleRep::theLifeLength.

Referenced by decayVertex(), labDecayVertex(), and lifeTime().

◆ lifeTime() [1/2]

Time ThePEG::Particle::lifeTime ( ) const
inline

The invariant life time of this particle.

Definition at line 495 of file Particle.h.

References lifeLength(), and ThePEG::LorentzVector< Value >::m().

◆ lifeTime() [2/2]

void ThePEG::Particle::lifeTime ( Length  t)
inlineprivate

Set the invaiant life time of this particle.

Definition at line 991 of file Particle.h.

References rep(), ThePEG::Lorentz5Vector< Value >::setTau(), and ThePEG::Particle::ParticleRep::theLifeLength.

◆ mass() [1/2]

Energy ThePEG::Particle::mass ( ) const
inline

Acces the mass of this particle.

Definition at line 329 of file Particle.h.

References ThePEG::Lorentz5Vector< Value >::mass(), and momentum().

◆ mass() [2/2]

void ThePEG::Particle::mass ( Energy  m)
inlineprivate

Set the mass of this particle.

Definition at line 986 of file Particle.h.

References ThePEG::Lorentz5Vector< Value >::setMass(), and theMomentum.

◆ massError()

double ThePEG::Particle::massError ( ) const
inline

Return the relative inconsistency in the mass component.

Definition at line 592 of file Particle.h.

References ThePEG::Lorentz5Vector< Value >::massError(), and theMomentum.

◆ mirror()

void ThePEG::Particle::mirror ( )
inline

Mirror in the xy-plane.

Definition at line 543 of file Particle.h.

References theMomentum.

◆ momentum()

const Lorentz5Momentum & ThePEG::Particle::momentum ( ) const
inline

Return the momentum of this particle.

Definition at line 300 of file Particle.h.

References theMomentum.

Referenced by eta(), mass(), mt2(), perpmass2(), Pminus(), and Pplus().

◆ mt()

Energy ThePEG::Particle::mt ( ) const
inline

Return the transverse mass (squared), calculated from the energy and the longitudinal momentum.

Definition at line 372 of file Particle.h.

References mt2().

◆ mt2()

Energy2 ThePEG::Particle::mt2 ( ) const
inline

Return the transverse mass (squared), calculated from the energy and the longitudinal momentum.

Definition at line 366 of file Particle.h.

References momentum(), and ThePEG::sqr().

Referenced by mt().

◆ next()

tPPtr ThePEG::Particle::next ( ) const
inline

Next instance.

Pointer to another instance of the same physical particle in later steps.

Definition at line 198 of file Particle.h.

References hasRep(), rep(), and ThePEG::Particle::ParticleRep::theNext.

Referenced by final().

◆ nominalMass()

Energy ThePEG::Particle::nominalMass ( ) const
inline

Acces the mass of this particle type.

Definition at line 334 of file Particle.h.

References data(), and ThePEG::ParticleData::mass().

◆ number() [1/2]

int ThePEG::Particle::number ( ) const
inline

Get the order-number for this particle in the current event.

Definition at line 257 of file Particle.h.

References hasRep(), rep(), and ThePEG::Particle::ParticleRep::theNumber.

◆ number() [2/2]

void ThePEG::Particle::number ( int  n)
inlineprivate

Set the order-number for this particle in the current event.

Definition at line 961 of file Particle.h.

References rep(), and ThePEG::Particle::ParticleRep::theNumber.

◆ original() [1/2]

tPPtr ThePEG::Particle::original ( )
inline

Original instance.

If there exists another previous instance of this particle return this instance (recursively).

Definition at line 222 of file Particle.h.

References previous().

◆ original() [2/2]

tcPPtr ThePEG::Particle::original ( ) const
inline

Original instance.

If there exists another previous instance of this particle return this instance (recursively).

Definition at line 214 of file Particle.h.

References original(), and previous().

Referenced by original().

◆ outgoingAntiColour() [1/2]

tPPtr ThePEG::Particle::outgoingAntiColour ( ) const
inline

Outgoing anti-colour.

Return the daughter particle which anti-colour is connected to the same colour line as this particle.

Definition at line 802 of file Particle.h.

References outgoingColour().

◆ outgoingAntiColour() [2/2]

void ThePEG::Particle::outgoingAntiColour ( tPPtr  p)
inline

Set outgoing anti-colour.

Connect this particles anti-colour to the same colour line as the given particle.

Definition at line 815 of file Particle.h.

References outgoingColour().

◆ outgoingColour() [1/2]

tPPtr ThePEG::Particle::outgoingColour ( bool  anti = false) const

Outgoing colour.

Return the daughter particle which colour is connected to the same colour line as this particle. If anti is true return outgoingAntiColour().

Referenced by colourFlow(), and outgoingAntiColour().

◆ outgoingColour() [2/2]

void ThePEG::Particle::outgoingColour ( tPPtr  ,
bool  anti = false 
)

Set outgoing colour.

Connect this particles colour to the same colour line as the given particle. If anti is true call outgoingAntiColour(tPPtr).

◆ parents()

const tParticleVector & ThePEG::Particle::parents ( ) const
inline

The list of parent particles.

Definition at line 158 of file Particle.h.

References hasRep(), rep(), and ThePEG::Particle::ParticleRep::theParents.

◆ PDGName()

const string & ThePEG::Particle::PDGName ( ) const
inline

Return the PDG name of this particle.

Definition at line 287 of file Particle.h.

References data(), and ThePEG::ParticleData::PDGName().

◆ perpmass()

Energy ThePEG::Particle::perpmass ( ) const
inline

Return the transverse mass (squared), calculated from the mass and the transverse momentum.

Definition at line 384 of file Particle.h.

References perpmass2().

◆ perpmass2()

Energy2 ThePEG::Particle::perpmass2 ( ) const
inline

Return the transverse mass (squared), calculated from the mass and the transverse momentum.

Definition at line 378 of file Particle.h.

References ThePEG::Lorentz5Vector< Value >::mass2(), momentum(), and ThePEG::LorentzVector< Value >::perp2().

Referenced by perpmass().

◆ Pminus()

Energy ThePEG::Particle::Pminus ( ) const
inline

Return the positive and negative light-cone momenta.

Definition at line 410 of file Particle.h.

References ThePEG::LorentzVector< Value >::minus(), and momentum().

Referenced by rapidity().

◆ Pplus()

Energy ThePEG::Particle::Pplus ( ) const
inline

Return the positive and negative light-cone momenta.

Definition at line 406 of file Particle.h.

References momentum(), and ThePEG::LorentzVector< Value >::plus().

Referenced by rapidity().

◆ previous()

tPPtr ThePEG::Particle::previous ( ) const
inline

Previous instance.

Pointer to another instance of the same physical particle in earlier steps.

Definition at line 206 of file Particle.h.

References hasRep(), rep(), and ThePEG::Particle::ParticleRep::thePrevious.

Referenced by original().

◆ print()

ostream & ThePEG::Particle::print ( ostream &  os,
tcStepPtr  step = tcStepPtr() 
) const

Print particle info to a stream os.

The step is used to access information about colour neighbors and other struff.

◆ PrintParticles()

template<typename Cont >
static void ThePEG::Particle::PrintParticles ( ostream &  os,
const Cont &  c,
tcStepPtr  step = tcStepPtr() 
)
inlinestatic

Print a container of particles.

Definition at line 927 of file Particle.h.

References PrintParticles().

◆ rapidity()

double ThePEG::Particle::rapidity ( ) const
inline

Return the (pseudo) rapidity.

Definition at line 389 of file Particle.h.

References ThePEG::Constants::MaxFloat, Pminus(), Pplus(), and ThePEG::ZERO.

◆ rebind()

virtual void ThePEG::Particle::rebind ( const EventTranslationMap )
privatevirtual

Rebind to cloned objects.

When an Event is cloned, a shallow copy is done first, then all Particles etc, are cloned, and finally this method is used to see to that the pointers in the cloned Particle points to the cloned objects.

◆ removeChild()

void ThePEG::Particle::removeChild ( tPPtr  c)
inlineprivate

Remove the given particle from the list of children.

Definition at line 966 of file Particle.h.

References hasRep(), rep(), and ThePEG::Particle::ParticleRep::theChildren.

Referenced by abandonChild().

◆ removeParent()

void ThePEG::Particle::removeParent ( tPPtr  p)
inlineprivate

Remove the given particle from the list of parents.

Definition at line 976 of file Particle.h.

References hasRep(), rep(), and ThePEG::Particle::ParticleRep::theParents.

◆ rep() [1/2]

ParticleRep & ThePEG::Particle::rep ( )
inlineprivate

Return a reference to the bulk information of this particle.

if no ParticleRep object exists, one is created.

Definition at line 997 of file Particle.h.

References hasRep(), initFull(), and theRep.

Referenced by addChild(), birthStep(), children(), colourInfo(), decayed(), decayMode(), getInfo(), hasColourInfo(), lifeLength(), lifeTime(), next(), number(), parents(), previous(), removeChild(), removeParent(), resetColour(), scale(), setLifeLength(), setVertex(), spinInfo(), undecay(), vertex(), and vetoScale().

◆ rep() [2/2]

const ParticleRep & ThePEG::Particle::rep ( ) const
inlineprivate

Return a reference to the bulk information of this particle.

if no ParticleRep object exists, we return the default values.

Definition at line 1006 of file Particle.h.

References hasRep(), and theRep.

◆ rescaleEnergy()

void ThePEG::Particle::rescaleEnergy ( )
inline

Rescale energy, so that the invariant length/mass of the LorentzVector agrees with the current one.

Definition at line 608 of file Particle.h.

References ThePEG::Lorentz5Vector< Value >::rescaleEnergy(), and theMomentum.

◆ rescaleMass()

void ThePEG::Particle::rescaleMass ( )
inline

Set the invariant length/mass member, so that it agrees with the invariant length/mass of the LorentzVector.

Definition at line 620 of file Particle.h.

References ThePEG::Lorentz5Vector< Value >::rescaleMass(), and theMomentum.

◆ rescaleRho()

void ThePEG::Particle::rescaleRho ( )
inline

Rescale spatial component, so that the invariant length/mass of the LorentzVector agrees with the current one.

Definition at line 614 of file Particle.h.

References ThePEG::Lorentz5Vector< Value >::rescaleRho(), and theMomentum.

◆ resetColour()

void ThePEG::Particle::resetColour ( )
inline

Remove all colour information;.

Definition at line 832 of file Particle.h.

References hasColourInfo(), rep(), and ThePEG::Particle::ParticleRep::theColourInfo.

◆ rhoError()

double ThePEG::Particle::rhoError ( ) const
inline

Return the relative inconsistency in the spatial components.

Definition at line 602 of file Particle.h.

References ThePEG::Lorentz5Vector< Value >::rhoError(), and theMomentum.

◆ scale() [1/2]

Energy2 ThePEG::Particle::scale ( ) const
inline

Get the scale at which this particle is considered resolved.

Definition at line 339 of file Particle.h.

References hasRep(), rep(), and ThePEG::Particle::ParticleRep::theScale.

◆ scale() [2/2]

void ThePEG::Particle::scale ( Energy2  q2)
inline

Set the scale at which this particle is considered resolved.

Definition at line 346 of file Particle.h.

References rep(), and ThePEG::Particle::ParticleRep::theScale.

◆ set3Momentum()

void ThePEG::Particle::set3Momentum ( const Momentum3 p)
inline

Set the 3-momentum of this particle.

The energy is set to be consistent with the mass.

Definition at line 306 of file Particle.h.

References ThePEG::Lorentz5Vector< Value >::rescaleEnergy(), ThePEG::LorentzVector< Value >::setVect(), and theMomentum.

◆ set5Momentum()

void ThePEG::Particle::set5Momentum ( const Lorentz5Momentum p)
inline

Set the momentum and mass.

Definition at line 322 of file Particle.h.

References theMomentum.

◆ setLifeLength() [1/3]

void ThePEG::Particle::setLifeLength ( const Distance d)
inline

Set the life length of this particle.

The life time will be automatically rescaled to be consistent with the invariant distance.

Definition at line 472 of file Particle.h.

References rep(), ThePEG::Lorentz5Vector< Value >::rescaleEnergy(), ThePEG::LorentzVector< Value >::setVect(), and ThePEG::Particle::ParticleRep::theLifeLength.

◆ setLifeLength() [2/3]

void ThePEG::Particle::setLifeLength ( const Lorentz5Distance d)
inline

Set the life time/length of a particle.

Definition at line 488 of file Particle.h.

References rep(), and ThePEG::Particle::ParticleRep::theLifeLength.

◆ setLifeLength() [3/3]

void ThePEG::Particle::setLifeLength ( const LorentzDistance d)
inline

Set the life time/length of a particle.

The invariant distance may become inconsistent.

Definition at line 481 of file Particle.h.

References rep(), and ThePEG::Particle::ParticleRep::theLifeLength.

◆ setMomentum()

void ThePEG::Particle::setMomentum ( const LorentzMomentum p)
inline

Set the momentum of this particle.

Afterwards, the underlying Lorentz5Momentum may have inconsistent mass.

Definition at line 315 of file Particle.h.

References theMomentum.

◆ setVertex()

void ThePEG::Particle::setVertex ( const LorentzPoint p)
inline

Set the creation vertex relative to the collision vertex.

Definition at line 458 of file Particle.h.

References rep(), and ThePEG::Particle::ParticleRep::theVertex.

◆ siblings()

tParticleSet ThePEG::Particle::siblings ( ) const

Return a set of neighboring particles coming from the same decay as this one.

The return value is a newly recalculated set every time. It must be stored to be used further, do not directly call e.g. siblings().begin() or siblings().end()!

◆ spinInfo() [1/3]

tSpinPtr ThePEG::Particle::spinInfo ( )
inline

Return the Spin object.

Definition at line 850 of file Particle.h.

References hasRep(), rep(), and ThePEG::Particle::ParticleRep::theSpinInfo.

◆ spinInfo() [2/3]

tcSpinPtr ThePEG::Particle::spinInfo ( ) const
inline

Return the Spin object.

Definition at line 843 of file Particle.h.

References hasRep(), rep(), and ThePEG::Particle::ParticleRep::theSpinInfo.

◆ spinInfo() [3/3]

void ThePEG::Particle::spinInfo ( tSpinPtr  s)
inline

Set the Spin object.

Definition at line 857 of file Particle.h.

References rep(), and ThePEG::Particle::ParticleRep::theSpinInfo.

◆ status() [1/2]

int ThePEG::Particle::status ( ) const
inline

Get the status code of the particle.

Definition at line 264 of file Particle.h.

References theStatus.

◆ status() [2/2]

void ThePEG::Particle::status ( int  n)
inline

Set the status code of the particle.

Definition at line 269 of file Particle.h.

References theStatus.

◆ undecay()

void ThePEG::Particle::undecay ( )
inline

Undo the decay of this particle, removing all children (and grand children ...) from the event record.

Definition at line 175 of file Particle.h.

References hasRep(), rep(), ThePEG::Particle::ParticleRep::theChildren, and ThePEG::Particle::ParticleRep::theNext.

◆ vertex()

const LorentzPoint & ThePEG::Particle::vertex ( ) const
inline

The creation vertex of this particle.

The point is given relative to the collision vertex.

Definition at line 419 of file Particle.h.

References hasRep(), rep(), and ThePEG::Particle::ParticleRep::theVertex.

Referenced by decayVertex().

◆ vetoScale() [1/2]

Energy2 ThePEG::Particle::vetoScale ( ) const
inline

Get the scale above which this particle should not radiate.

Definition at line 352 of file Particle.h.

References hasRep(), rep(), and ThePEG::Particle::ParticleRep::theVetoScale.

◆ vetoScale() [2/2]

void ThePEG::Particle::vetoScale ( Energy2  q2)
inline

Set the scale above which this particle should not radiate.

Definition at line 360 of file Particle.h.

References rep(), and ThePEG::Particle::ParticleRep::theVetoScale.

Friends And Related Function Documentation

◆ ClassTraits< Particle >

friend struct ClassTraits< Particle >
friend

The ClassTraits<Particle> class must be a friend to be able to use the private default constructor.

Definition at line 1139 of file Particle.h.

◆ Collision

friend class Collision
friend

Most of the Event classes are friends with each other.

Definition at line 90 of file Particle.h.

◆ Event

friend class Event
friend

Most of the Event classes are friends with each other.

Definition at line 88 of file Particle.h.

◆ ParticleData

friend class ParticleData
friend

ParticleData needs to be a friend.

Definition at line 96 of file Particle.h.

◆ Step

friend class Step
friend

Most of the Event classes are friends with each other.

Definition at line 92 of file Particle.h.

◆ SubProcess

friend class SubProcess
friend

Most of the Event classes are friends with each other.

Definition at line 94 of file Particle.h.

Member Data Documentation

◆ initParticle

ClassDescription<Particle> ThePEG::Particle::initParticle
staticprivate

Describe concrete class with persistent data.

Definition at line 1157 of file Particle.h.

◆ outputFormat

string ThePEG::Particle::outputFormat
static

Specify how to print particles.

The format string is analogous to the one used by eg. the unix 'date' command as described above.

Definition at line 941 of file Particle.h.

◆ theData

cEventPDPtr ThePEG::Particle::theData
private

The pointer to the ParticleData object.

Definition at line 1014 of file Particle.h.

Referenced by colourInfo(), data(), and dataPtr().

◆ theMomentum

Lorentz5Momentum ThePEG::Particle::theMomentum
private

◆ theRep

ParticleRep* ThePEG::Particle::theRep
private

The rest of the information in this particle is only instantiated if needed.

Definition at line 1025 of file Particle.h.

Referenced by hasRep(), and rep().

◆ theStatus

int ThePEG::Particle::theStatus
private

The status code of the particle.

Definition at line 1030 of file Particle.h.

Referenced by status().


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