 |
ATLAS Offline Software
|
Go to the documentation of this file.
15 #include "GaudiKernel/ISvcLocator.h"
19 #include "Acts/Utilities/Logger.hpp"
20 #include "Acts/Geometry/TrackingGeometry.hpp"
21 #include "Acts/Surfaces/Surface.hpp"
22 #include "Acts/Geometry/GeometryIdentifier.hpp"
30 using gid = Acts::GeometryIdentifier;
43 return StatusCode::SUCCESS;
48 ATH_MSG_DEBUG(
"In ActsWriteTrackingGeometryTransforms::execute");
51 const EventContext& ctx = Gaudi::Hive::currentContext();
63 trackingGeometry->visitSurfaces([&] (
const Acts::Surface* srf) {
64 const Acts::DetectorElementBase *detElem = srf->associatedDetectorElement();
78 if(sil_de ==
nullptr) {
79 throw std::runtime_error{
"Not TRT, Not HGTD and not Si either"};
82 gid geoID = srf->geometryId();
84 os << geoID.volume() <<
";";
85 os << geoID.boundary() <<
";";
86 os << geoID.layer() <<
";";
87 os << geoID.sensitive() <<
";";
89 os << ctx.eventID().event_number() <<
";";
93 if(sil_de->isPixel()) {
101 else if(sil_de->isSCT()) {
111 throw std::runtime_error{
"The Detector Element is neither Pixel nor SCT"};
117 os<<ath_geoid<<
","<<
bec<<
","<<
ld<<
","<<etam<<
","<<phim<<
","<<
side<<
";";
124 const auto*
p = srf->transform(gctx.
context()).data();
125 for(
size_t i=0;
i<16;
i++) {
132 double cx = srf->center(void_gctx.
context()).
x();
133 double cy = srf->center(void_gctx.
context()).
y();
134 double cz = srf->center(void_gctx.
context()).
z();
142 return StatusCode::SUCCESS;
def retrieve(aClass, aKey=None)
int barrel_ec(const Identifier &id) const
Values of different levels (failure returns 0)
int barrel_ec(const Identifier &id) const
Values of different levels (failure returns 0)
int phi_module(const Identifier &id) const
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
::StatusCode StatusCode
StatusCode definition for legacy code.
int layer_disk(const Identifier &id) const
int eta_module(const Identifier &id) const
int layer_disk(const Identifier &id) const
int eta_module(const Identifier &id) const
int side(const Identifier &id) const
int phi_module(const Identifier &id) const
Acts::GeometryContext context() const