thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
Handlers
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
41
class
EventManipulator
:
public
Interfaced
{
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
69
static
AbstractNoPIOClassDescription<EventManipulator>
initEventManipulator
;
70
74
EventManipulator
&
operator=
(
const
EventManipulator
&) =
delete
;
75
76
};
77
84
template
<>
85
struct
BaseClassTrait
<
EventManipulator
,1>:
public
ClassTraitsType
{
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 */
ThePEG::AbstractNoPIOClassDescription
A concreate implementation of ClassDescriptionBase describing an abstract class without persistent da...
Definition:
ClassDescription.h:417
ThePEG::EventManipulator
An object of the EventManipulator class may be assigned to a FullEventGenerator object.
Definition:
EventManipulator.h:41
ThePEG::EventManipulator::operator=
EventManipulator & operator=(const EventManipulator &)=delete
Private and non-existent assignment operator.
ThePEG::EventManipulator::Init
static void Init()
Standard Init function used to initialize the interface.
ThePEG::EventManipulator::initEventManipulator
static AbstractNoPIOClassDescription< EventManipulator > initEventManipulator
Describe an abstract class without persistent data.
Definition:
EventManipulator.h:69
ThePEG::EventManipulator::manipulate
virtual int manipulate(tEHPtr eh, tEventPtr event)=0
Manipulate an event and the event handler.
ThePEG::Interfaced
The Interfaced class is derived from the InterfacedBase class adding a couple of things particular to...
Definition:
Interfaced.h:38
ThePEG::Pointer::TransientRCPtr
TransientRCPtr is a simple wrapper around a bare pointer which can be assigned to and from an RCPtr a...
Definition:
RCPtr.h:519
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::BaseClassTrait
BaseClassTraits describes the base classes of the templated class.
Definition:
ClassTraits.h:156
ThePEG::BaseClassTrait::NthBase
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition:
ClassTraits.h:161
ThePEG::ClassTraitsBase::className
static string className()
Return the name of class T.
Definition:
ClassTraits.h:66
ThePEG::ClassTraitsType
ClassTraitsType is an empty, non-polymorphic, base class.
Definition:
ClassTraits.h:30
Generated on Thu Jun 20 2024 14:47:00 for ThePEG by
1.9.6