|
ATLAS Offline Software
|
Go to the documentation of this file.
6 #include "GaudiKernel/IInterface.h"
8 #include "Acts/Propagator/detail/SteppingLogger.hpp"
9 #include "Acts/Geometry/TrackingVolume.hpp"
10 #include "Acts/Geometry/GeometryIdentifier.hpp"
33 return StatusCode::FAILURE;
41 return StatusCode::FAILURE;
56 return StatusCode::SUCCESS;
64 return StatusCode::SUCCESS;
71 const auto& ctx = Gaudi::Hive::currentContext();
84 using namespace std::chrono_literals;
87 std::this_thread::sleep_for(2
s);
97 std::this_thread::sleep_for(0.5
s);
100 ATH_MSG_INFO(
"Writer thread caught termination signal. Shutting down.");
111 size_t eventNum = queue_item.first;
134 Acts::GeometryIdentifier::Value volumeID = 0;
135 Acts::GeometryIdentifier::Value boundaryID = 0;
136 Acts::GeometryIdentifier::Value layerID = 0;
137 Acts::GeometryIdentifier::Value approachID = 0;
138 Acts::GeometryIdentifier::Value sensitiveID = 0;
141 auto geoID =
step.surface->geometryId();
142 sensitiveID = geoID.sensitive();
143 approachID = geoID.approach();
144 layerID = geoID.layer();
145 boundaryID = geoID.boundary();
146 volumeID = geoID.volume();
149 if (
step.geoID != Acts::GeometryIdentifier()) {
150 volumeID =
step.geoID.volume();
std::vector< int > m_s_sensitiveID
sensitive identification
virtual StatusCode initialize() override
std::deque< queue_item_t > m_queue
TTree * m_outputTree
the output tree
Scalar perp() const
perp method - perpenticular length
virtual StatusCode finalize() override
std::vector< int > m_s_layerID
layer identification
void write(const StepVector &steps) override
std::vector< float > m_s_pY
global position y of the step
std::vector< int > m_s_boundaryID
boundary identification
void doWrite(const StepVector &steps, size_t evtNum)
ActsPropStepRootWriterSvc(const std::string &name, ISvcLocator *svc)
std::vector< float > m_s_pX
global position x of the step
::StatusCode StatusCode
StatusCode definition for legacy code.
AthROOTErrorHandlerSvc * svc
std::vector< Acts::detail::Step > StepVector
std::vector< int > m_s_approachID
approach identification
Gaudi::Property< std::string > m_treeName
std::vector< float > m_s_pZ
global position z of the step
std::vector< float > m_s_pR
global position z of the step
std::pair< size_t, StepVector > queue_item_t
TFile * m_outputFile
the output file
std::vector< int > m_s_volumeID
volume identification
Gaudi::Property< std::string > m_filePath
std::atomic< bool > m_doEnd