File: ClusterDecayer.h
Description:
This class decays the "normal" clusters (that is the ones not too heavy
to be splitted, and not too light to decay into one hadron).
These clusters decay into two hadrons, but it is straightforward
to extend to the case of three body decays (in the case that one is
insterested to explore this possibilities...).
See
also:
namespace Herwig
CLASS
Pythia7::Particle;
Base class:
forward
class ClusterDecayer: public Pythia7::HandlerBase {
Public members:
inline ClusterDecayer();
inline ClusterDecayer(const ClusterDecayer &);
virtual ~ClusterDecayer();
Standard ctors and dtor.
void decay(const StepPtr&)
throw(Veto, Stop, Exception);
Decays all clusters (not already decayed into a single hadron) into hadrons.
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 interfaces.
Protected members:
inline virtual IBPtr clone() const;
inline virtual IBPtr fullclone() const;
Standard clone methods.
inline virtual void doupdate() throw(UpdateException);
inline virtual void doinit() throw(InitException);
inline virtual void dofinish();
Standard Interfaced virtual functions.
inline virtual void rebind(const TranslationMap & trans)
throw(RebindException);
Change all pointers to Interfaced objects to corresponding clones.
inline virtual IVector getReferences();
Return pointers to all Interfaced objects refered to by this.
Private members:
static ClassDescription<ClusterDecayer> initClusterDecayer;
Describe a concrete class with persistent data.
ClusterDecayer & operator=(const ClusterDecayer &);
Private and non-existent assignment operator.
void decayIntoTwoHadrons(const StepPtr&, tClusterPtr ptr)
throw(Veto, Stop, Exception);
It decays the cluster into two hadrons.
void calculatePositions( const Lorentz5Momentum &, const LorentzPoint &,
const Lorentz5Momentum &, const Lorentz5Momentum &,
LorentzPoint &, LorentzPoint &) const;
It calculates the positions of the children hadrons by
gaussian smearing, with width inversely proportional to
the cluster mass. around the parent cluster position.
Ptr<HadronSelector>::pointer _hadronsSelector;
Ptr<GlobalParameters>::pointer _globalParameters;
int _ClDir1;
int _ClDir2;
double _ClSmr1;
double _ClSmr2;
DEFINED MACROS
INCLUDED FILES
Pythia7/Handlers/HandlerBase.h
Pythia7/EventRecord/Step.h
CluHadConfig.h
HadronSelector.h
Herwig++/Config/GlobalParameters.h