ThePEG  1.8.0
ColourPairDecayer.h
1 // -*- C++ -*-
2 //
3 // ColourPairDecayer.h is a part of ThePEG - Toolkit for HEP Event Generation
4 // Copyright (C) 1999-2011 Leif Lonnblad
5 //
6 // ThePEG is licenced under version 2 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 
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 */