Go to the documentation of this file. 1 #ifndef TrackingMaterialProducer_h
2 #define TrackingMaterialProducer_h
10 #include "G4LogicalVolume.hh"
26 class G4VPhysicalVolume;
27 class G4LogicalVolume;
28 class G4TouchableHistory;
36 public Observer<const BeginOfEvent*>,
37 public Observer<const BeginOfTrack*>,
48 void update(
const G4Step*)
override;
50 void update(
const EndOfJob*)
override;
64 std::vector<MaterialAccountingTrack>*
m_tracks;
76 #endif // TrackingMaterialProducer_h
bool isSelectedFast(const G4TouchableHistory *touch)
std::vector< MaterialAccountingTrack > * m_tracks
std::vector< std::string > m_selectedNames
std::ofstream outVolumeZpositionTxt
static constexpr float outerHFnoseEta
TProfile * radLen_vs_eta_
bool isSelected(const G4VTouchable *touch)
static constexpr float outerHGCalEta
const G4VPhysicalVolume * m_track_volume
static constexpr float innerHFnoseEta
void update(const BeginOfJob *) override
This routine will be called when the appropriate signal arrives.
static constexpr float innerHGCalEta
~TrackingMaterialProducer() override
MaterialAccountingTrack m_track
TrackingMaterialProducer(const edm::ParameterSet &)
void produce(edm::Event &, const edm::EventSetup &) override
std::vector< const G4LogicalVolume * > m_selectedVolumes