Belle II Software  release-05-02-19
IntraRunDependency.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2015 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Thomas Kuhr *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <TObject.h>
13 #include <TObjArray.h>
14 
15 
16 namespace Belle2 {
21  class EventMetaData;
22 
28  class IntraRunDependency: public TObject {
29  public:
30 
36  explicit IntraRunDependency(TObject* object = 0, bool owner = true) {m_objects.SetOwner(owner); if (object) m_objects.Add(object);};
37 
42  virtual ~IntraRunDependency() {};
43 
49  TObject* getObject(const EventMetaData& event) const {return m_objects.At(getIndex(event));};
50 
55  TObject* getAnyObject() const {return m_objects.At(0);};
56 
61  bool isOwner() const {return m_objects.IsOwner();}
62 
63  protected:
64  TObjArray m_objects;
71  virtual int getIndex(const EventMetaData& event) const = 0;
72 
74  };
76 }
Belle2::IntraRunDependency::getAnyObject
TObject * getAnyObject() const
Get any of the objects.
Definition: IntraRunDependency.h:63
Belle2::IntraRunDependency::~IntraRunDependency
virtual ~IntraRunDependency()
Destructor.
Definition: IntraRunDependency.h:50
Belle2::IntraRunDependency::ClassDef
ClassDef(IntraRunDependency, 1)
base class for intra run dependent conditions.
Belle2::IntraRunDependency::getIndex
virtual int getIndex(const EventMetaData &event) const =0
Get the index of the object that is valid for the given event.
Belle2::IntraRunDependency::IntraRunDependency
IntraRunDependency(TObject *object=0, bool owner=true)
Constructor for intra run depenent conditions.
Definition: IntraRunDependency.h:44
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::IntraRunDependency::getObject
TObject * getObject(const EventMetaData &event) const
Get the conditions object that is valid for the given event.
Definition: IntraRunDependency.h:57
Belle2::IntraRunDependency
Base class for handling changing conditions during a run.
Definition: IntraRunDependency.h:36
Belle2::IntraRunDependency::isOwner
bool isOwner() const
Flag for ownership.
Definition: IntraRunDependency.h:69
Belle2::EventMetaData
Store event, run, and experiment numbers.
Definition: EventMetaData.h:43
Belle2::IntraRunDependency::m_objects
TObjArray m_objects
Array of intra-run dependent objects.
Definition: IntraRunDependency.h:72