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
static constexpr float innerHGCalEta
MaterialAccountingTrack m_track
TProfile * radLen_vs_eta_
static constexpr float outerHFnoseEta
TrackingMaterialProducer(const edm::ParameterSet &)
static constexpr float outerHGCalEta
const G4VPhysicalVolume * m_track_volume
std::vector< MaterialAccountingTrack > * m_tracks
static constexpr float innerHFnoseEta
~TrackingMaterialProducer() override
std::ofstream outVolumeZpositionTxt
std::vector< std::string > m_selectedNames
std::vector< const G4LogicalVolume * > m_selectedVolumes
void produce(edm::Event &, const edm::EventSetup &) override
void update(const BeginOfJob *) override
This routine will be called when the appropriate signal arrives.
bool isSelected(const G4VTouchable *touch)
bool isSelectedFast(const G4TouchableHistory *touch)