File: SubProcess.h
Description:
A SubProcess object represents a hard 2->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 PartonXSecFn
object which generated the sub-process.
See
also:
namespace Pythia7
CLASS
SubProcess:
Base class:
Public members:
Friends
class Step;
class Collision;
friend SubProPtr;
Public members:
inline void * operator new(size_t);
inline void operator delete(void *, size_t);
SubProcess(const PPair & newIncoming,
tCollPtr newCollision = tCollPtr(),
tcEventBasePtr newHandler = tcEventBasePtr());
Standard constructor (default constructor is private).
SubProcess(const SubProcess &);
Copy constructor.
inline ~SubProcess();
Destructor.
inline tcEventBasePtr handler() const;
A pointer to the PartonXSecFn object which generatoed this
sub-process.
inline tCollPtr collision() const;
A pointer to the collision to which this sub-process belongs.
inline const PPair & incoming() const;
The pair of colliding particles.
inline const ParticleVector & intermediates() const;
A reference to the vector of intermediate particles.
inline 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.
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.
SubProPtr clone() const;
Return a clone of this sub process.
Protected members:
void rebind(const EventTranslationMap & trans);
When a sub-process is cloned, a shallow copy is done first, then
all particles are cloned, and finally this method is used to
see to that the pointers in the cloned SubProcess points to the
cloned particles.
Public members:
void transform(const LorentzRotation &);
Perform a LorentzTransformation of all particles in the sub
process.
inline Energy2 shat() const;
inline Energy2 that() const;
inline Energy2 uhat() const;
Return the value of the Mandelstam variables in this
sub-process. shat is calculated using the incoming particles,
that is calculated using the first incoming and first outgoing
particle and uhat is calculated using the second incoming and the
first outgoing particle.
void persistentOutput(PersistentOStream &) const;
void persistentInput(PersistentIStream &, int);
Standard functions for writing and reading from persistent streams.
static void Init();
Standard Init function used to initialize the interface.
Private members:
tcEventBasePtr theHandler;
A pointer to the PartonXSecFn 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.
static ClassDescription<SubProcess> initSubProcess;
Describe concrete class with persistent data.
inline SubProcess();
Friends
class ClassTraits<SubProcess>;
Private default constructor must only be used by the
PersistentIStream class via the ClassTraits class .
inline SubProcess & operator=(const SubProcess &);
Assignment is forbidden.
ostream & operator<<(ostream &, const SubProcess &);
Write a SubProcess object to a stream.
DEFINED MACROS
INCLUDED FILES
vector
Pythia7/EventRecord/Particle.h
Pythia7/Utilities/FixedSizeAllocator.h