28 const std::shared_ptr<GOptions>&
goptions);
32 void Initialize(G4HCofThisEvent* g4hc)
override;
33 G4bool
ProcessHits(G4Step* thisStep, G4TouchableHistory* g4th)
override;
34 void EndOfEvent(G4HCofThisEvent* g4HitCollection)
override;
36 void assign_digi_routine(std::shared_ptr<GDynamicDigitization> digi_routine) { digitization_routine = digi_routine; }
41 std::shared_ptr<GDynamicDigitization> digitization_routine;
49 std::map<std::string, std::shared_ptr<GTouchable>> gTouchableMap;
55 inline std::shared_ptr<GTouchable> getGTouchable(
const G4Step* thisStep) {
56 std::string vname = thisStep->GetPreStepPoint()->GetTouchable()->GetVolume()->GetName();
58 auto it = gTouchableMap.find(vname);
59 if (it != gTouchableMap.end()) {
return it->second; }
66 std::vector<GTouchable> touchableVector;
69 bool isThisANewTouchable(
const std::shared_ptr<GTouchable>& thisTouchable);
77 GHit* getHitInHitCollectionUsingTouchable(
const std::shared_ptr<GTouchable>&
gtouchable);
84 log->
info(2,
"Registering touchable gvolume <" + name +
"> with value: " + gt->getIdentityString());
86 gTouchableMap[name] = gt;