Belle II Software  release-08-01-10
IoVDependentConditionModule.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 #pragma once
9 
10 #include <framework/core/Module.h>
11 #include <framework/database/IntervalOfValidity.h>
12 
13 #include <framework/datastore/StoreObjPtr.h>
14 #include <framework/dataobjects/EventMetaData.h>
15 
16 #include <vector>
17 
18 namespace Belle2 {
25  public:
28 
30  void initialize() override;
31 
33  void beginRun() override;
34 
36  void event() override;
37 
38  private:
40  std::vector<IntervalOfValidity> m_iovsToCheck;
41 
43  bool m_conditionIsMet = false;
44 
47 
49  std::vector<std::tuple<int, int, int, int>> m_iovList;
50  };
51 
53 }
Module which sets its return value based on the fact, if the event is in the given run/exp interval o...
IoVDependentConditionModule()
Add the module parameters and the description.
void initialize() override
Require the event meta data and turn the minimal/maximal exp/runs to an IoV.
std::vector< std::tuple< int, int, int, int > > m_iovList
Parameter for the input iov list.
void event() override
Returns true, if the event is in the given IoV.
bool m_conditionIsMet
Internal condition: true if run/exp is in IoV.
std::vector< IntervalOfValidity > m_iovsToCheck
Returns true if in this IoV.
StoreObjPtr< EventMetaData > m_eventMetaData
Storage for the event meta data.
void beginRun() override
Set the m_conditionIsMet according to the new run.
Base class for Modules.
Definition: Module.h:72
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:96
Abstract base class for different kinds of events.