23 using namespace DD4hep::Alignments;
29 namespace Alignments {
31 #if defined(__APPLE__) || defined(__clang__)
32 Alignment::Alignment(
const string& nam)
37 AlignmentCondition::AlignmentCondition(
const string& nam)
40 template <> Alignment::Alignment<AlignmentData>(
const string& nam)
45 template <> Alignment::Alignment<Interna::AlignmentNamedObject>(
const string& nam)
49 template <> AlignmentCondition::AlignmentCondition<Interna::AlignmentConditionObject>(
const string& nam)
50 { assign(
new Object(nam,
"alignment"), nam,
"alignment"); }
57 Alignment::Processor::Processor() {
61 const TGeoHMatrix& Alignment::worldTransformation()
const {
62 return data().worldTransformation();
66 const TGeoHMatrix& Alignment::detectorTransformation()
const {
67 return data().detectorTransformation();
72 return *(access()->iovType());
77 return *(access()->iovData());
82 return access()->hash;
108 bool AlignmentCondition::is_bound()
const {
113 const TGeoHMatrix& AlignmentCondition::worldTransformation()
const {
114 return data().worldTransformation();
118 const TGeoHMatrix& AlignmentCondition::detectorTransformation()
const {
119 return data().detectorTransformation();
123 Container::Processor::Processor() {
127 size_t Container::numKeys()
const {
128 return access()->keys.size();
135 invalidHandleError<Container>();
148 invalidHandleError<Alignment>();
150 invalidHandleError<Container>();
162 invalidHandleError<Alignment>();
164 invalidHandleError<Container>();
169 Alignment Container::get(
const string& alignment_key,
const UserPool& pool) {
176 invalidHandleError<Alignment>();
178 invalidHandleError<Container>();
190 invalidHandleError<Alignment>();
192 invalidHandleError<Container>();
AlignmentData * alignment_data
Cached pointer to the bound conditions data, since these may be accessed very frequently.
The data class behind an alignments container handle.
The data class behind an alignments handle.
OpaqueData & data() const
Access the IOV block.
Ref_t condition
Reference to the original condition object (May not be present!)
unsigned int key_type
Forward definition of the key type.
T & bind()
Bind the data of the conditions object to a given format.
bool isValid() const
Check the validity of the object held by the handle.
T & get()
Generic getter. Specify the exact type, not a polymorph type.
bool is_bound() const
Check if object is already bound....
Main handle class to hold an alignment object.
Main condition object handle.
Alignment get(const std::string &alignment_key, const iov_type &iov)
Access to alignment objects by key and IOV.
Alignment::key_type key_type
Forward definition of the key type.
Class describing the interval of validty.
Class describing the interval of validty type.
bool is_bound() const
Check if object is already bound....
std::map< key_type, key_value > Keys
Definition of the keys.
Derived condition data-object definition.
Keys keys
Known keys of alignments in this container.