Jpp  18.0.0-rc.3
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JEvtWeight.hh
Go to the documentation of this file.
1 #ifndef __JAANET__JEVTWEIGHT__
2 #define __JAANET__JEVTWEIGHT__
3 
4 #include "JLang/JClonable.hh"
5 
7 
8 
9 /**
10  * \author mdejong
11  */
12 
13 namespace JAANET {
14 
15  using JLANG::JClonable;
16 
17 
18  /**
19  * Abstract base class for event weighing.
20  */
21  struct JEvtWeight :
22  public JEvtWeightInterface,
23  public JClonable<JEvtWeight>
24  {
25  /**
26  * Default constructor.
27  */
28  JEvtWeight() : norm(0.0)
29  {}
30 
31 
32  /**
33  * Virtual destructor.
34  */
35  virtual ~JEvtWeight()
36  {}
37 
38 
39  /**
40  * Get event-weight normalisation.
41  * Note: the return-value should be *multiplied* in order to normalise the event-weight
42  *
43  * \return event-weight normalisation
44  */
45  virtual double getNormalisation() const override
46  {
47  return norm;
48  }
49 
50 
51  protected:
52 
53  double norm; //!< Event-weight normalisation
54  };
55 }
56 
57 #endif
Low-level interface for event weighing.
Abstract base class for event weighing.
Definition: JEvtWeight.hh:21
Template class for object cloning.
Definition: JClonable.hh:20
virtual ~JEvtWeight()
Virtual destructor.
Definition: JEvtWeight.hh:35
JEvtWeight()
Default constructor.
Definition: JEvtWeight.hh:28
double norm
Event-weight normalisation.
Definition: JEvtWeight.hh:53
virtual double getNormalisation() const override
Get event-weight normalisation.
Definition: JEvtWeight.hh:45