DD4hep  1.30.0
Detector Description Toolkit for High Energy Physics
ConditionsIOVPool.h
Go to the documentation of this file.
1 //==========================================================================
2 // AIDA Detector description implementation
3 //--------------------------------------------------------------------------
4 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
5 // All rights reserved.
6 //
7 // For the licensing terms see $DD4hepINSTALL/LICENSE.
8 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
9 //
10 // Author : M.Frank
11 //
12 //==========================================================================
13 #ifndef DDCOND_CONDITIONSIOVPOOL_H
14 #define DDCOND_CONDITIONSIOVPOOL_H
15 
16 // Framework include files
17 #include "DDCond/ConditionsPool.h"
18 
19 // C/C++ include files
20 #include <map>
21 #include <memory>
22 
24 namespace dd4hep {
25 
27  namespace cond {
28 
30 
39  public:
41  typedef std::shared_ptr<ConditionsPool> Element;
43  typedef std::map<IOV::Key, Element > Elements;
44 
47  const IOVType* type;
49 
50  public:
54  virtual ~ConditionsIOVPool();
56  size_t select(Condition::key_type key, const IOV& req_validity, RangeConditions& result);
58  size_t selectRange(Condition::key_type key, const IOV& req_validity, RangeConditions& result);
60  size_t select(const IOV& req_validity, RangeConditions& valid, IOV& cond_validity);
62  size_t select(const IOV& req_validity,
63  const ConditionsSelect& valid,
64  IOV& cond_validity);
66  size_t select(const IOV& req_validity, Elements& valid, IOV& cond_validity);
68  size_t select(const IOV& req_validity, Elements& valid);
70  size_t select(const IOV& req_validity, std::vector<Element>& valid, IOV& cond_validity);
72  size_t select(const IOV& req_validity, std::vector<Element>& valid);
73 
75 
76  int clean(int max_age);
77 
79 
80  int clean(const ConditionsCleanup& cleaner);
81  };
82 
83  } /* End namespace cond */
84 } /* End namespace dd4hep */
85 
86 #endif // DDCOND_CONDITIONSIOVPOOL_H
dd4hep::RangeConditions
std::vector< Condition > RangeConditions
Definition: Conditions.h:491
cond
AlignmentCondition::Object * cond
Definition: AlignmentsCalculator.cpp:68
dd4hep::cond::ConditionsIOVPool::ConditionsIOVPool
ConditionsIOVPool(const IOVType *type)
Not ROOT persistent.
Definition: ConditionsIOVPool.cpp:26
dd4hep::cond::ConditionsIOVPool::Elements
std::map< IOV::Key, Element > Elements
Shortcut name for the actual conditions container.
Definition: ConditionsIOVPool.h:43
dd4hep::cond::ConditionsIOVPool::elements
Elements elements
Container of IOV dependent conditions pools.
Definition: ConditionsIOVPool.h:46
dd4hep::cond::ConditionsIOVPool::clean
int clean(int max_age)
Remove all key based pools with an age beyon the minimum age.
Definition: ConditionsIOVPool.cpp:93
dd4hep::ConditionsSelect
Conditions selector functor. Default implementation selects everything evaluated.
Definition: Conditions.h:422
dd4hep::IOVType
Class describing the interval of validty type.
Definition: IOV.h:37
dd4hep::cond::ConditionsIOVPool::type
const IOVType * type
Reference to the IOV container.
Definition: ConditionsIOVPool.h:48
dd4hep::IOV
Class describing the interval of validty.
Definition: IOV.h:67
dd4hep::cond::ConditionsIOVPool::~ConditionsIOVPool
virtual ~ConditionsIOVPool()
Default destructor.
Definition: ConditionsIOVPool.cpp:31
dd4hep::cond::ConditionsIOVPool::Element
std::shared_ptr< ConditionsPool > Element
Shortcut name for the actual container elements.
Definition: ConditionsIOVPool.h:41
dd4hep::cond::ConditionsIOVPool::select
size_t select(Condition::key_type key, const IOV &req_validity, RangeConditions &result)
Retrieve a condition set given the key according to their validity.
Definition: ConditionsIOVPool.cpp:41
dd4hep::Condition::key_type
unsigned long long int key_type
Forward definition of the key type.
Definition: Conditions.h:54
key
unsigned char key
Definition: AlignmentsCalculator.cpp:69
dd4hep::cond::ConditionsCleanup
Base class to handle conditions cleanups.
Definition: ConditionsCleanup.h:32
dd4hep
Namespace for the AIDA detector description toolkit.
Definition: AlignmentsCalib.h:28
ConditionsPool.h
dd4hep::cond::ConditionsIOVPool
Pool of conditions satisfying one IOV type (epoch, run, fill, etc)
Definition: ConditionsIOVPool.h:38
valid
unsigned char valid
Definition: AlignmentsCalculator.cpp:69
dd4hep::cond::ConditionsIOVPool::selectRange
size_t selectRange(Condition::key_type key, const IOV &req_validity, RangeConditions &result)
Retrieve a condition set given the key according to their validity.
Definition: ConditionsIOVPool.cpp:56