DD4hep  1.28.0
Detector Description Toolkit for High Energy Physics
AlignmentsCalib.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 DDALIGN_ALIGNMENTSCALIB_H
14 #define DDALIGN_ALIGNMENTSCALIB_H
15 
16 // Framework includes
17 #include "DD4hep/DetElement.h"
18 #include "DD4hep/Alignments.h"
19 #include "DD4hep/AlignmentData.h"
20 #include "DD4hep/ConditionsMap.h"
22 
23 // C/C++ include files
24 #include <set>
25 #include <map>
26 
28 namespace dd4hep {
29 
31  namespace align {
32 
34 
42  public:
44 
51  class Entry;
53  typedef std::map<Condition::key_type,Entry*> UsedConditions;
54 
55  public:
62 
63  protected:
65  std::pair<Condition::key_type,Entry*> _set(DetElement det, const Delta& delta);
66 
67  public:
69  AlignmentsCalib() = delete;
75  virtual ~AlignmentsCalib() noexcept(false);
77  AlignmentsCalib& operator=(const AlignmentsCalib& copy) = delete;
79  AlignmentsCalib& operator=(AlignmentsCalib&& copy) = delete;
80 
82 
102  Condition::key_type set(DetElement det, const Delta& delta);
103 
105 
113  Condition::key_type set(const std::string& path, const Delta& delta);
114 
116  void clearDeltas();
117 
119  void clear() noexcept(false);
120 
122  DetElement detector(const std::string& path) const;
123 
126  };
127  } /* End namespace align */
128 } /* End namespace dd4hep */
129 #endif // DDALIGN_ALIGNMENTSCALIB_H
AlignmentsCalculator.h
dd4hep::align::AlignmentsCalib::set
Condition::key_type set(DetElement det, const Delta &delta)
(1) Add a new entry to an existing DetElement structure.
Definition: AlignmentsCalib.cpp:104
dd4hep::align::AlignmentsCalib::clearDeltas
void clearDeltas()
Clear all delta data in the caches transaction stack.
Definition: AlignmentsCalib.cpp:115
Alignments.h
delta
const Delta * delta
Definition: AlignmentsCalculator.cpp:67
dd4hep::align::AlignmentsCalib::used
UsedConditions used
Internal work stack of cached deltas.
Definition: AlignmentsCalib.h:61
dd4hep::Delta
Class describing an condition to re-adjust an alignment.
Definition: AlignmentData.h:38
dd4hep::align::AlignmentsCalib::detector
DetElement detector(const std::string &path) const
Convenience only: Access detector element by path.
Definition: AlignmentsCalib.cpp:57
dd4hep::align::AlignmentsCalib::Entry
Helper class to store information about alignment calibration items.
Definition: AlignmentsCalib.cpp:32
dd4hep::Condition
Main condition object handle.
Definition: Conditions.h:51
dd4hep::DetElement
Handle class describing a detector element.
Definition: DetElement.h:188
dd4hep::align::AlignmentsCalib::slice
ConditionsMap & slice
Reference to the alignment manager object.
Definition: AlignmentsCalib.h:59
dd4hep::align::AlignmentsCalib::description
Detector & description
Reference to the detector description object.
Definition: AlignmentsCalib.h:57
dd4hep::align::AlignmentsCalib::_set
std::pair< Condition::key_type, Entry * > _set(DetElement det, const Delta &delta)
Implementation: Add a new entry to the transaction stack.
Definition: AlignmentsCalib.cpp:64
dd4hep::align::AlignmentsCalculator::Result
Object encapsulating the result of a computation call to the alignments calculator.
Definition: AlignmentsCalculator.h:45
dd4hep::align::AlignmentsCalib::clear
void clear() noexcept(false)
We clear the entire cached stack of used entries.
Definition: AlignmentsCalib.cpp:125
ConditionsMap.h
std
Definition: Plugins.h:30
dd4hep::align::AlignmentsCalib::~AlignmentsCalib
virtual ~AlignmentsCalib() noexcept(false)
Default destructor.
Definition: AlignmentsCalib.cpp:52
dd4hep::align::AlignmentsCalib::AlignmentsCalib
AlignmentsCalib(const AlignmentsCalib &copy)=delete
No copy constructor.
DetElement.h
mapping
ConditionsMap & mapping
Definition: AlignmentsCalculator.cpp:82
dd4hep
Namespace for the AIDA detector description toolkit.
Definition: AlignmentsCalib.h:28
det
DetElement::Object * det
Definition: AlignmentsCalculator.cpp:66
dd4hep::Detector
The main interface to the dd4hep detector description package.
Definition: Detector.h:90
dd4hep::align::AlignmentsCalib::commit
AlignmentsCalculator::Result commit()
Commit all pending transactions. Returns number of altered entries.
Definition: AlignmentsCalib.cpp:134
dd4hep::detail::tools::copy
void copy(Alignment from, Alignment to)
Copy alignment object from source object.
Definition: AlignmentTools.cpp:43
dd4hep::align::AlignmentsCalib::UsedConditions
std::map< Condition::key_type, Entry * > UsedConditions
Shortcut definitions.
Definition: AlignmentsCalib.h:51
dd4hep::align::AlignmentsCalib::AlignmentsCalib
AlignmentsCalib()=delete
No default constructor.
AlignmentData.h
dd4hep::ConditionsMap
ConditionsMap class.
Definition: ConditionsMap.h:59
dd4hep::align::AlignmentsCalculator
Alignment calculator instance to handle alignment dependencies.
Definition: AlignmentsCalculator.h:36
dd4hep::align::AlignmentsCalib
Calib alignment dependencies from conditions.
Definition: AlignmentsCalib.h:41