DD4hep
1.30.0
Detector Description Toolkit for High Energy Physics
|
Class describing the interval of validty. More...
#include <IOV.h>
Public Types | |
using | Key_value_type = std::int64_t |
Key definition. Use fixed width type, though not portable! More... | |
using | Key = std::pair< Key_value_type, Key_value_type > |
Public Member Functions | |
IOV (const IOVType *typ) | |
Initializing constructor. More... | |
IOV (const IOVType *typ, const Key &key) | |
Specialized copy constructor for range IOVs. More... | |
IOV (const IOVType *typ, Key_value_type iov_value) | |
Specialized copy constructor for discrete IOVs. More... | |
IOV (const IOV ©)=default | |
Copy constructor. More... | |
IOV (IOV &©)=default | |
Move constructor. More... | |
~IOV ()=default | |
Standard Destructor. More... | |
IOV & | operator= (const IOV &c)=default |
Assignment operator. More... | |
IOV & | operator= (IOV &&c)=default |
Move assignment operator. More... | |
bool | operator< (const IOV &test) const |
Allow for IOV sorting in maps. More... | |
void | move (IOV &from) |
Move the data content: 'from' will be reset to NULL. More... | |
std::string | str () const |
Create string representation of the IOV. More... | |
bool | has_range () const |
Check if the IOV corresponds to a range. More... | |
bool | is_discrete () const |
Check if the IOV corresponds to a range. More... | |
Key | key () const |
Get the local key of the IOV. More... | |
void | set (const Key &value) |
Set discrete IOV value. More... | |
void | set (Key_value_type value) |
Set discrete IOV value. More... | |
void | set (Key_value_type val_1, Key_value_type val_2) |
Set range IOV value. More... | |
IOV & | reset () |
Set keys to unphysical values (LONG_MAX, LONG_MIN) More... | |
IOV & | invert () |
Invert the key values (first=second and second=first) More... | |
void | iov_intersection (const IOV &comparator) |
Set the intersection of this IOV with the argument IOV. More... | |
void | iov_intersection (const IOV::Key &comparator) |
Set the intersection of this IOV with the argument IOV. More... | |
void | iov_union (const IOV &comparator) |
Set the union of this IOV with the argument IOV. More... | |
void | iov_union (const IOV::Key &comparator) |
Set the union of this IOV with the argument IOV. More... | |
bool | contains (const IOV &iov) const |
Check for validity containment. More... | |
Static Public Member Functions | |
static IOV | forever (const IOVType *typ) |
Conditions key representing eternity. More... | |
static Key | key_forever () |
Conditions key representing eternity. More... | |
static bool | same_type (const IOV &iov, const IOV &test) |
Check if 2 IOV objects are of the same type. More... | |
static bool | key_is_contained (const Key &key, const Key &test) |
Check if IOV 'test' is fully contained in IOV 'key'. More... | |
static bool | key_contains_range (const Key &key, const Key &test) |
Same as above, but reverse logic. Gives sometimes more understandable logic. More... | |
static bool | key_overlaps_lower_end (const Key &key, const Key &test) |
Check if IOV 'test' has an overlap on the lower interval edge with IOV 'key'. More... | |
static bool | key_overlaps_higher_end (const Key &key, const Key &test) |
Check if IOV 'test' has an overlap on the upper interval edge with IOV 'key'. More... | |
static bool | key_partially_contained (const Key &key, const Key &test) |
Check if IOV 'test' has an overlap on the upper interval edge with IOV 'key'. More... | |
static bool | full_match (const IOV &iov, const IOV &test) |
Check if IOV 'test' is of same type and is fully contained in iov. More... | |
static bool | partial_match (const IOV &iov, const IOV &test) |
Check if IOV 'test' is of same type and is at least partially contained in iov. More... | |
Public Attributes | |
const IOVType * | iovType = 0 |
Reference to IOV type. More... | |
Key | keyData {MIN_KEY,MIN_KEY} |
IOV key (if second==first, discrete, otherwise range) More... | |
int | optData = 0 |
Optional user data. More... | |
unsigned int | type = IOVType::UNKNOWN_IOV |
IOV buffer type: Must be a bitmap! More... | |
Static Public Attributes | |
static constexpr Key_value_type | MIN_KEY = std::numeric_limits<Key_value_type>::min() |
static constexpr Key_value_type | MAX_KEY = std::numeric_limits<Key_value_type>::max() |
Private Member Functions | |
IOV ()=delete | |
Initializing constructor: Does not set reference to IOVType ! More... | |
using dd4hep::IOV::Key = std::pair<Key_value_type, Key_value_type> |
using dd4hep::IOV::Key_value_type = std::int64_t |
|
explicitprivatedelete |
Initializing constructor: Does not set reference to IOVType !
|
explicit |
|
explicit |
|
default |
Copy constructor.
|
default |
Move constructor.
|
default |
Standard Destructor.
bool IOV::contains | ( | const IOV & | iov | ) | const |
|
inline |
IOV & IOV::invert | ( | ) |
void IOV::iov_intersection | ( | const IOV & | comparator | ) |
void IOV::iov_intersection | ( | const IOV::Key & | comparator | ) |
void IOV::iov_union | ( | const IOV & | comparator | ) |
void IOV::iov_union | ( | const IOV::Key & | comparator | ) |
|
inline |
|
inline |
|
inlinestatic |
void IOV::move | ( | IOV & | from | ) |
|
inline |
IOV & IOV::reset | ( | ) |
void dd4hep::IOV::set | ( | Key_value_type | val_1, |
Key_value_type | val_2 | ||
) |
Set range IOV value.
void dd4hep::IOV::set | ( | Key_value_type | value | ) |
Set discrete IOV value.
std::string IOV::str | ( | ) | const |
|
staticconstexpr |
|
staticconstexpr |
unsigned int dd4hep::IOV::type = IOVType::UNKNOWN_IOV |