ThePEG
2.2.1
|
A SubProcess object represents a hard sub-process in a collision. More...
#include <SubProcess.h>
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 PPair & | incoming () const |
The pair of incoming partons. | |
const ParticleVector & | intermediates () const |
A reference to the vector of intermediate partons. | |
const ParticleVector & | outgoing () 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 in this SubProcess. More... | |
Energy2 | that () const |
Return the value of the Mandelstam variable in this SubProcess. More... | |
Energy2 | uhat () const |
Return the value of the Mandelstam variable 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. | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
Assignment. | |
Private Member Functions | |
SubProcess () | |
Default constructor. | |
SubProcess & | operator= (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< SubProcess > | initSubProcess |
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... | |
A SubProcess object represents a hard 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.
Definition at line 33 of file SubProcess.h.
ThePEG::SubProcess::SubProcess | ( | const PPair & | newIncoming, |
tCollPtr | newCollision = tCollPtr() , |
||
tcEventBasePtr | newHandler = tcEventBasePtr() , |
||
tSubProPtr | newHead = tSubProPtr() , |
||
double | newGroupWeight = 1.0 |
||
) |
Standard constructor.
newIncoming | the two incoming partons. |
newCollision | the Collision to which this SubProcess belongs. |
newHandler | the MEBase object which generated this SubProcess. |
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().
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().
|
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.
|
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.
|
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().
|
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.
|
static |
|
protectedvirtual |
Rebind to cloned objects.
When a SubProcess is cloned, a shallow copy is done first, then all Particle
s etc, are cloned, and finally this method is used to see to that the pointers in the cloned SubProcess points to the cloned Particle
s etc.
Reimplemented in ThePEG::SubProcessGroup.
Referenced by groupWeight().
|
inline |
Return the value of the Mandelstam variable in this SubProcess.
It is calculated using the incoming particles.
Definition at line 192 of file SubProcess.h.
References incoming().
|
inline |
Return the value of the Mandelstam variable 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().
|
inline |
Return the value of the Mandelstam variable 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().
|
friend |
Most of the Event classes are friends with each other.
Definition at line 40 of file SubProcess.h.
|
friend |
Most of the Event classes are friends with each other.
Definition at line 38 of file SubProcess.h.
|
friend |
Most of the Event classes are friends with each other.
Definition at line 42 of file SubProcess.h.
|
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().
|
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().