thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
EventConfig.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // EventConfig.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_EventConfig_H
10 #define ThePEG_EventConfig_H
11 
22 #ifndef ThePEG_NOT_ThePEG
23 
24 #include "ThePEG/Config/ThePEG.h"
25 #include "ThePEG/Utilities/Rebinder.fh"
26 #include "ThePEG/Persistency/PersistentOStream.fh"
27 #include "ThePEG/Persistency/PersistentIStream.fh"
28 
29 #ifndef ThePEG_ALTERNATIVE_EVENT_RECORD
30 
31 #include "ThePEG/Vectors/Lorentz5Vector.h"
32 #include "ThePEG/Vectors/LorentzRotation.h"
33 
34 namespace ThePEG {
35 
50 
54 
55 
61 
70 
72 typedef vector<tPPtr> tParticleVector;
74 typedef vector<PPtr> ParticleVector;
76 typedef set<PPtr, less<PPtr> > ParticleSet;
78 typedef set<tPPtr, less<tPPtr> > tParticleSet;
80 typedef set<tcPPtr, less<tcPPtr> > tcParticleSet;
82 typedef vector<StepPtr> StepVector;
84 typedef vector<SubProPtr> SubProcessVector;
86 typedef vector<tSubProPtr> tSubProcessVector;
88 typedef vector<CollPtr> CollisionVector;
90 typedef set<StepPtr, less<StepPtr> > StepSet;
92 typedef set<SubProPtr, less<SubProPtr> > SubProcessSet;
93 
95 struct EventConfig {
96 
106  static tcEventBasePtr currentGenerator;
107 
109  static void putHandler(PersistentOStream & os, tcEventBasePtr h);
111  static void getHandler(PersistentIStream & is, tcEventBasePtr & h);
113  static void putParticleData(PersistentOStream & os, tcEventPDPtr pd);
115  static void getParticleData(PersistentIStream & is, cEventPDPtr & pd);
117  static string nameHandler(tcEventBasePtr h);
118 
119 };
120 
121 }
122 
123 #else
124 
125 #include ThePEG_ALTERNATIVE_EVENT_RECORD
126 
127 #endif
128 
129 #endif /* ThePEG_NOT_ThePEG */
130 
131 
132 #endif /* ThePEG_EventConfig_H */
133 
static void putHandler(PersistentOStream &os, tcEventBasePtr h)
Write a handler object to a persistent stream.
PersistentIStream is used to read persistent objects from a stream where they were previously written...
The Particle class is used to describe an instance of a particle.
Definition: Particle.h:83
vector< StepPtr > StepVector
A vector of pointers to Step.
Definition: EventConfig.h:82
Define the base class from which all (polymorphic) classes in ThePEG are derived. ...
Definition: ThePEG.h:54
set< tPPtr, less< tPPtr > > tParticleSet
A set of transient pointers to Particle.
Definition: EventConfig.h:78
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
Ptr< ParticleDataClass >::transient_pointer tEventPDPtr
Alias for a transient pointer to ParticleDataClass.
Definition: EventConfig.h:67
ParticleData ParticleDataClass
ParticleDataClass is the name used for ParticleData in the event record classes.
Definition: EventConfig.h:60
static tcEventBasePtr currentGenerator
Optional pointer to the current EventGenerator.
Definition: EventConfig.h:106
Ptr< EventRecordBase >::transient_const_pointer tcEventBasePtr
Alias for a transient pointer to const EventRecordBase.
Definition: EventConfig.h:49
Rebinder is a class associating pairs of pointers to objects.
Definition: Rebinder.h:27
Ptr< EventRecordBase >::pointer EventBasePtr
Alias for a reference counted pointer to EventRecordBase.
Definition: EventConfig.h:43
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
This is the main config header file for ThePEG.
static string nameHandler(tcEventBasePtr h)
Return the name of a handler object.
static void getParticleData(PersistentIStream &is, cEventPDPtr &pd)
Read a ParticleData object from a persistent stream.
set< tcPPtr, less< tcPPtr > > tcParticleSet
A set of transient pointers to const Particle.
Definition: EventConfig.h:80
Ptr< EventRecordBase >::transient_pointer tEventBasePtr
Alias for a transient pointer to EventRecordBase.
Definition: EventConfig.h:47
Ptr< ParticleDataClass >::const_pointer cEventPDPtr
Alias for a reference counted pointer to const ParticleDataClass.
Definition: EventConfig.h:65
ParticleData inherits from InterfacedBase and represents the properties of a particle type...
Definition: ParticleData.h:36
vector< tPPtr > tParticleVector
A vector of transient pointers to Particle.
Definition: EventConfig.h:72
Ptr< ParticleDataClass >::pointer EventPDPtr
Alias for a reference counted pointer to ParticleDataClass.
Definition: EventConfig.h:63
Rebinder< EventRecordBase > EventTranslationMap
Alias for a rebinder object able to relate pointers to original objects to pointers to their clones...
Definition: EventConfig.h:53
set< PPtr, less< PPtr > > ParticleSet
A set of pointers to Particle.
Definition: EventConfig.h:76
vector< tSubProPtr > tSubProcessVector
A vector of transient pointers to SubProcess.
Definition: EventConfig.h:86
vector< SubProPtr > SubProcessVector
A vector of pointers to SubProcess.
Definition: EventConfig.h:84
A helper class to facilitate persistent input and output.
Definition: EventConfig.h:95
Particle ParticleClass
ParticleClass is the name used for Particle in the event record classes.
Definition: EventConfig.h:57
static void getHandler(PersistentIStream &is, tcEventBasePtr &h)
Read a handler object from a persistent stream.
vector< CollPtr > CollisionVector
A vector of pointers to Collision.
Definition: EventConfig.h:88
Ptr is a templated class to provide typedefs for pointers types ThePEG should use for a given type...
Definition: Ptr.h:35
Base EventRecordBase
EventRecordBase is the base class of all event record classes.
Definition: EventConfig.h:41
vector< PPtr > ParticleVector
A vector of pointers to Particle objects.
Definition: Containers.h:73
set< StepPtr, less< StepPtr > > StepSet
A set of pointers to Step.
Definition: EventConfig.h:90
static void putParticleData(PersistentOStream &os, tcEventPDPtr pd)
Write a ParticleData object to a persistent stream.
Ptr< ParticleDataClass >::transient_const_pointer tcEventPDPtr
Alias for a transient pointer to const ParticleDataClass.
Definition: EventConfig.h:69
Ptr< EventRecordBase >::const_pointer cEventBasePtr
Alias for a reference counted pointer to const EventRecordBase.
Definition: EventConfig.h:45
set< SubProPtr, less< SubProPtr > > SubProcessSet
A set of pointers to SubProcess.
Definition: EventConfig.h:92