Jpp
JWeightEventHelper.hh
Go to the documentation of this file.
1 #ifndef __JAANET__JWEIGHTEVENTHELPER__
2 #define __JAANET__JWEIGHTEVENTHELPER__
3 
4 #include "JAAnet/JHead.hh"
5 #include "JAAnet/JHeadToolkit.hh"
7 #include "JLang/JException.hh"
10 #include "JWeightEvent.hh"
11 
12 
13 namespace JAANET {
14 
18 
19 
20  /**
21  * Helper class for event weighing.
22  */
24  public JHead,
25  public JSharedPointer<JWeightEvent>
26  {
27  /**
28  * Configuration.
29  *
30  * \param input_files input files
31  * \return true if okay; else false
32  */
33  bool configure(const JMultipleFileScanner_t& input_files)
34  {
35  setHeader(JSUPPORT::getHeader(input_files));
36 
37  if (is_valid())
38  return get()->configure(getHeader());
39  else
40  return false;
41  }
42 
43 
44  /**
45  * Get weight of given event.
46  *
47  * \param evt event
48  * \return weight [1/s]
49  */
50  double getWeight(const Evt& evt) const
51  {
52  if (is_valid())
53  return get()->getWeight(evt);
54  else
55  THROW(JNullPointerException, "JWeightEventHelper::getWeight(): null pointer.");
56  }
57  };
58 }
59 
60 #endif
JException.hh
JLANG::JPointer::get
virtual JClass_t * get() const
Get pointer.
Definition: JPointer.hh:64
JSUPPORT::JMultipleFileScanner_t
Auxiliary base class for list of file names.
Definition: JMultipleFileScanner.hh:44
JHead.hh
JSharedPointer.hh
JLANG::JNullPointerException
Exception for null pointer operation.
Definition: JException.hh:216
Evt
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
Definition: Evt.hh:19
JAANET::JHead
Monte Carlo run header.
Definition: JHead.hh:839
JHeadToolkit.hh
JSUPPORT::getHeader
Head getHeader(const JMultipleFileScanner_t &file_list)
Get Monte Carlo header.
Definition: JMonteCarloFileSupportkit.hh:458
THROW
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:670
JMultipleFileScanner.hh
JAANET
Extensions to AAnet data format.
Definition: JAAnetToolkit.hh:36
JAANET::JWeightEventHelper
Helper class for event weighing.
Definition: JWeightEventHelper.hh:23
JAANET::JWeightEventHelper::getWeight
double getWeight(const Evt &evt) const
Get weight of given event.
Definition: JWeightEventHelper.hh:50
JAANET::JWeightEventHelper::configure
bool configure(const JMultipleFileScanner_t &input_files)
Configuration.
Definition: JWeightEventHelper.hh:33
JMonteCarloFileSupportkit.hh
JAANET::JHead::getHeader
const JHead & getHeader() const
Get header.
Definition: JHead.hh:884
JAANET::JHead::setHeader
void setHeader(const JHead &header)
Set header.
Definition: JHead.hh:906
JWeightEvent.hh
JLANG::JSharedPointer
The template JSharedPointer class can be used to share a pointer to an object.
Definition: JSharedPointer.hh:28
JLANG::JAbstractPointer::is_valid
bool is_valid() const
Check validity of pointer.
Definition: JAbstractPointer.hh:83