5#ifndef ACTSGEOMETRY_MATERIALTRACKRECORDER_H
6#define ACTSGEOMETRY_MATERIALTRACKRECORDER_H
11#include "Acts/Definitions/Algebra.hpp"
12#include "Acts/Definitions/Units.hpp"
13#include "CLHEP/Units/SystemOfUnits.h"
15#include "G4UserEventAction.hh"
16#include "G4UserRunAction.hh"
17#include "G4UserSteppingAction.hh"
18#include "G4ThreeVector.hh"
35 public G4UserRunAction,
public G4UserSteppingAction
57 (Acts::UnitConstants::g / Acts::UnitConstants::mm3) / (CLHEP::gram / CLHEP::mm3);
69 return Acts::Vector3{g4vec[0], g4vec[1], g4vec[2]};
virtual void UserSteppingAction(const G4Step *) override
static constexpr double s_convertDensity
Acts::Vector3 convertPosition(const G4ThreeVector &g4vec)
Useful fuction for position coversion.
static constexpr double s_convertLength
Conversion constants.
virtual void EndOfEventAction(const G4Event *) override
Config m_cfg
The config class.
Acts::Vector3 convertDirection(const G4ThreeVector &g4vec)
Useful fuction for direction coversion.
virtual void BeginOfRunAction(const G4Run *) override
virtual void BeginOfEventAction(const G4Event *) override
MaterialTrackRecorder(const Config &config)
RecordedMaterialTrackCollection * m_rmtCollection
Pointer to the collection, non-owning.
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
std::vector< RecordedMaterialTrack > RecordedMaterialTrackCollection
std::vector< std::string > excludeMaterials
std::string materialTrackCollectionName
Output collection name for recorded material tracks.