herwig is hosted by Hepforge, IPPP Durham
Herwig  7.1.5
BasicConsistency.h
1 // -*- C++ -*-
2 //
3 // BasicConsistency.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 THEPEG_BasicConsistency_H
10 #define THEPEG_BasicConsistency_H
11 //
12 // This is the declaration of the BasicConsistency class.
13 //
14 
15 #include "ThePEG/Handlers/AnalysisHandler.h"
16 
17 namespace Herwig {
18 using namespace ThePEG;
19 
29 
30 public:
31 
36 
56  virtual void analyze(tEventPtr event, long ieve, int loop, int state);
58 
59 public:
60 
67  void persistentOutput(PersistentOStream & os) const;
68 
74  void persistentInput(PersistentIStream & is, int version);
76 
83  static void Init();
84 
85 protected:
86 
93  virtual IBPtr clone() const;
94 
99  virtual IBPtr fullclone() const;
101 
102 protected:
103 
110  virtual void doinitrun();
111 
116  virtual void dofinish();
118 
119 private:
120 
126 
131  BasicConsistency & operator=(const BasicConsistency &) = delete;
132 
133 private:
134 
138  Energy _epsmom;
139 
144 
149 
154 
158  bool _checkBR;
159 
164 
169 
170 };
171 
172 }
173 
174 #include "ThePEG/Utilities/ClassTraits.h"
175 
176 namespace ThePEG {
177 
182 template <>
183 struct BaseClassTrait<Herwig::BasicConsistency,1> {
185  typedef AnalysisHandler NthBase;
186 };
187 
190 template <>
191 struct ClassTraits<Herwig::BasicConsistency>
192  : public ClassTraitsBase<Herwig::BasicConsistency> {
194  static string className() { return "Herwig::BasicConsistency"; }
198  static string library() { return "HwAnalysis.so"; }
199 };
200 
203 }
204 
205 #endif /* THEPEG_BasicConsistency_H */
static ClassDescription< BasicConsistency > initBasicConsistency
The static object used to initialize the description of this class.
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
The BasicConsistency class is a simple analysis which performs a basic analysis of the event checking...
Energy _absolutemomentumtolerance
Maximum absolute momentum deviation before warning.
bool _checkcluster
Check for clusters in the final-state.
bool _checkcharge
check for charge conservation
Energy _epsmom
Maximum momentum deviation.
double _relativemomentumtolerance
Maximum momentum deviation relative to beam energy before warning.
ThePEG::Ptr< Event >::transient_pointer tEventPtr
-*- C++ -*-
bool _checkBR
Check the branching ratios.
bool _checkquark
check for quarks