herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
MultiWeight.h
1 // -*- C++ -*-
2 //
3 // MultiWeight.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_MultiWeight_H
10 #define HERWIG_MultiWeight_H
11 //
12 // This is the declaration of the MultiWeight class.
13 //
14 
15 #include "ThePEG/Repository/CurrentGenerator.h"
16 #include "ThePEG/Handlers/AnalysisHandler.h"
17 #include "Herwig/Utilities/Histogram.h"
18 
19 
20 
21 #include <cmath>
22 #include <fstream>
23 
24 namespace Herwig {
25 
26 using namespace ThePEG;
27 
39 
40 public:
41 
45  inline MultiWeight();
46 
66  virtual void analyze(tEventPtr event, long ieve, int loop, int state);
67 
68 
70 
71 
72 public:
73 
80  static void Init();
81 
82 
83 protected:
90  virtual IBPtr clone() const;
91 
96  virtual IBPtr fullclone() const;
98 
99 protected:
100  inline virtual void doinitrun();
107  virtual void dofinish();
109 
110 private:
111 
117 
122  MultiWeight & operator=(const MultiWeight &) = delete;
123 
124 private:
125 
126 };
127 
128 }
129 
130 #include "ThePEG/Utilities/ClassTraits.h"
131 
132 namespace ThePEG {
133 
138 template <>
139 struct BaseClassTrait<Herwig::MultiWeight,1> {
141  typedef AnalysisHandler NthBase;
142 };
143 
146 template <>
147 struct ClassTraits<Herwig::MultiWeight>
148  : public ClassTraitsBase<Herwig::MultiWeight> {
150  static string className() { return "Herwig::MultiWeight"; }
154  static string library() { return "MultiWeight.so"; }
155 };
156 
159 }
160 
161 
162 #endif /* HERWIG_SimpleLHCAnalysis_H */
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
The MultiWeight class is designed to perform some simple analysis of gauge boson, W and Z...
Definition: MultiWeight.h:38
ThePEG::Ptr< Event >::transient_pointer tEventPtr
-*- C++ -*-
static NoPIOClassDescription< MultiWeight > initMultiWeight
The static object used to initialize the description of this class.
Definition: MultiWeight.h:116