herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
LightClusterDecayer.h
1 // -*- C++ -*-
2 //
3 // LightClusterDecayer.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4 // Copyright (C) 2002-2019 The Herwig Collaboration
5 //
6 // Herwig 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 HERWIG_LightClusterDecayer_H
10 #define HERWIG_LightClusterDecayer_H
11 
12 #include <ThePEG/Interface/Interfaced.h>
13 #include "CluHadConfig.h"
14 #include "HadronSelector.h"
15 #include "LightClusterDecayer.fh"
16 
17 
18 namespace Herwig {
19 
20 
21 using namespace ThePEG;
22 
54 
55 public:
56 
64 
72  bool decay(ClusterVector & clusters, tPVector & finalhadrons);
73 
74 public:
75 
82  void persistentOutput(PersistentOStream & os) const;
83 
89  void persistentInput(PersistentIStream & is, int version);
91 
95  static void Init();
96 
97 protected:
98 
105  virtual IBPtr clone() const;
106 
111  virtual IBPtr fullclone() const;
113 
114 private:
115 
119  LightClusterDecayer & operator=(const LightClusterDecayer &) = delete;
120 
125  bool reshuffling( const tcPDPtr, tClusterPtr, tClusterPtr,
126  tClusterVector &, tPVector & finalhadrons)
127  ;
128 
136  bool partonicReshuffle(const tcPDPtr hadron,const PPtr cluster,
137  tPVector & finalhadrons);
138 
142  Ptr<HadronSelector>::pointer _hadronSelector;
143 };
144 
145 }
146 
147 #endif /* HERWIG_LightClusterDecayer_H */
ThePEG::Ptr< Particle >::pointer PPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
vector< tClusterPtr > tClusterVector
Typedef for a vector of tClusterPtr.
Definition: CluHadConfig.h:43
vector< ClusterPtr > ClusterVector
This file contains the typedef declarations used in Hadronization.
Definition: CluHadConfig.h:38
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Ptr< HadronSelector >::pointer _hadronSelector
A pointer to a Herwig::HadronSelector object used for producing hadrons.
LightClusterDecayer()
Default constructor.
This class performs the decay of light clusters into a single hadron.
-*- C++ -*-
vector< tPPtr > tPVector