ThePEG is hosted by Hepforge, IPPP Durham
ThePEG  2.1.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. More...
 
 Particle (const Particle &)
 Copy constructor.
 
virtual ~Particle ()
 Destructor.
 
ostream & print (ostream &os, tcStepPtr step=tcStepPtr()) const
 Print particle info to a stream os. More...
 
virtual void debugme () const
 Print out debugging information for this object on std::cerr. More...
 
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. More...
 
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. More...
 
tPPtr previous () const
 Previous instance. More...
 
tcPPtr original () const
 Original instance. More...
 
tPPtr original ()
 Original instance. More...
 
tcPPtr final () const
 Final instance. More...
 
tPPtr final ()
 Final instance. More...
 
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.
 
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. More...
 
void setMomentum (const LorentzMomentum &p)
 Set the momentum of this particle. More...
 
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. More...
 
LorentzPoint labVertex () const
 The creation vertex of this particle. More...
 
LorentzPoint decayVertex () const
 The decay vertex of this particle. More...
 
LorentzPoint labDecayVertex () const
 The decay vertex of this particle. More...
 
const Lorentz5DistancelifeLength () const
 The life time/length. More...
 
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. More...
 
void setLifeLength (const LorentzDistance &d)
 Set the life time/length of a particle. More...
 
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. More...
 
void boost (const Boost &b)
 Do Lorentz transformations on this particle. More...
 
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. More...
 
void deepBoost (const Boost &b)
 Do Lorentz transformations on this particle and its decendants. More...
 
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. More...
 
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. More...
 
template<typename Iterator >
std::iterator_traits< Iterator >::value_type antiColourNeighbour (Iterator first, Iterator last) const
 Get a pointer to the anti-colour neighbor. More...
 
void colourNeighbour (tPPtr, bool anti=false)
 Set the colour neighbor. More...
 
void antiColourNeighbour (tPPtr p)
 Set the anti-colour neighbor. More...
 
void antiColourConnect (tPPtr neighbour)
 Connect colour. More...
 
void colourConnect (tPPtr neighbour, bool anti=false)
 Connect colour. More...
 
tPPtr incomingColour (bool anti=false) const
 Incoming colour. More...
 
tPPtr incomingAntiColour () const
 Incoming anti-colour. More...
 
void incomingColour (tPPtr p, bool anti=false)
 Set incoming colour. More...
 
void incomingAntiColour (tPPtr p)
 Set incoming anti-colour. More...
 
tPPtr outgoingColour (bool anti=false) const
 Outgoing colour. More...
 
tPPtr outgoingAntiColour () const
 Outgoing anti-colour. More...
 
void outgoingColour (tPPtr, bool anti=false)
 Set outgoing colour. More...
 
void outgoingAntiColour (tPPtr p)
 Set outgoing anti-colour. More...
 
void colourFlow (tPPtr child, bool anti=false)
 Specify colour flow. More...
 
void antiColourFlow (tPPtr child)
 Specify anticolour flow. More...
 
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.
 
Input and output functions.
void persistentOutput (PersistentOStream &) const
 Standard function for writing to a persistent stream.
 
void persistentInput (PersistentIStream &, int)
 Standard function for reading from a persistent stream.
 
- 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. More...
 
- Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted
CounterType referenceCount () const
 Return the reference count.
 

Static Public Member Functions

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. More...
 
- Static Public Member Functions inherited from ThePEG::Base
static void Init ()
 The standard Init function used to initialize the interfaces. More...
 

Static Public Attributes

static string outputFormat
 Specify how to print particles. More...
 

Protected Member Functions

 Particle ()
 Private default constructor must only be used by the PersistentIStream class via the ClassTraits<Particle> class.
 
- Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted
 ReferenceCounted ()
 Default constructor.
 
 ReferenceCounted (const ReferenceCounted &)
 Copy-constructor.
 
ReferenceCountedoperator= (const ReferenceCounted &)
 Assignment.
 

Private Member Functions

virtual PPtr clone () const
 Standard clone function.
 
virtual void rebind (const EventTranslationMap &)
 Rebind to cloned objects. More...
 
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. More...
 
const ParticleReprep () const
 Return a reference to the bulk information of this particle. More...
 
Particleoperator= (const Particle &)
 Private and non-existent assignment.
 

Private Attributes

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.
 

Static Private Attributes

static ClassDescription< ParticleinitParticle
 Describe concrete class with persistent data.
 

Friends

class Event
 Most of the Event classes are friends with each other. More...
 
class Collision
 Most of the Event classes are friends with each other. More...
 
class Step
 Most of the Event classes are friends with each other. More...
 
class SubProcess
 Most of the Event classes are friends with each other. More...
 
class ParticleData
 ParticleData needs to be a friend. More...
 
struct ClassTraits< Particle >
 The ClassTraits<Particle> class must be a friend to be able to use the private default constructor.
 

Additional Inherited Members

- Public Types inherited from ThePEG::Pointer::ReferenceCounted
typedef unsigned int CounterType
 The integer type used for counting.
 
- Public Attributes inherited from ThePEG::Pointer::ReferenceCounted
const unsigned long uniqueId
 The unique ID. More...
 

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

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.

References Particle(), and ~Particle().

Member Function Documentation

◆ 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 741 of file Particle.h.

References colourConnect().

◆ antiColourFlow()

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

Specify anticolour flow.

Calls outgoingAntiColour(tPPtr,bool).

Definition at line 817 of file Particle.h.

References colourFlow().

◆ 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 720 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 735 of file Particle.h.

References colourNeighbour().

◆ boost() [1/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 500 of file Particle.h.

References transform().

◆ boost() [2/2]

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

Do Lorentz transformations on this particle.

b is the boost vector.

Definition at line 508 of file Particle.h.

References rotate(), rotateX(), rotateY(), rotateZ(), and transform().

◆ 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 750 of file Particle.h.

References colourNeighbour(), and incomingColour().

Referenced by antiColourConnect().

◆ colourFlow()

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

Specify colour flow.

Calls outgoingColour(tPPtr,bool).

Definition at line 810 of file Particle.h.

References outgoingColour().

Referenced by antiColourFlow().

◆ 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(), colourConnect(), and colourInfo().

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

◆ 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.

◆ 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 424 of file Particle.h.

References lifeLength(), and vertex().

◆ deepBoost() [1/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 545 of file Particle.h.

References deepTransform().

◆ deepBoost() [2/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 553 of file Particle.h.

References deepRotate(), deepRotateX(), deepRotateY(), deepRotateZ(), and deepTransform().

◆ final() [1/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().

◆ final() [2/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().

◆ 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 620 of file Particle.h.

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

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

◆ 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 766 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 779 of file Particle.h.

References outgoingColour().

◆ 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 colourConnect(), and 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 773 of file Particle.h.

◆ Init()

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

Standard Init function.

See also
Base::Init().

Referenced by PrintParticles().

◆ labDecayVertex()

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

The decay vertex of this particle.

The absolute position in the lab is given.

Definition at line 432 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(), and vertex().

◆ 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 440 of file Particle.h.

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

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

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

◆ original() [1/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 previous().

◆ original() [2/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().

◆ 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 792 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 805 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(), incomingAntiColour(), 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).

◆ 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.

Referenced by hasRep().

◆ 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.

◆ 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 987 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 996 of file Particle.h.

References hasRep(), and theRep.

◆ 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 296 of file Particle.h.

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

◆ setLifeLength() [1/2]

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 462 of file Particle.h.

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

◆ setLifeLength() [2/2]

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 471 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 305 of file Particle.h.

References theMomentum.

◆ 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()!

Referenced by parents().

◆ 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 409 of file Particle.h.

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

Referenced by decayVertex().

Friends And Related Function Documentation

◆ 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

◆ 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 931 of file Particle.h.


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