thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
XSecCheck.h
1// -*- C++ -*-
2#ifndef THEPEG_XSecCheck_H
3#define THEPEG_XSecCheck_H
4//
5// This is the declaration of the XSecCheck class.
6//
7
8#include "ThePEG/Handlers/AnalysisHandler.h"
9
10namespace ThePEG {
11
22
23public:
24
28 XSecCheck() : target(ZERO), tol(0.01), sumw(0.0) {}
29
30public:
31
35 struct UnexpectedXSec: public Exception {};
36
37public:
38
58 virtual void analyze(tEventPtr event, long ieve, int loop, int state);
60
61public:
62
70
76 void persistentInput(PersistentIStream & is, int version);
78
85 static void Init();
86
87protected:
88
95 virtual IBPtr clone() const;
96
101 virtual IBPtr fullclone() const;
103
104
105
106protected:
107
114 virtual void doinitrun() {
116 sumw = 0.0;
117 }
118
123 virtual void dofinish();
125
126private:
127
132
137 double tol;
138
142 double sumw;
143
144private:
145
151
156 XSecCheck & operator=(const XSecCheck &) = delete;
157
158};
159
160}
161
162#include "ThePEG/Utilities/ClassTraits.h"
163
164namespace ThePEG {
165
170template <>
171struct BaseClassTrait<XSecCheck,1> {
173 typedef AnalysisHandler NthBase;
174};
175
178template <>
179struct ClassTraits<XSecCheck>
180 : public ClassTraitsBase<XSecCheck> {
182 static string className() { return "ThePEG::XSecCheck"; }
190 static string library() { return "XSecCheck.so"; }
191};
192
195}
196
197#endif /* THEPEG_XSecCheck_H */
The AnalysisHandler is the base class of all analysis objects which may be handled by the FullEventGe...
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
Exception is the base class for all exceptions to be used in ThePEG.
Definition: Exception.h:44
InitState state() const
Return the state of initialization of this object.
virtual void doinitrun()
Initialize this object.
PersistentIStream is used to read persistent objects from a stream where they were previously written...
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
TransientRCPtr is a simple wrapper around a bare pointer which can be assigned to and from an RCPtr a...
Definition: RCPtr.h:519
The XSecCheck class is a simple analysis class used for testing purposes.
Definition: XSecCheck.h:21
virtual void dofinish()
Finalize this object.
static ClassDescription< XSecCheck > initXSecCheck
The static object used to initialize the description of this class.
Definition: XSecCheck.h:150
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
static void Init()
The standard Init function used to initialize the interfaces.
virtual void analyze(tEventPtr event, long ieve, int loop, int state)
Analyze a given Event.
double tol
The relative tolerance accepted when comparing the total cross section with the target.
Definition: XSecCheck.h:137
XSecCheck()
The default constructor.
Definition: XSecCheck.h:28
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual void doinitrun()
Initialize this object.
Definition: XSecCheck.h:114
CrossSection target
The expected total cross section.
Definition: XSecCheck.h:131
XSecCheck & operator=(const XSecCheck &)=delete
The assignment operator is private and must never be called.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
double sumw
The sum of the weights of the events analyzed.
Definition: XSecCheck.h:142
virtual IBPtr clone() const
Make a simple clone of this object.
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
constexpr ZeroUnit ZERO
ZERO can be used as zero for any unitful quantity.
Definition: PhysicalQty.h:35
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
static string library()
The name of a file containing the dynamic library where the class T is implemented.
Definition: ClassTraits.h:85
The exception class used if the target cross section was not met.
Definition: XSecCheck.h:35