thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
EventManipulator.h
1// -*- C++ -*-
2//
3// EventManipulator.h is a part of ThePEG - Toolkit for HEP Event Generation
4// Copyright (C) 1999-2019 Leif Lonnblad
5//
6// ThePEG 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_EventManipulator_H
10#define ThePEG_EventManipulator_H
11// This is the declaration of the EventManipulator class.
12
13#include "ThePEG/Interface/Interfaced.h"
14#include "ThePEG/Handlers/EventHandler.fh"
15#include <stdexcept>
16
17namespace ThePEG {
18
42
43public:
44
53 virtual int manipulate(tEHPtr eh, tEventPtr event) = 0;
54
55public:
56
60 static void Init();
61
62protected:
63
64private:
65
70
75
76};
77
84template <>
87 typedef Interfaced NthBase;
88};
89
94template <>
95struct ClassTraits<EventManipulator>:
96 public ClassTraitsBase<EventManipulator> {
98 static string className() { return "ThePEG::EventManipulator"; }
99};
100
103}
104
105#endif /* ThePEG_EventManipulator_H */
A concreate implementation of ClassDescriptionBase describing an abstract class without persistent da...
An object of the EventManipulator class may be assigned to a FullEventGenerator object.
EventManipulator & operator=(const EventManipulator &)=delete
Private and non-existent assignment operator.
static void Init()
Standard Init function used to initialize the interface.
static AbstractNoPIOClassDescription< EventManipulator > initEventManipulator
Describe an abstract class without persistent data.
virtual int manipulate(tEHPtr eh, tEventPtr event)=0
Manipulate an event and the event handler.
The Interfaced class is derived from the InterfacedBase class adding a couple of things particular to...
Definition: Interfaced.h:38
TransientRCPtr is a simple wrapper around a bare pointer which can be assigned to and from an RCPtr a...
Definition: RCPtr.h:519
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition: ClassTraits.h:161
static string className()
Return the name of class T.
Definition: ClassTraits.h:66
ClassTraitsType is an empty, non-polymorphic, base class.
Definition: ClassTraits.h:30