herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
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
24namespace Herwig {
25
26using namespace ThePEG;
27
39
40public:
41
45 inline MultiWeight();
46
66 virtual void analyze(tEventPtr event, long ieve, int loop, int state);
67
68
70
71
72public:
73
80 static void Init();
81
82
83protected:
90 virtual IBPtr clone() const;
91
96 virtual IBPtr fullclone() const;
98
99protected:
100 inline virtual void doinitrun();
107 virtual void dofinish();
109
110private:
111
117
122 MultiWeight & operator=(const MultiWeight &) = delete;
123
124private:
125
126};
127
128}
129
130#include "ThePEG/Utilities/ClassTraits.h"
131
132namespace ThePEG {
133
138template <>
139struct BaseClassTrait<Herwig::MultiWeight,1> {
141 typedef AnalysisHandler NthBase;
142};
143
146template <>
147struct 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 */
The MultiWeight class is designed to perform some simple analysis of gauge boson, W and Z,...
Definition: MultiWeight.h:38
static void Init()
The standard Init function used to initialize the interfaces.
MultiWeight & operator=(const MultiWeight &)=delete
The assignment operator is private and must never be called.
virtual void analyze(tEventPtr event, long ieve, int loop, int state)
Analyze a given Event.
virtual void dofinish()
Finalize this object.
MultiWeight()
The default constructor.
static NoPIOClassDescription< MultiWeight > initMultiWeight
The static object used to initialize the description of this class.
Definition: MultiWeight.h:116
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual IBPtr clone() const
Make a simple clone of this object.
InitState state() const
-*- C++ -*-
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::Ptr< Event >::transient_pointer tEventPtr
static string className()
static string library()