10 #include <CLHEP/Units/SystemOfUnits.h> 22 unsigned intindex = 0;
23 const G4VTouchable* touch = aStep->GetPreStepPoint()->GetTouchable();
24 int level = (
nullptr != touch) ? touch->GetHistoryDepth() + 1 : 0;
35 for (
int ich = 0; ich <
level; ich++) {
37 const G4String&
name = touch->GetVolume(
i)->GetName();
38 int copyno = touch->GetReplicaNumber(
i);
41 if (
name ==
"FP420E") {
43 }
else if (
name ==
"HPS240E") {
45 }
else if (
name ==
"FP420Ex1" ||
name ==
"HPS240Ex1") {
47 }
else if (
name ==
"FP420Ex3" ||
name ==
"HPS240Ex3") {
49 }
else if (
name ==
"SISTATION" ||
name ==
"HPS240SISTATION") {
51 }
else if (
name ==
"SIPLANE" ||
name ==
"HPS240SIPLANE") {
61 }
else if (
name ==
"SENSOR2" ||
name ==
"HPS240SENSOR2") {
63 }
else if (
name ==
"SENSOR1" ||
name ==
"HPS240SENSOR1") {
68 <<
"ich=" << ich <<
" copyno=" << copyno <<
" name=" <<
name;
82 <<
" plane=" << plane;
89 unsigned int idx = ((det - 1) & 3) << 19;
96 <<
" plane " << plane <<
" idx " <<
idx;
103 det = (
idx >> 19) & 3;
112 <<
" plane " << plane;
Log< level::Info, true > LogVerbatim
static void unpackFP420Index(const unsigned int &idx, int &det, int &zside, int &station, int &superplane)
static unsigned int packFP420Index(int det, int zside, int station, int superplane)
unsigned int getUnitID(const G4Step *aStep) const