thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
ColourPairDecayer.h
1// -*- C++ -*-
2//
3// ColourPairDecayer.h is a part of ThePEG - Toolkit for HEP Event Generation
4// Copyright (C) 1999-2019 Leif Lonnblad
5//
6// ThePEG is licenced under version 3 of the GPL, see COPYING for details.
7// Please respect the MCnet academic guidelines, see GUIDELINES for details.
8//
9#ifndef THEPEG_ColourPairDecayer_H
10#define THEPEG_ColourPairDecayer_H
11// This is the declaration of the ColourPairDecayer class.
12
13#include "ThePEG/PDT/FlatDecayer.h"
14
15namespace ThePEG {
16
27
28public:
29
37
38public:
39
49 virtual bool accept(const DecayMode & dm) const;
50
57 const Particle & parent) const;
59
64 bool shower() const { return doShower; }
65
66public:
67
75
81 void persistentInput(PersistentIStream & is, int version);
83
87 static void Init();
88
89protected:
90
97 virtual IBPtr clone() const;
98
103 virtual IBPtr fullclone() const;
105
106private:
107
112
113private:
114
119
124
125};
126
127}
128
129
130namespace ThePEG {
131
136template <>
137struct BaseClassTrait<ColourPairDecayer,1>: public ClassTraitsType {
139 typedef FlatDecayer NthBase;
140};
141
145template <>
146struct ClassTraits<ColourPairDecayer>
147 : public ClassTraitsBase<ColourPairDecayer> {
149 static string className() { return "ThePEG::ColourPairDecayer"; }
153 static string library() { return "ColourPairDecayer.so"; }
154
155};
156
159}
160
161#endif /* THEPEG_ColourPairDecayer_H */
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
ColourPairDecayer inherits from the FlatDecayer class and performs decays according to phase space in...
static ClassDescription< ColourPairDecayer > initColourPairDecayer
Describe a concrete class with persistent data.
virtual IBPtr clone() const
Make a simple clone of this object.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual ParticleVector getChildren(const DecayMode &dm, const Particle &parent) const
Produce children.
bool doShower
If true the produced gluons and quarks should be showered.
ColourPairDecayer()
Default constructor.
ColourPairDecayer & operator=(const ColourPairDecayer &)=delete
Private and non-existent assignment operator.
virtual bool accept(const DecayMode &dm) const
Check if this decayer can perfom the decay specified by the given decay mode.
bool shower() const
Return true if the produced gluons and quarks should be showered.
static void Init()
Standard Init function used to initialize the interfaces.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
The DecayMode class describes a decay channel of a particle.
Definition: DecayMode.h:87
The FlatDecayer class inrerits from the abstract Decayer class and implements the decay of a given Pa...
Definition: FlatDecayer.h:33
The Particle class is used to describe an instance of a particle.
Definition: Particle.h:83
PersistentIStream is used to read persistent objects from a stream where they were previously written...
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
vector< PPtr > ParticleVector
A vector of pointers to Particle objects.
Definition: Containers.h:73
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition: ClassTraits.h:161
static string className()
Return the name of class T.
Definition: ClassTraits.h:66
static string library()
The name of a file containing the dynamic library where the class T is implemented.
Definition: ClassTraits.h:85