herwig is hosted by Hepforge, IPPP Durham
Herwig  7.1.5
KinematicsReconstructor.h
1 // -*- C++ -*-
2 //
3 // KinematicsReconstructor.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4 // Copyright (C) 2002-2017 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_KinematicsReconstructor_H
10 #define HERWIG_KinematicsReconstructor_H
11 //
12 // This is the declaration of the KinematicsReconstructor class.
13 //
14 
15 #include "ThePEG/Interface/Interfaced.h"
16 #include "Herwig/Shower/Core/Base/ShowerParticle.h"
17 #include "Herwig/Shower/Core/Base/ShowerProgenitor.h"
18 #include "Herwig/Shower/Core/Base/ShowerTree.h"
19 #include "Herwig/Shower/Core/Base/HardTree.h"
20 #include "KinematicsReconstructor.fh"
21 #include <cassert>
22 
23 namespace Herwig {
24 
25 using namespace ThePEG;
26 
33 
34 
55 
56 public:
57 
70  virtual bool reconstructHardJets(ShowerTreePtr hard,
71  const map<tShowerProgenitorPtr,
72  pair<Energy,double> > & pt,
73  ShowerInteraction type,
74  bool switchRecon) const=0;
75 
84  virtual bool reconstructDecayJets(ShowerTreePtr decay,
85  ShowerInteraction type) const=0;
87 
101  virtual bool deconstructDecayJets(HardTreePtr decay,ShowerInteraction) const=0;
102 
108  virtual bool deconstructHardJets(HardTreePtr hard,ShowerInteraction) const=0;
110 
111 public:
112 
119  static void Init();
120 
121 private:
122 
127  KinematicsReconstructor & operator=(const KinematicsReconstructor &) = delete;
128 };
129 
130 }
131 
132 #endif /* HERWIG_KinematicsReconstructor_H */
This class is responsible for the kinematical reconstruction after each showering step...
ShowerInteraction
Handy header file to be included in all Shower classes.
-*- C++ -*-
Exception class used to communicate failure of kinematics reconstruction.