12#include "GaudiKernel/ITHistSvc.h"
14#include "CLHEP/Units/SystemOfUnits.h"
15#include "CLHEP/Geometry/Transform3D.h"
54 return StatusCode::FAILURE;
94 SmartIF<ITHistSvc> tHistSvc{Gaudi::svcLocator()->service(
"THistSvc")};
96 ATH_MSG_ERROR(
"Could not find Hist Service -> Switching ValidationMode Off !" );
100 ATH_MSG_ERROR(
"Could not register the validation Tree -> Switching ValidationMode Off !" );
105 return StatusCode::SUCCESS;
110 return StatusCode::SUCCESS;
129 const G4ThreeVector& mom,
137 ATH_MSG_INFO(
"Initial step ... preparing event cache.");
170 const EventContext& ctx = Gaudi::Hive::currentContext();
188 float tX0 = X0 > 10e-5 ? t/X0 : 0.;
#define ATH_MSG_WARNING(x)
double charge(const T &p)
virtual const S & associatedSurface() const override final
Access to the Surface method.
static constexpr int MAXPROBES
virtual void beginEvent() override
std::string m_validationTreeName
validation tree name - to be acessed by this from root
virtual StatusCode initialize() override
virtual ~GeantFollowerHelper()
bool m_extrapolateDirectly
GeantFollowerHelper(const std::string &, const std::string &, const IInterface *)
virtual void trackParticle(const G4ThreeVector &pos, const G4ThreeVector &mom, int pdg, double charge, float t, float X0) override
virtual void endEvent() override
virtual StatusCode finalize() override
std::unique_ptr< TreeData > m_treeData
TTree * m_validationTree
Root Validation Tree.
const TrackParameters * m_parameterCache
bool m_extrapolateIncrementally
std::string m_validationTreeFolder
stream/folder to for the TTree to be written out
ToolHandle< IExtrapolator > m_extrapolator
std::string m_validationTreeDescription
validation tree description - second argument in TTree
const Amg::Vector3D & momentum() const
Access method for the momentum.
const Amg::Vector3D & position() const
Access method for the position.
Class for a planaer rectangular or trapezoidal surface in the ATLAS detector.
Eigen::Matrix< double, 3, 1 > Vector3D
CurvilinearParametersT< TrackParametersDim, Charged, PlaneSurface > CurvilinearParameters
ParametersBase< TrackParametersDim, Charged > TrackParameters