9 #include "CLHEP/Units/GlobalSystemOfUnits.h"
27 const G4VTouchable* touch = aStep->GetPreStepPoint()->GetTouchable();
29 if (touch) level = ((touch->GetHistoryDepth())+1);
34 int* copyno, G4String*
name)
const {
38 const G4VTouchable* touch = aStep->GetPreStepPoint()->GetTouchable();
39 for (
int ii = 0; ii <
level; ii++) {
40 int i = level - ii - 1;
41 name[ii] = touch->GetVolume(i)->GetName();
42 copyno[ii] = touch->GetReplicaNumber(i);
59 int* copyno =
new int[
level];
70 for (
int ich=0; ich <
level; ich++) {
86 if(name[ich] ==
"FP420E") {
88 }
else if(name[ich] ==
"FP420Ex1") {
92 }
else if(name[ich] ==
"FP420Ex3") {
94 }
else if(name[ich] ==
"SISTATION") {
96 }
else if(name[ich] ==
"SIPLANE") {
106 }
else if(name[ich] ==
"SENSOR2") {
109 zside = 3 * copyno[ich];
110 }
else if(name[ich] ==
"SENSOR1") {
149 unsigned int idx = ((det-1)&1)<<20;
152 idx += (station&7)<<4;
175 station = (idx>>4)&7;
virtual int detectorLevel(const G4Step *) const
static void unpackFP420Index(const unsigned int &idx, int &det, int &zside, int &station, int &superplane)
virtual ~FP420NumberingScheme()
virtual unsigned int getUnitID(const G4Step *aStep) const
static unsigned int packFP420Index(int det, int zside, int station, int superplane)