thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
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 
15 namespace ThePEG {
16 
27 
28 public:
29 
37 
38 public:
39 
49  virtual bool accept(const DecayMode & dm) const;
50 
56  virtual ParticleVector getChildren(const DecayMode & dm,
57  const Particle & parent) const;
59 
64  bool shower() const { return doShower; }
65 
66 public:
67 
74  void persistentOutput(PersistentOStream & os) const;
75 
81  void persistentInput(PersistentIStream & is, int version);
83 
87  static void Init();
88 
89 protected:
90 
97  virtual IBPtr clone() const;
98 
103  virtual IBPtr fullclone() const;
105 
106 private:
107 
111  bool doShower;
112 
113 private:
114 
119 
123  ColourPairDecayer & operator=(const ColourPairDecayer &) = delete;
124 
125 };
126 
127 }
128 
129 
130 namespace ThePEG {
131 
136 template <>
137 struct BaseClassTrait<ColourPairDecayer,1>: public ClassTraitsType {
139  typedef FlatDecayer NthBase;
140 };
141 
145 template <>
146 struct 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 */
PersistentIStream is used to read persistent objects from a stream where they were previously written...
virtual ParticleVector getChildren(const DecayMode &dm, const Particle &parent) const
Produce children.
ColourPairDecayer & operator=(const ColourPairDecayer &)=delete
Private and non-existent assignment operator.
The Particle class is used to describe an instance of a particle.
Definition: Particle.h:83
static ClassDescription< ColourPairDecayer > initColourPairDecayer
Describe a concrete class with persistent data.
ClassTraitsType is an empty, non-polymorphic, base class.
Definition: ClassTraits.h:30
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data...
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
bool doShower
If true the produced gluons and quarks should be showered.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ColourPairDecayer inherits from the FlatDecayer class and performs decays according to phase space in...
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
virtual bool accept(const DecayMode &dm) const
Check if this decayer can perfom the decay specified by the given decay mode.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ColourPairDecayer()
Default constructor.
The default concrete implementation of ClassTraitsBase.
Definition: ClassTraits.h:134
The DecayMode class describes a decay channel of a particle.
Definition: DecayMode.h:87
virtual IBPtr clone() const
Make a simple clone of this object.
vector< PPtr > ParticleVector
A vector of pointers to Particle objects.
Definition: Containers.h:73
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
The FlatDecayer class inrerits from the abstract Decayer class and implements the decay of a given Pa...
Definition: FlatDecayer.h:33
static void Init()
Standard Init function used to initialize the interfaces.
bool shower() const
Return true if the produced gluons and quarks should be showered.
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Definition: ClassTraits.h:52