thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
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 
17 namespace ThePEG {
18 
42 
43 public:
44 
53  virtual int manipulate(tEHPtr eh, tEventPtr event) = 0;
54 
55 public:
56 
60  static void Init();
61 
62 protected:
63 
64 private:
65 
70 
74  EventManipulator & operator=(const EventManipulator &) = delete;
75 
76 };
77 
84 template <>
87  typedef Interfaced NthBase;
88 };
89 
94 template <>
95 struct ClassTraits<EventManipulator>:
96  public ClassTraitsBase<EventManipulator> {
98  static string className() { return "ThePEG::EventManipulator"; }
99 };
100 
103 }
104 
105 #endif /* ThePEG_EventManipulator_H */
EventManipulator & operator=(const EventManipulator &)=delete
Private and non-existent assignment operator.
ClassTraitsType is an empty, non-polymorphic, base class.
Definition: ClassTraits.h:30
virtual int manipulate(tEHPtr eh, tEventPtr event)=0
Manipulate an event and the event handler.
TransientRCPtr is a simple wrapper around a bare pointer which can be assigned to and from an RCPtr a...
Definition: RCPtr.h:519
An object of the EventManipulator class may be assigned to a FullEventGenerator object.
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
A concreate implementation of ClassDescriptionBase describing an abstract class without persistent da...
The Interfaced class is derived from the InterfacedBase class adding a couple of things particular to...
Definition: Interfaced.h:38
static AbstractNoPIOClassDescription< EventManipulator > initEventManipulator
Describe an abstract class without persistent data.
The default concrete implementation of ClassTraitsBase.
Definition: ClassTraits.h:134
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
static void Init()
Standard Init function used to initialize the interface.
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Definition: ClassTraits.h:52