8#ifndef GeantFollowerMSHelper_H
9#define GeantFollowerMSHelper_H
13#include "GaudiKernel/ToolHandle.h"
14#include "GaudiKernel/ServiceHandle.h"
18#include "G4ThreeVector.hh"
45 virtual StatusCode
finalize ()
override;
51 virtual void trackParticle(
const G4ThreeVector& pos,
const G4ThreeVector& mom,
int pdg,
double charge,
float t,
float X0)
override;
54 std::vector<const Trk::TrackStateOnSurface*>
56 double scaleX0,
double scaleEloss,
bool reposition,
57 bool aggregate,
bool updateEloss,
double caloEnergy,
58 double caloEnergyError,
double pCaloEntry,
59 double momentumError,
double & Eloss_tot)
const;
68 {
this,
"EnergyLossUpdator",
"Trk::EnergyLossUpdator/AtlasEnergyLossUpdator",
""};
double charge(const T &p)
const TrackParameters * m_parameterCacheCov
std::string m_validationTreeFolder
stream/folder to for the TTree to be written out
virtual StatusCode finalize() override
std::unique_ptr< TreeData > m_treeData
bool m_extrapolateDirectly
virtual void endEvent() override
std::vector< const Trk::TrackStateOnSurface * > modifyTSOSvector(const std::vector< const Trk::TrackStateOnSurface * > &matvec, double scaleX0, double scaleEloss, bool reposition, bool aggregate, bool updateEloss, double caloEnergy, double caloEnergyError, double pCaloEntry, double momentumError, double &Eloss_tot) const
modify TSOS vector
const TrackParameters * m_parameterCache
TTree * m_validationTree
Root Validation Tree.
static constexpr int MAXPROBES
const TrackParameters * m_parameterCacheEntry
GeantFollowerMSHelper(const std::string &, const std::string &, const IInterface *)
std::string m_validationTreeName
validation tree name - to be acessed by this from root
virtual void trackParticle(const G4ThreeVector &pos, const G4ThreeVector &mom, int pdg, double charge, float t, float X0) override
PlaneSurface m_destinationSurface
std::string m_validationTreeDescription
validation tree description - second argument in TTree
ToolHandle< IExtrapolator > m_extrapolator
virtual void beginEvent() override
const TrackParameters * m_parameterCacheEntryCov
virtual ~GeantFollowerMSHelper()
virtual StatusCode initialize() override
PublicToolHandle< IEnergyLossUpdator > m_elossupdator
bool m_extrapolateIncrementally
represents the full description of deflection and e-loss of a track in material.
This class is the pure abstract base class for all fittable tracking measurements.
Class for a planaer rectangular or trapezoidal surface in the ATLAS detector.
represents the track state (measurement, material, fit parameters and quality) at a surface.
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersBase< TrackParametersDim, Charged > TrackParameters
Ntuple variables : initial parameters Split this out into a separate, dynamically-allocated block.
float m_trk_ertheta[MAXPROBES]
int m_trk_scats
Scattering centra from Trk.
float m_trk_eloss10[MAXPROBES]
float m_g4_theta[MAXPROBES]
float m_g4_eta[MAXPROBES]
float m_trk_scaleeloss[MAXPROBES]
float m_trk_phi[MAXPROBES]
float m_trk_eloss5[MAXPROBES]
float m_trk_smeanIoni[500]
float m_trk_eta[MAXPROBES]
int m_trk_status[MAXPROBES]
Ntuple variables : trk follow up parameters.
float m_trk_ssigIoni[500]
float m_trk_x0[MAXPROBES]
int m_g4_steps
Ntuple variables : g4 step parameters.
float m_trk_erz0[MAXPROBES]
float m_trk_scalex0[MAXPROBES]
float m_trk_eloss[MAXPROBES]
float m_g4_tX0[MAXPROBES]
float m_trk_theta[MAXPROBES]
float m_trk_ssigTheta[500]
float m_trk_eloss0[MAXPROBES]
float m_trk_ly[MAXPROBES]
float m_trk_erphi[MAXPROBES]
float m_trk_erqoverp[MAXPROBES]
float m_trk_erd0[MAXPROBES]
float m_g4_phi[MAXPROBES]
float m_trk_eloss1[MAXPROBES]
float m_trk_lx[MAXPROBES]
float m_trk_smeanRad[500]