DD4hep  1.30.0
Detector Description Toolkit for High Energy Physics
Conditions.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 DD4HEP_CONDITIONS_H
14 #define DD4HEP_CONDITIONS_H
15 
16 // Framework include files
17 #include <DD4hep/IOV.h>
18 #include <DD4hep/Handle.h>
19 #include <DD4hep/OpaqueData.h>
20 
21 // C/C++ include files
22 #include <vector>
23 
25 namespace dd4hep {
26 
27  // Forward declarations
28  class BasicGrammar;
29  class DetElement;
30  class Detector;
31 
33  namespace detail {
34  class ConditionObject;
35  }
36 
38 
51  class Condition: public Handle<detail::ConditionObject> {
52  public:
54  typedef unsigned long long int key_type;
56  typedef unsigned int detkey_type;
58  typedef unsigned int itemkey_type;
60  typedef unsigned int mask_type;
61 
62  public:
64  enum StringFlags {
65  WITH_IOV = 1<<0,
66  WITH_ADDRESS = 1<<1,
67  WITH_TYPE = 1<<2,
68  WITH_COMMENT = 1<<4,
69  WITH_DATATYPE = 1<<5,
70  WITH_DATA = 1<<6,
71  NO_NAME = 1<<20,
72  NONE
73  };
76  INACTIVE = 0,
77  ACTIVE = 1<<0,
78  CHECKED = 1<<2,
79  DERIVED = 1<<3,
80  ONSTACK = 1<<4,
81  // Flags for specific conditions
82  TEMPERATURE = 1<<5,
84  PRESSURE = 1<<7,
88  // Keep bit 10-15 for other generic types
89  // Bit 16-31 is reserved for user classifications
91  USER_FLAGS_LAST = 1<<31
92  };
96  LAST_ITEM_KEY = ~0x0U
97  };
101  LAST_DET_KEY = ~0x0U
102  };
104  static constexpr unsigned long long int FIRST_KEY = 0x0ULL, LAST_KEY = ~0x0ULL;
105 
107 
112  class Processor {
113  protected:
115  Processor(Processor&& copy) = default;
117  Processor(const Processor& copy) = default;
119  Processor& operator=(const Processor& copy) = delete;
120  public:
122  Processor() = default;
124  virtual ~Processor() = default;
126  virtual int process(Condition c) const = 0;
128  virtual int operator()(Condition c) const
129  { return this->process(c); }
131  virtual int operator()(const std::pair<Condition::key_type,Condition>& e) const
132  { return this->process(e.second); }
133  };
134 
136  Condition() = default;
138  Condition(Condition&& c) = default;
140  Condition(const Condition& c) = default;
144  template <typename Q> Condition(const Handle<Q>& e);
146  Condition(key_type hash_key);
148  Condition(const std::string& name, const std::string& type);
150  Condition(const std::string& name, const std::string& type, size_t memory);
152  Condition& operator=(Condition&& c) = default;
154  Condition& operator=(const Condition& c) = default;
155 
157  std::string str(int with_data=WITH_IOV|WITH_ADDRESS|WITH_DATATYPE) const;
158 
160  int dataType() const;
162 
164  const IOVType& iovType() const;
167  const IOV& iov() const;
168 
170  key_type key() const;
173  detkey_type detector_key() const;
175  itemkey_type item_key() const;
176 
178 #if defined(DD4HEP_CONDITIONS_DEBUG) || !defined(DD4HEP_MINIMAL_CONDITIONS)
179  const std::string& type() const;
182  const std::string& value() const;
184  const std::string& comment() const;
186  const std::string& address() const;
187 #endif
188  mask_type flags() const;
191  void setFlag(mask_type option);
193  void unFlag(mask_type option);
195  bool testFlag(mask_type option) const;
196 
198  OpaqueDataBlock& data() const;
201  const std::type_info& typeInfo() const;
203  const BasicGrammar& descriptor() const;
205  bool is_bound() const { return isValid() ? data().is_bound() : false; }
211  template <typename T, typename... Args> T& construct(Args... args);
217  template <typename T> T& bind();
223  template <typename T> T& bind(const std::string& val);
225  template <typename T> T& get();
227  template <typename T> const T& get() const;
229  template <typename T> T& as();
231  template <typename T> const T& as() const;
232 
234  static int haveInventory(int value = -1);
235  };
236 
239  : Handle<Condition::Object>(p) {}
240 
242  template <typename Q> inline Condition::Condition(const Handle<Q>& e)
243  : Handle<Condition::Object>(e) {}
244 
246  template <typename T, typename... Args> T& Condition::construct(Args... args) {
247  return data().construct<T,Args...>(args...);
248  }
250  template <typename T> inline T& Condition::bind() {
251  return data().bind<T>();
252  }
254  template <typename T> inline T& Condition::bind(const std::string& val) {
255  return data().bind<T>(val);
256  }
258  template <typename T> inline T& Condition::get() {
259  return data().get<T>();
260  }
262  template <typename T> inline const T& Condition::get() const {
263  return data().get<T>();
264  }
266  template <typename T> inline T& Condition::as() {
267  return data().as<T>();
268  }
270  template <typename T> inline const T& Condition::as() const {
271  return data().as<T>();
272  }
273 
275 
280  class ConditionKey {
281  public:
282 #if defined(DD4HEP_CONDITIONS_HAVE_NAME)
283  std::string name;
285 #endif
288 
290 
295  union KeyMaker {
301  struct {
306  this->hash = 0;
307  }
309  this->hash = k;
310  }
312  this->values.det_key = det;
313  this->values.item_key = item;
314  }
316  KeyMaker(Condition::detkey_type det, const std::string& value);
318  KeyMaker(DetElement detector, const std::string& value);
321  };
322 
324 
329  struct HashCompare {
332  bool operator==(const ConditionKey& k) const { return key==k.hash; }
333  };
334  public:
336  ConditionKey() = default;
340  ConditionKey(DetElement detector, const std::string& identifier);
342  ConditionKey(Condition::detkey_type det_key, const std::string& identifier);
348  ConditionKey(const ConditionKey& c) = default;
349 
352  return KeyMaker(hash).values.det_key;
353  }
356  return KeyMaker(hash).values.item_key;
357  }
359  static Condition::key_type hashCode(DetElement detector, const char* value);
361  static Condition::key_type hashCode(DetElement detector, const std::string& value);
363  static Condition::itemkey_type itemCode(const char* value);
365  static Condition::itemkey_type itemCode(const std::string& value);
366 
370  bool operator==(const ConditionKey& compare) const;
372  bool operator==(const Condition::key_type compare) const;
374  //bool operator==(const std::string& compare) const;
375 
377  bool operator<(const ConditionKey& compare) const;
379  bool operator<(const Condition::key_type compare) const;
381  operator Condition::key_type () const { return hash; }
383  std::string toString() const;
384  };
385 
388  hash = KeyMaker(det_key,item_key).hash;
389  }
390 
392  inline bool ConditionKey::operator==(const ConditionKey& compare) const
393  { return hash == compare.hash; }
394 
396  inline bool ConditionKey::operator==(const Condition::key_type compare) const
397  { return hash == compare; }
398 
400  inline bool ConditionKey::operator<(const ConditionKey& compare) const
401  { return hash < compare.hash; }
402 
404  inline bool ConditionKey::operator<(const Condition::key_type compare) const
405  { return hash < compare; }
406 
407 
409 
423  protected:
425  ConditionsSelect() = default;
429  virtual ~ConditionsSelect();
432 
433  public:
435  bool operator()(Condition cond) const { return (*this)(cond.ptr()); }
437  bool operator()(std::pair<Condition::key_type,Condition::Object*> cond) const
439  { return (*this)(cond.second); }
441 
442  bool operator()(std::pair<Condition::key_type,Condition> cond) const
443  { return (*this)(cond.second.ptr()); }
444 
446  virtual size_t size() const { return 0; }
448  virtual bool operator()(Condition::Object* cond) const = 0;
449  };
450 
452 
468  template <typename OBJECT> class ConditionsSelectWrapper : public ConditionsSelect {
469  private:
473  bool operator==(const ConditionsSelectWrapper& compare) = delete;
474 
475  public:
477  OBJECT& object;
478 
479  public:
485  virtual ~ConditionsSelectWrapper() = default;
488  };
489 
490  // Utility type definitions
491  typedef std::vector<Condition> RangeConditions;
492 
494  namespace detail {
496 
511  int have_condition_item_inventory(int value = -1);
512 
513 
515 
525 
527 
537  }
538 
539 } /* End namespace dd4hep */
540 #endif // DD4HEP_CONDITIONS_H
dd4hep::Condition::dataType
int dataType() const
Access the data type.
Definition: Conditions.cpp:124
dd4hep::Condition::NONE
@ NONE
Definition: Conditions.h:72
dd4hep::RangeConditions
std::vector< Condition > RangeConditions
Definition: Conditions.h:491
dd4hep::Condition::value
const std::string & value() const
Access the value field of the condition as a string.
Definition: Conditions.cpp:150
dd4hep::Condition::LAST_DET_KEY
@ LAST_DET_KEY
Definition: Conditions.h:101
dd4hep::ConditionKey::hashCode
static Condition::key_type hashCode(DetElement detector, const char *value)
Hash code generation from input string.
Definition: Conditions.cpp:273
dd4hep::ConditionsSelect::~ConditionsSelect
virtual ~ConditionsSelect()
Default destructor.
Definition: Conditions.cpp:218
dd4hep::ConditionsSelect::ConditionsSelect
ConditionsSelect()=default
Default constructor.
dd4hep::Condition::LAST_ITEM_KEY
@ LAST_ITEM_KEY
Definition: Conditions.h:96
dd4hep::detail::have_condition_item_inventory
int have_condition_item_inventory(int value=-1)
Setup conditions item name inventory for debugging.
Definition: Conditions.cpp:49
cond
AlignmentCondition::Object * cond
Definition: AlignmentsCalculator.cpp:68
dd4hep::ConditionsSelectWrapper::operator==
bool operator==(const ConditionsSelectWrapper &compare)=delete
Default assignment operator.
dd4hep::Condition::NO_NAME
@ NO_NAME
Definition: Conditions.h:71
dd4hep::Condition::ONSTACK
@ ONSTACK
Definition: Conditions.h:80
dd4hep::Condition::typeInfo
const std::type_info & typeInfo() const
Access to the type information.
Definition: Conditions.cpp:166
dd4hep::Condition::flags
mask_type flags() const
Flag operations: Get condition flags.
Definition: Conditions.cpp:186
dd4hep::ConditionKey::operator=
ConditionKey & operator=(const ConditionKey &key)=default
Assignment operator from object copy.
dd4hep::Condition::WITH_DATA
@ WITH_DATA
Definition: Conditions.h:70
dd4hep::Handle< detail::ConditionObject >::Object
detail::ConditionObject Object
Extern accessible definition of the contained element type.
Definition: Handle.h:88
dd4hep::Condition::testFlag
bool testFlag(mask_type option) const
Flag operations: Test for a given a conditons flag.
Definition: Conditions.cpp:201
dd4hep::Condition::FIRST_ITEM_KEY
@ FIRST_ITEM_KEY
Definition: Conditions.h:95
dd4hep::Condition::TEMPERATURE_DERIVED
@ TEMPERATURE_DERIVED
Definition: Conditions.h:83
dd4hep::ConditionsSelect::operator=
ConditionsSelect & operator=(const ConditionsSelect &copy)=default
Default assignment operator.
IOV.h
dd4hep::Condition::comment
const std::string & comment() const
Access the comment field of the condition.
Definition: Conditions.cpp:155
dd4hep::Condition::Processor::operator=
Processor & operator=(const Processor &copy)=delete
Assignment operator.
dd4hep::Condition::Processor::Processor
Processor()=default
Default constructor.
dd4hep::OpaqueDataBlock::construct
T & construct(Args... args)
Construct conditions object and bind the data.
Definition: OpaqueData.h:193
dd4hep::ConditionKey::hash
Condition::key_type hash
Hashed key representation.
Definition: Conditions.h:287
dd4hep::Condition::Condition
Condition(Object *p)
Initializing constructor.
dd4hep::Condition::CHECKED
@ CHECKED
Definition: Conditions.h:78
Handle.h
dd4hep::ConditionKey::ConditionKey
ConditionKey()=default
Default constructor.
dd4hep::OpaqueDataBlock
Class describing an opaque conditions data block.
Definition: OpaqueData.h:92
dd4hep::Handle< detail::ConditionObject >::isValid
bool isValid() const
Check the validity of the object held by the handle.
Definition: Handle.h:128
dd4hep::Handle
Handle: a templated class like a shared pointer, which allows specialized access to tgeometry objects...
Definition: Handle.h:84
dd4hep::Condition::key
key_type key() const
Hash identifier.
Definition: Conditions.cpp:171
dd4hep::ConditionsSelectWrapper::object
OBJECT & object
Reference to the infomation collector.
Definition: Conditions.h:477
dd4hep::ConditionKey::KeyMaker::KeyMaker
KeyMaker(Condition::detkey_type det, Condition::itemkey_type item)
Definition: Conditions.h:311
dd4hep::ConditionKey::toString
std::string toString() const
Conversion to string.
Definition: Conditions.cpp:301
dd4hep::ConditionKey
Key definition to optimize ans simplyfy the access to conditions entities.
Definition: Conditions.h:280
dd4hep::ConditionsSelect::operator()
bool operator()(std::pair< Condition::key_type, Condition::Object * > cond) const
Selection callback: return true if the condition should be selected.
Definition: Conditions.h:437
dd4hep::Handle< detail::ConditionObject >::name
const char * name() const
Access the object name (or "" if not supported by the object)
dd4hep::Condition::PRESSURE
@ PRESSURE
Definition: Conditions.h:84
dd4hep::ConditionKey::KeyMaker
Helper union to interprete conditions keys.
Definition: Conditions.h:295
dd4hep::OpaqueData::is_bound
bool is_bound() const
Check if object is already bound....
Definition: OpaqueData.h:71
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::ConditionsSelectWrapper::~ConditionsSelectWrapper
virtual ~ConditionsSelectWrapper()=default
Default destructor.
dd4hep::ConditionsSelectWrapper::ConditionsSelectWrapper
ConditionsSelectWrapper()=delete
Default constructor.
dd4hep::Condition::detector_key
detkey_type detector_key() const
DetElement part of the identifier.
Definition: Conditions.cpp:176
dd4hep::ConditionsSelectWrapper::ConditionsSelectWrapper
ConditionsSelectWrapper(OBJECT &o)
Default constructor.
Definition: Conditions.h:481
dd4hep::OpaqueDataBlock::bind
void * bind(const BasicGrammar *grammar)
Bind data value.
Definition: OpaqueData.cpp:124
dd4hep::Condition::WITH_ADDRESS
@ WITH_ADDRESS
Definition: Conditions.h:66
dd4hep::Condition::detkey_type
unsigned int detkey_type
High part of the key identifies the detector element.
Definition: Conditions.h:56
dd4hep::Condition
Main condition object handle.
Definition: Conditions.h:51
dd4hep::ConditionsSelectWrapper::ConditionsSelectWrapper
ConditionsSelectWrapper(const ConditionsSelectWrapper &copy)=default
Copy constructor.
dd4hep::ConditionsSelectWrapper::operator=
ConditionsSelectWrapper & operator=(const ConditionsSelectWrapper &copy)=default
Default assignment operator.
dd4hep::ConditionKey::ConditionKey
ConditionKey(const ConditionKey &c)=default
Copy constructor.
dd4hep::IOV
Class describing the interval of validty.
Definition: IOV.h:67
dd4hep::Condition::haveInventory
static int haveInventory(int value=-1)
Allow to trace condition names from keys for debugging.
dd4hep::Condition::TEMPERATURE
@ TEMPERATURE
Definition: Conditions.h:82
dd4hep::DetElement
Handle class describing a detector element.
Definition: DetElement.h:188
dd4hep::Condition::ALIGNMENT_DELTA
@ ALIGNMENT_DELTA
Definition: Conditions.h:86
dd4hep::OpaqueData::as
T & as()
Generic getter. Resolves polymorph types. It is mandatory that the datatype is polymorph!
Definition: OpaqueData.h:169
dd4hep::Condition::Processor::Processor
Processor(const Processor &copy)=default
Copy constructor.
dd4hep::ConditionsSelect::size
virtual size_t size() const
Overloadable entry: Return number of conditions selected. Default does nothing....
Definition: Conditions.h:446
dd4hep::Condition::Condition
Condition(const Condition &c)=default
Copy constructor.
dd4hep::BasicGrammar
Base class describing string evaluation to C++ objects using boost::spirit.
Definition: Grammar.h:56
dd4hep::Condition::PRESSURE_DERIVED
@ PRESSURE_DERIVED
Definition: Conditions.h:85
dd4hep::Condition::USER_FLAGS_LAST
@ USER_FLAGS_LAST
Definition: Conditions.h:91
dd4hep::ConditionKey::itemCode
static Condition::itemkey_type itemCode(const char *value)
32 bit hashcode of the item
Definition: Conditions.cpp:287
dd4hep::ConditionKey::HashCompare::operator==
bool operator==(const ConditionKey &k) const
Definition: Conditions.h:332
dd4hep::Condition::as
T & as()
Generic getter. Resolves polymorph types. It is mandatory that the datatype is polymorph!
Definition: Conditions.h:266
dd4hep::Condition::item_key
itemkey_type item_key() const
Item part of the identifier.
Definition: Conditions.cpp:181
dd4hep::Condition::Processor::~Processor
virtual ~Processor()=default
Default destructor.
dd4hep::ConditionKey::HashCompare::HashCompare
HashCompare(Condition::key_type k)
Definition: Conditions.h:331
dd4hep::Condition::WITH_COMMENT
@ WITH_COMMENT
Definition: Conditions.h:68
dd4hep::Condition::WITH_IOV
@ WITH_IOV
Definition: Conditions.h:65
dd4hep::ConditionKey::KeyMaker::KeyMaker
KeyMaker()
Definition: Conditions.h:305
dd4hep::Condition::FIRST_KEY
static constexpr unsigned long long int FIRST_KEY
Flags to indicate global conditions ranges.
Definition: Conditions.h:104
dd4hep::Condition::WITH_DATATYPE
@ WITH_DATATYPE
Definition: Conditions.h:69
dd4hep::OpaqueData::get
T & get()
Generic getter. Specify the exact type, not a polymorph type.
Definition: OpaqueData.h:157
dd4hep::Condition::bind
T & bind()
Bind the data of the conditions object to a given format.
Definition: Conditions.h:250
dd4hep::Condition::WITH_TYPE
@ WITH_TYPE
Definition: Conditions.h:67
dd4hep::Condition::str
std::string str(int with_data=WITH_IOV|WITH_ADDRESS|WITH_DATATYPE) const
Output method.
Definition: Conditions.cpp:95
dd4hep::Condition::get
T & get()
Generic getter. Specify the exact type, not a polymorph type.
Definition: Conditions.h:258
dd4hep::Condition::Processor::operator()
virtual int operator()(Condition c) const
Conditions callback for object processing.
Definition: Conditions.h:128
dd4hep::ConditionsSelect::operator()
bool operator()(Condition cond) const
Selection callback: return true if the condition should be selected.
Definition: Conditions.h:435
dd4hep::Condition::itemkey_type
unsigned int itemkey_type
Low part of the key identifies the item identifier.
Definition: Conditions.h:58
dd4hep::Condition::unFlag
void unFlag(mask_type option)
Flag operations: UN-Set a conditons flag.
Definition: Conditions.cpp:196
dd4hep::Condition::INACTIVE
@ INACTIVE
Definition: Conditions.h:76
OpaqueData.h
dd4hep::Condition::key_type
unsigned long long int key_type
Forward definition of the key type.
Definition: Conditions.h:54
dd4hep::Condition::mask_type
unsigned int mask_type
Forward definition of the object properties.
Definition: Conditions.h:60
dd4hep::Condition::type
const std::string & type() const
Access the type field of the condition.
Definition: Conditions.cpp:145
dd4hep::Condition::ConditionState
ConditionState
Flags to indicate the conditions type ans state.
Definition: Conditions.h:75
dd4hep::Condition::ConditionDetectorRangeKeys
ConditionDetectorRangeKeys
Flags to indicate conditions detector ranges (high word of the conditions key)
Definition: Conditions.h:99
dd4hep::detail::ConditionObject
The data class behind a conditions handle.
Definition: ConditionsInterna.h:68
dd4hep::Condition::FIRST_DET_KEY
@ FIRST_DET_KEY
Definition: Conditions.h:100
dd4hep::Condition::setFlag
void setFlag(mask_type option)
Flag operations: Set a conditons flag.
Definition: Conditions.cpp:191
dd4hep::Condition::Processor::Processor
Processor(Processor &&copy)=default
Move constructor.
key
unsigned char key
Definition: AlignmentsCalculator.cpp:69
dd4hep::ConditionKey::KeyMaker::KeyMaker
KeyMaker(Condition::key_type k)
Definition: Conditions.h:308
dd4hep::ConditionsSelect::ConditionsSelect
ConditionsSelect(const ConditionsSelect &copy)=default
Copy constructor.
dd4hep::ConditionKey::operator<
bool operator<(const ConditionKey &compare) const
Equality operator using the string representation.
Definition: Conditions.h:400
dd4hep::Condition::operator=
Condition & operator=(const Condition &c)=default
Assignment copy operator.
dd4hep::ConditionKey::KeyMaker::det_key
Condition::detkey_type det_key
Definition: Conditions.h:303
dd4hep::ConditionsSelect::operator()
bool operator()(std::pair< Condition::key_type, Condition > cond) const
Selection callback: return true if the condition should be selected.
Definition: Conditions.h:442
dd4hep::detail::get_condition_item_name
std::string get_condition_item_name(Condition::itemkey_type key)
Resolve key from conditions item name inventory for debugging.
Definition: Conditions.cpp:60
dd4hep
Namespace for the AIDA detector description toolkit.
Definition: AlignmentsCalib.h:28
dd4hep::ConditionKey::KeyMaker::hash
Condition::key_type hash
Definition: Conditions.h:296
det
DetElement::Object * det
Definition: AlignmentsCalculator.cpp:66
dd4hep::ConditionKey::item_key
Condition::itemkey_type item_key() const
Access the detector element part of the key.
Definition: Conditions.h:355
dd4hep::ConditionKey::HashCompare
Compare keys by the hash value.
Definition: Conditions.h:329
dd4hep::Condition::operator=
Condition & operator=(Condition &&c)=default
Assignment move operator.
dd4hep::Condition::ALIGNMENT_DERIVED
@ ALIGNMENT_DERIVED
Definition: Conditions.h:87
dd4hep::Condition::DERIVED
@ DERIVED
Definition: Conditions.h:79
dd4hep::ConditionKey::HashCompare::key
Condition::key_type key
Definition: Conditions.h:330
dd4hep::Condition::Condition
Condition()=default
Default constructor.
dd4hep::Condition::ACTIVE
@ ACTIVE
Definition: Conditions.h:77
dd4hep::Condition::iovType
const IOVType & iovType() const
Access the IOV type.
Definition: Conditions.cpp:134
dd4hep::Condition::Processor::operator()
virtual int operator()(const std::pair< Condition::key_type, Condition > &e) const
Conditions callback for object processing in maps.
Definition: Conditions.h:131
dd4hep::detail::tools::copy
void copy(Alignment from, Alignment to)
Copy alignment object from source object.
Definition: AlignmentTools.cpp:43
dd4hep::Condition::USER_FLAGS_FIRST
@ USER_FLAGS_FIRST
Definition: Conditions.h:90
dd4hep::Condition::construct
T & construct(Args... args)
Construct conditions object and bind the data.
Definition: Conditions.h:246
dd4hep::Condition::Condition
Condition(Condition &&c)=default
Move constructor.
dd4hep::ConditionsSelectWrapper
Conditions selector functor. Wraps a user defined object by reference.
Definition: Conditions.h:468
dd4hep::Condition::LAST_KEY
static constexpr unsigned long long int LAST_KEY
Definition: Conditions.h:104
dd4hep::ConditionKey::KeyMaker::values
struct dd4hep::ConditionKey::KeyMaker::@2 values
dd4hep::Condition::ConditionItemRangeKeys
ConditionItemRangeKeys
Flags to indicate conditions item ranges (low word of the conditions key)
Definition: Conditions.h:94
dd4hep::ConditionKey::ConditionKey
ConditionKey(Condition::key_type key)
Constructor from fully qualified key.
Definition: Conditions.h:338
dd4hep::Condition::descriptor
const BasicGrammar & descriptor() const
Access to the grammar type.
Definition: Conditions.cpp:206
dd4hep::ConditionsSelect::operator()
virtual bool operator()(Condition::Object *cond) const =0
Overloadable entry: Selection callback: return true if the condition should be selected.
dd4hep::Condition::Processor
Abstract base for processing callbacks to conditions objects.
Definition: Conditions.h:112
dd4hep::Condition::address
const std::string & address() const
Access the address string [e.g. database identifier].
Definition: Conditions.cpp:160
dd4hep::ConditionKey::operator==
bool operator==(const ConditionKey &compare) const
Equality operator using key object.
Definition: Conditions.h:392
dd4hep::Condition::iov
const IOV & iov() const
Access the IOV block.
Definition: Conditions.cpp:139
dd4hep::Condition::StringFlags
StringFlags
Flags to steer the conditions conversion to string.
Definition: Conditions.h:64
dd4hep::ConditionKey::detector_key
Condition::detkey_type detector_key() const
Access the detector element part of the key.
Definition: Conditions.h:351
dd4hep::Condition::is_bound
bool is_bound() const
Check if object is already bound....
Definition: Conditions.h:205
dd4hep::Condition::data
OpaqueDataBlock & data() const
Access the opaque data block.
Definition: Conditions.cpp:129
dd4hep::ConditionKey::KeyMaker::item_key
Condition::itemkey_type item_key
Definition: Conditions.h:302
dd4hep::Condition::Processor::process
virtual int process(Condition c) const =0
Processing callback.