thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
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.
 
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.
 
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.
 
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.
 
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.
 
void groupWeight (double w)
 If this SubProcess belongs to a SubProcessGroup, set its relative weight w.r.t.
 
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.
 
Energy2 that () const
 Return the value of the Mandelstam variable \(\hat{t}\) in this SubProcess.
 
Energy2 uhat () const
 Return the value of the Mandelstam variable \(\hat{u}\) in this SubProcess.
 
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.
 
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.
 
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.
 

Static Public Member Functions

static void Init ()
 Standard Init function.
 
- Static Public Member Functions inherited from ThePEG::Base
static void Init ()
 The standard Init function used to initialize the interfaces.
 

Protected Member Functions

virtual void rebind (const EventTranslationMap &trans)
 Rebind to cloned objects.
 
- 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.
 
double theGroupWeight
 If this SubProcess belongs to a SubProcessGroup, this gives its relative weight w.r.t.
 

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.
 
class Collision
 Most of the Event classes are friends with each other.
 
class SubProcessGroup
 Most of the Event classes are friends with each other.
 
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.
 

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() [1/2]

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.

◆ SubProcess() [2/2]

ThePEG::SubProcess::SubProcess ( )
inlineprivate

Default constructor.

Definition at line 296 of file SubProcess.h.

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.

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

◆ clone()

virtual SubProPtr ThePEG::SubProcess::clone ( ) const
virtual

Return a clone of this sub process.

Reimplemented in ThePEG::SubProcessGroup.

◆ collision()

tCollPtr ThePEG::SubProcess::collision ( ) const
inline

A pointer to the collision to which this sub-process belongs.

Definition at line 71 of file SubProcess.h.

References theCollision.

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

◆ decayed() [1/2]

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

True if a perturbative cascade has been applied to this sub process.

Definition at line 133 of file SubProcess.h.

References isDecayed.

◆ decayed() [2/2]

void ThePEG::SubProcess::decayed ( bool  x)
inline

Set to true if a perturbative cascade has been applied to this sub process.

Definition at line 139 of file SubProcess.h.

References isDecayed.

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

◆ handler()

tcEventBasePtr ThePEG::SubProcess::handler ( ) const
inline

A pointer to the MEBase object which generated this SubProcess.

Definition at line 66 of file SubProcess.h.

References theHandler.

◆ head() [1/2]

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.

◆ head() [2/2]

void ThePEG::SubProcess::head ( tSubProPtr  newHead)
inline

Set the head SubProcess.

Definition at line 152 of file SubProcess.h.

References theHead.

◆ incoming()

const PPair & ThePEG::SubProcess::incoming ( ) const
inline

The pair of incoming partons.

Definition at line 76 of file SubProcess.h.

References theIncoming.

Referenced by shat(), that(), and uhat().

◆ Init()

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

Standard Init function.

See also
Base::Init().

◆ intermediates()

const ParticleVector & ThePEG::SubProcess::intermediates ( ) const
inline

A reference to the vector of intermediate partons.

Definition at line 81 of file SubProcess.h.

References theIntermediates.

◆ outgoing()

const ParticleVector & ThePEG::SubProcess::outgoing ( ) const
inline

A reference to the vector of outgoing particles.

Definition at line 86 of file SubProcess.h.

References theOutgoing.

Referenced by that(), and uhat().

◆ printMe()

virtual void ThePEG::SubProcess::printMe ( ostream &  ) const
virtual

Put to ostream.

Reimplemented in ThePEG::SubProcessGroup.

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

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

◆ transform()

virtual void ThePEG::SubProcess::transform ( const LorentzRotation )
virtual

Perform a LorentzTransformation of all particles in the sub process.

Reimplemented in ThePEG::SubProcessGroup.

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

Friends And Related Function Documentation

◆ ClassTraits< SubProcess >

friend struct ClassTraits< SubProcess >
friend

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

Definition at line 301 of file SubProcess.h.

◆ 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

◆ initSubProcess

ClassDescription<SubProcess> ThePEG::SubProcess::initSubProcess
staticprivate

Describe concrete class with persistent data.

Definition at line 301 of file SubProcess.h.

◆ isDecayed

bool ThePEG::SubProcess::isDecayed
private

True if a perturbative cascade has been applied to this sub process.

Definition at line 261 of file SubProcess.h.

Referenced by decayed().

◆ theCollision

tCollPtr ThePEG::SubProcess::theCollision
private

A pointer to the collision to which this sub-process belongs.

Definition at line 241 of file SubProcess.h.

Referenced by collision().

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

◆ theHandler

tcEventBasePtr ThePEG::SubProcess::theHandler
private

A pointer to the MEBase object which generated this sub-process.

Definition at line 236 of file SubProcess.h.

Referenced by handler().

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

◆ theIncoming

PPair ThePEG::SubProcess::theIncoming
private

The pair of incoming particles.

Definition at line 246 of file SubProcess.h.

Referenced by incoming().

◆ theIntermediates

ParticleVector ThePEG::SubProcess::theIntermediates
private

The vector of intermediate particles,.

Definition at line 251 of file SubProcess.h.

Referenced by intermediates().

◆ theOutgoing

ParticleVector ThePEG::SubProcess::theOutgoing
private

The vector of outgoing particles.

Definition at line 256 of file SubProcess.h.

Referenced by outgoing().


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