7 #ifndef FP420NumberingScheme_h 8 #define FP420NumberingScheme_h 20 virtual unsigned int getUnitID(
const G4Step* aStep)
const;
24 virtual void detectorLevel(
const G4Step*,
int&,
int*, G4String*)
const;
36 int zScale = (rn0 - 1);
37 int sScale = zScale * (pn0 - 1);
38 int dScale = sScale * (sn0 - 1);
40 unsigned int intindex = dScale * (det - 1) + sScale * (
sector - 1) + zScale * (zmodule - 1) +
zside;
46 int zScale = (rn0 - 1), sScale = (rn0 - 1) * (pn0 - 1), dScale = (rn0 - 1) * (pn0 - 1) * (sn0 - 1);
48 det = (
idx - 1) / dScale + 1;
49 sector = (
idx - 1 - dScale * (det - 1)) / sScale + 1;
50 zmodule = (
idx - 1 - dScale * (det - 1) - sScale * (
sector - 1)) / zScale + 1;
51 zside =
idx - dScale * (det - 1) - sScale * (
sector - 1) - zScale * (zmodule - 1);
56 int layerIndex = 1,
b;
57 float a = (
zside + 1) / 2.;
72 int layerIndex = 1,
b;
73 float a = (
zside + 1) / 2.;
78 copyIndex =
zside / 2;
80 copyIndex = (
zside + 1) / 2;
103 int zside, zsidereal;
104 if (zsideinorder < 0) {
106 }
else if (zsideinorder < 4) {
107 zside = 2 * zsideinorder - 1;
108 }
else if (zsideinorder < 7) {
109 zside = 2 * zsideinorder - 6;
static int unpackCopyIndex(int rn0, int zside)
static int realzside(int rn0, int zsideinorder)
static void unpackFP420Index(const unsigned int &idx, int &det, int &zside, int &station, int &superplane)
virtual int detectorLevel(const G4Step *) const
virtual ~FP420NumberingScheme()
static int unpackLayerIndex(int rn0, int zside)
static void unpackMYIndex(const int &idx, int rn0, int pn0, int sn0, int &det, int &zside, int §or, int &zmodule)
static unsigned packMYIndex(int rn0, int pn0, int sn0, int det, int zside, int sector, int zmodule)
static unsigned int packFP420Index(int det, int zside, int station, int superplane)
virtual unsigned int getUnitID(const G4Step *aStep) const
static int unpackOrientation(int rn0, int zside)