thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
ThePEG::SubProcess Class Reference

A SubProcess object represents a hard $2\rightarrow n$ sub-process in a collision. More...

#include <SubProcess.h>

Inheritance diagram for ThePEG::SubProcess:

Public Member Functions

 SubProcess (const PPair &newIncoming, tCollPtr newCollision=tCollPtr(), tcEventBasePtr newHandler=tcEventBasePtr(), tSubProPtr newHead=tSubProPtr(), double newGroupWeight=1.0)
 Standard constructor. More...
 
virtual ~SubProcess ()
 Destructor.
 
tcEventBasePtr handler () const
 A pointer to the MEBase object which generated this SubProcess.
 
tCollPtr collision () const
 A pointer to the collision to which this sub-process belongs.
 
const PPairincoming () const
 The pair of incoming partons.
 
const ParticleVectorintermediates () const
 A reference to the vector of intermediate partons.
 
const ParticleVectoroutgoing () const
 A reference to the vector of outgoing particles.
 
template<class InputIterator >
void setOutgoing (InputIterator, InputIterator)
 Set the vector of outgoing particles.
 
void addOutgoing (tPPtr p, bool fixrelations=true)
 Add a particle to the list of outgoing ones. More...
 
void changeIncoming (tPPtr pnew, tPPtr pold)
 Change the incoming parton.
 
template<class InputIterator >
void setIntermediates (InputIterator, InputIterator)
 Set the vector of intermediate particles.
 
void addIntermediate (tPPtr p, bool fixrelations=true)
 Add a particle to the list of intermediate ones. More...
 
void removeEntry (tPPtr p)
 Remove a particle entry from this sub-process.
 
virtual SubProPtr clone () const
 Return a clone of this sub process.
 
bool decayed () const
 True if a perturbative cascade has been applied to this sub process.
 
void decayed (bool x)
 Set to true if a perturbative cascade has been applied to this sub process.
 
tSubProPtr head () const
 Return the head SubProcess, if this SubProcess object belongs to a SubProcessGroup. More...
 
void head (tSubProPtr newHead)
 Set the head SubProcess.
 
double groupWeight () const
 If this SubProcess belongs to a SubProcessGroup, return its relative weight w.r.t. More...
 
void groupWeight (double w)
 If this SubProcess belongs to a SubProcessGroup, set its relative weight w.r.t. More...
 
virtual void transform (const LorentzRotation &)
 Perform a LorentzTransformation of all particles in the sub process.
 
Energy2 shat () const
 Return the value of the Mandelstam variable $\hat{s}$ in this SubProcess. More...
 
Energy2 that () const
 Return the value of the Mandelstam variable $\hat{t}$ in this SubProcess. More...
 
Energy2 uhat () const
 Return the value of the Mandelstam variable $\hat{u}$ in this SubProcess. More...
 
void persistentOutput (PersistentOStream &) const
 Standard function for writing to a persistent stream.
 
void persistentInput (PersistentIStream &, int)
 Standard function for reading from a persistent stream.
 
virtual void debugme () const
 Print out debugging information for this object on std::cerr. More...
 
virtual void printMe (ostream &) const
 Put to ostream.
 
- 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

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

Protected Member Functions

virtual void rebind (const EventTranslationMap &trans)
 Rebind to cloned objects. More...
 
- Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted
 ReferenceCounted ()
 Default constructor.
 
 ReferenceCounted (const ReferenceCounted &)
 Copy-constructor.
 
ReferenceCountedoperator= (const ReferenceCounted &)
 Assignment.
 

Private Member Functions

 SubProcess ()
 Default constructor.
 
SubProcessoperator= (const SubProcess &)=delete
 Assignment is forbidden.
 

Private Attributes

tcEventBasePtr theHandler
 A pointer to the MEBase object which generated this sub-process.
 
tCollPtr theCollision
 A pointer to the collision to which this sub-process belongs.
 
PPair theIncoming
 The pair of incoming particles.
 
ParticleVector theIntermediates
 The vector of intermediate particles,.
 
ParticleVector theOutgoing
 The vector of outgoing particles.
 
bool isDecayed
 True if a perturbative cascade has been applied to this sub process.
 
tSubProPtr theHead
 The head SubProcess, if this SubProcess object belongs to a SubProcessGroup. More...
 
double theGroupWeight
 If this SubProcess belongs to a SubProcessGroup, this gives its relative weight w.r.t. More...
 

Static Private Attributes

static ClassDescription< SubProcessinitSubProcess
 Describe concrete class with persistent data.
 

Friends

class Step
 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 SubProcessGroup
 Most of the Event classes are friends with each other. More...
 
struct ClassTraits< SubProcess >
 The ClassTraits<SubProcess> 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

A SubProcess object represents a hard $2\rightarrow n$ sub-process in a collision.

It carries information about the incoming and outgoing particles, as well as possible intermediate ones. It also has a pointer to the MEBase object which generated the sub-process.

See also
Event
Particle
SubProcessGroup

Definition at line 33 of file SubProcess.h.

Constructor & Destructor Documentation

◆ SubProcess()

ThePEG::SubProcess::SubProcess ( const PPair newIncoming,
tCollPtr  newCollision = tCollPtr(),
tcEventBasePtr  newHandler = tcEventBasePtr(),
tSubProPtr  newHead = tSubProPtr(),
double  newGroupWeight = 1.0 
)

Standard constructor.

Parameters
newIncomingthe two incoming partons.
newCollisionthe Collision to which this SubProcess belongs.
newHandlerthe MEBase object which generated this SubProcess.

Member Function Documentation

◆ addIntermediate()

void ThePEG::SubProcess::addIntermediate ( tPPtr  p,
bool  fixrelations = true 
)

Add a particle to the list of intermediate ones.

If fixrelations is true the mother daughter pointers will be set to/from the incoming partons.

Referenced by outgoing().

◆ addOutgoing()

void ThePEG::SubProcess::addOutgoing ( tPPtr  p,
bool  fixrelations = true 
)

Add a particle to the list of outgoing ones.

If fixrelations is true the mother daughter pointers will be set to/from the incoming partons.

Referenced by outgoing().

◆ debugme()

virtual void ThePEG::SubProcess::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.

◆ groupWeight() [1/2]

double ThePEG::SubProcess::groupWeight ( ) const
inline

If this SubProcess belongs to a SubProcessGroup, return its relative weight w.r.t.

the head's weight.

Definition at line 159 of file SubProcess.h.

References theGroupWeight.

◆ groupWeight() [2/2]

void ThePEG::SubProcess::groupWeight ( double  w)
inline

If this SubProcess belongs to a SubProcessGroup, set its relative weight w.r.t.

the head's weight.

Definition at line 166 of file SubProcess.h.

References rebind(), theGroupWeight, and transform().

◆ head()

tSubProPtr ThePEG::SubProcess::head ( ) const
inline

Return the head SubProcess, if this SubProcess object belongs to a SubProcessGroup.

Return NULL if head of a SubProcessGroup or not member of a SubProcessGroup at all.

Definition at line 147 of file SubProcess.h.

References theHead.

◆ Init()

static void ThePEG::SubProcess::Init ( )
static

Standard Init function.

See also
Base::Init().

Referenced by uhat().

◆ rebind()

virtual void ThePEG::SubProcess::rebind ( const EventTranslationMap trans)
protectedvirtual

Rebind to cloned objects.

When a SubProcess 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 SubProcess points to the cloned Particles etc.

Reimplemented in ThePEG::SubProcessGroup.

Referenced by groupWeight().

◆ shat()

Energy2 ThePEG::SubProcess::shat ( ) const
inline

Return the value of the Mandelstam variable $\hat{s}$ in this SubProcess.

It is calculated using the incoming particles.

Definition at line 192 of file SubProcess.h.

References incoming().

◆ that()

Energy2 ThePEG::SubProcess::that ( ) const
inline

Return the value of the Mandelstam variable $\hat{t}$ in this SubProcess.

It is calculated using the first incoming and first outgoing particle.

Definition at line 201 of file SubProcess.h.

References incoming(), and outgoing().

◆ uhat()

Energy2 ThePEG::SubProcess::uhat ( ) const
inline

Return the value of the Mandelstam variable $\hat{u}$ in this SubProcess.

It is calculated using the first incoming and last outgoing particle.

Definition at line 210 of file SubProcess.h.

References incoming(), Init(), outgoing(), persistentInput(), and persistentOutput().

Friends And Related Function Documentation

◆ Collision

friend class Collision
friend

Most of the Event classes are friends with each other.

Definition at line 40 of file SubProcess.h.

◆ Step

friend class Step
friend

Most of the Event classes are friends with each other.

Definition at line 38 of file SubProcess.h.

◆ SubProcessGroup

friend class SubProcessGroup
friend

Most of the Event classes are friends with each other.

Definition at line 42 of file SubProcess.h.

Member Data Documentation

◆ theGroupWeight

double ThePEG::SubProcess::theGroupWeight
private

If this SubProcess belongs to a SubProcessGroup, this gives its relative weight w.r.t.

the head's weight.

Definition at line 276 of file SubProcess.h.

Referenced by groupWeight().

◆ theHead

tSubProPtr ThePEG::SubProcess::theHead
private

The head SubProcess, if this SubProcess object belongs to a SubProcessGroup.

NULL if head of a SubProcessGroup or not member of a SubProcessGroup at all.

Definition at line 269 of file SubProcess.h.

Referenced by head().


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