1#include "Tracking/geo/GeometryContext.h"
4#include "Framework/Configure/Parameters.h"
5#include "Framework/Exception/Exception.h"
17void GeometryContext::loadTransformations(
const tgSurfMap& surf_map) {
19 alignment_map_.clear();
21 for (
auto entry : surf_map) {
22 alignment_map_[entry.first] =
24 (entry.second)->associatedDetectorElement())
25 ->uncorrectedTransform();
42 const Acts::Vector3 deltaT,
43 const Acts::Vector3 deltaR,
45 Acts::Translation3 delta_translation{deltaT};
46 Acts::RotationMatrix3 rot = deltaRot(deltaR);
47 Acts::Transform3 correction(delta_translation * rot);
51 if (alignment_map_.count(sensorId) < 1) {
52 EXCEPTION_RAISE(
"BadGeometry",
53 "GeometryContext:: could not addAlignCorrection");
59 alignment_map_[sensorId].rotate(correction.rotation());
60 alignment_map_[sensorId].translate(correction.translation());
62 alignment_map_[sensorId].translate(correction.translation());
63 alignment_map_[sensorId].rotate(correction.rotation());
92 std::pair<const framework::ConditionsObject*, framework::ConditionsIOV>
Base class for provider of conditions information like pedestals, gains, electronics maps,...
#define DECLARE_CONDITIONS_PROVIDER(CLASS)
Macro which allows the framework to construct a producer given its name during configuration.
be configured to load conditions objects from CSV files.
Class which defines the run/event/type range for which a given condition is valid,...
Base class for all providers of conditions objects.
const Process & process() const
Get the process handle.
Base class for all conditions objects, very simple.
Class which represents the process under execution.
Class encapsulating parameters for configuring a processor.
std::pair< const framework::ConditionsObject *, framework::ConditionsIOV > getCondition(const ldmx::EventHeader &context) final override
Get the context as a conditions object.
GeometryContextProvider(const std::string &name, const std::string &tagname, const framework::config::Parameters ¶meters, framework::Process &process)
Create the context conditions object.
The context for a specific geometry.
static const std::string NAME
Conditions object name.
const Acts::GeometryContext & get() const
get an Acts::GeometryContext wrapping the pointer to the instance of this GeometryContext
Acts::GeometryContext acts_gc_
Wrap this instance in an Acts::GeometryContext any object for passing it down to the various acts too...
GeometryContext()
TODO it should be private == KEEPING IT PUBLIC FOR TESTING PURPOSE.
void addAlignCorrection(unsigned int sensorId, const Acts::Vector3 deltaT, const Acts::Vector3 deltaR, const bool active=true)
Fill an internal map holding the alignment transformations sensorId : id of the alignable element in ...
All classes in the ldmx-sw project use this namespace.