LDMX Software
GeometryContext.h
1#pragma once
2
3#include <Acts/Geometry/TrackingGeometry.hpp>
4
5#include "Acts/Definitions/Algebra.hpp"
7#include "Tracking/geo/DetectorElement.h"
8#include "Tracking/geo/GeoUtils.h"
9
10namespace tracking::geo {
11
12using tgSurfMap = std::unordered_map<unsigned int, const Acts::Surface*>;
13
15class GeometryContextProvider;
16
27 public:
38
39 void loadTransformations(const tgSurfMap& surf_map);
40
58 void addAlignCorrection(unsigned int sensorId, const Acts::Vector3 deltaT,
59 const Acts::Vector3 deltaR, const bool active = true);
60
61 // This holds all the transformations of the Tracking Geometry and
62 // the alignment corrections already applied
63
64 std::unordered_map<unsigned int, Acts::Transform3> alignment_map;
65
67 static const std::string NAME;
77 const Acts::GeometryContext& get() const;
78
79 private:
82
87 Acts::GeometryContext acts_gc_;
88};
89
90} // namespace tracking::geo
Base class for conditions information like pedestals, gains, electronics maps, etc.
Base class for all conditions objects, very simple.
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 ...
Visualization.