3#include "G4LogicalVolume.hh"
9namespace volumechecks {
23inline bool isInEcal(G4LogicalVolume* vol,
const std::string& vol_to_bias) {
24 const G4String& volume_name = vol->GetName();
25 return ((volume_name.contains(
"Si") || volume_name.contains(
"W") ||
26 volume_name.contains(
"PCB") || volume_name.contains(
"strongback") ||
27 volume_name.contains(
"Glue") || volume_name.contains(
"CFMix") ||
28 volume_name.contains(
"Al") || volume_name.contains(
"C")) &&
29 volume_name.contains(
"volume")) ||
30 (volume_name.contains(
"nohole_motherboard"));
41inline bool isInHcal(G4LogicalVolume* vol,
const std::string& vol_to_bias) {
42 const G4String& volume_name = vol->GetName();
43 return ((volume_name.contains(
"abso") || volume_name.contains(
"ScintBox") ||
44 volume_name.contains(
"scint")) &&
45 volume_name.contains(
"hcal") && volume_name.contains(
"olume"));
59inline bool isInEcalOld(G4LogicalVolume* vol,
const std::string& vol_to_bias) {
60 const G4String& volume_name = vol->GetName();
61 return ((volume_name.contains(
"Si") || volume_name.contains(
"W")) &&
62 volume_name.contains(
"volume"));
73inline bool isInTargetRegion(G4LogicalVolume* vol,
74 const std::string& vol_to_bias) {
75 auto region = vol->GetRegion();
76 return (region and region->GetName().contains(
"target"));
89inline bool isInTargetOnly(G4LogicalVolume* vol,
90 const std::string& vol_to_bias) {
91 return vol->GetName().contains(
"target");
106inline bool nameContains(G4LogicalVolume* vol,
const std::string& vol_to_bias) {
107 return vol->GetName().contains(vol_to_bias);
This namespace is meant to contain all the standard user actions that allow a Geant4 user to interfac...
Dynamically loadable photonuclear models either from SimCore or external libraries implementing this ...