herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
EvtGenDecayer.h
1 // -*- C++ -*-
2 #ifndef Herwig_EvtGenDecayer_H
3 #define Herwig_EvtGenDecayer_H
4 //
5 // This is the declaration of the EvtGenDecayer class.
6 //
7 
8 #include "ThePEG/PDT/Decayer.h"
9 #include "EvtGenInterface.h"
10 
11 namespace Herwig {
12 
13 using namespace ThePEG;
14 
26 class EvtGenDecayer: public Decayer {
27 
28 public:
29 
33  EvtGenDecayer() : check_(0) , evtOpt_(0)
34  {}
35 
36 public:
37 
46  virtual bool accept(const DecayMode & dm) const;
47 
54  virtual ParticleVector decay(const DecayMode & dm, const Particle & p) const;
56 
57 public:
58 
65  void persistentOutput(PersistentOStream & os) const;
66 
72  void persistentInput(PersistentIStream & is, int version);
74 
81  static void Init();
82 
83 protected:
84 
90  void checkDecay(PPtr parent) const;
91 
96  bool rescale(const Particle & parent,
97  const ParticleVector & children) const;
98 
99 protected:
100 
107  virtual IBPtr clone() const;
108 
113  virtual IBPtr fullclone() const;
115 
116 private:
117 
122  EvtGenDecayer & operator=(const EvtGenDecayer &) = delete;
123 
124 private:
125 
129  EvtGenInterfacePtr evtgen_;
130 
134  unsigned int check_;
135 
139  unsigned int evtOpt_;
140 
141 };
142 
143 }
144 
145 #endif /* Herwig_EvtGenDecayer_H */
ThePEG::Ptr< Particle >::pointer PPtr
EvtGenInterfacePtr evtgen_
Pointer to the EvtGen interface object.
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
unsigned int evtOpt_
Option for how EvtGen is used.
unsigned int check_
Perform checks ?
EvtGenDecayer()
Standard constructors.
Definition: EvtGenDecayer.h:33
-*- C++ -*-
The EvtGenDecayer class is designed to allow the EvtGen decay package to be used as a Decayer in the ...
Definition: EvtGenDecayer.h:26
vector< PPtr > ParticleVector