ThePEG  1.8.0
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-2011 Leif Lonnblad
5 //
6 // ThePEG is licenced under version 2 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 
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