herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
DipoleEventReweight.h
1// -*- C++ -*-
2//
3// DipoleEventReweight.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_DipoleEventReweight_H
10#define Herwig_DipoleEventReweight_H
11//
12// This is the declaration of the DipoleEventReweight class.
13//
14
15#include "ThePEG/Handlers/HandlerBase.h"
16#include "ThePEG/StandardModel/AlphaSBase.h"
17
18
19namespace Herwig {
20
21using namespace ThePEG;
22
32
33public:
34
41
47
48public:
49
54 virtual double weight(const PPair& in, const PList& out, const PList& hard,
55 Ptr<AlphaSBase>::tptr as) const = 0;
56
61 virtual double weightCascade(const PPair& in, const PList& out, const PList& hard,
62 Ptr<AlphaSBase>::tptr as) const = 0;
63
67 virtual bool firstInteraction() const = 0;
68
72 virtual bool secondaryInteractions() const = 0;
73
74public:
75
83
89 void persistentInput(PersistentIStream & is, int version);
91
98 static void Init();
99
100
101// If needed, insert declarations of virtual function defined in the
102// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
103
104
105private:
106
112
113};
114
115}
116
117#endif /* Herwig_DipoleEventReweight_H */
Reweight full final states produced by the shower.
DipoleEventReweight & operator=(const DipoleEventReweight &)=delete
The assignment operator is private and must never be called.
virtual double weight(const PPair &in, const PList &out, const PList &hard, Ptr< AlphaSBase >::tptr as) const =0
Return the weight for the given incoming, outgoing coloured and hard colour neutral particles,...
static void Init()
The standard Init function used to initialize the interfaces.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
DipoleEventReweight()
The default constructor.
virtual bool secondaryInteractions() const =0
Return true, if the event reweight should be applied to secondary interactions.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual double weightCascade(const PPair &in, const PList &out, const PList &hard, Ptr< AlphaSBase >::tptr as) const =0
Return the weight which is applied to a cascade only once even if there was no emission from the casc...
virtual bool firstInteraction() const =0
Return true, if the event reweight should be applied to the hard scattering.
virtual ~DipoleEventReweight()
The destructor.
-*- C++ -*-
pair< PPtr, PPtr > PPair
list< PPtr > PList