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;
37 static unsigned packMYIndex(
int rn0,
int pn0,
int sn0,
int det,
int zside,
int sector,
int zmodule) {
38 int zScale = (rn0 - 1);
39 int sScale = zScale * (pn0 - 1);
40 int dScale = sScale * (sn0 - 1);
42 unsigned int intindex = dScale * (det - 1) + sScale * (sector - 1) + zScale * (zmodule - 1) +
zside;
47 static void unpackMYIndex(
const int&
idx,
int rn0,
int pn0,
int sn0,
int& det,
int&
zside,
int& sector,
int& zmodule) {
48 int zScale = (rn0 - 1), sScale = (rn0 - 1) * (pn0 - 1), dScale = (rn0 - 1) * (pn0 - 1) * (sn0 - 1);
50 det = (
idx - 1) / dScale + 1;
51 sector = (
idx - 1 - dScale * (det - 1)) / sScale + 1;
52 zmodule = (
idx - 1 - dScale * (det - 1) - sScale * (sector - 1)) / zScale + 1;
53 zside =
idx - dScale * (det - 1) - sScale * (sector - 1) - zScale * (zmodule - 1);
58 int layerIndex = 1,
b;
59 float a = (
zside + 1) / 2.;
74 int layerIndex = 1,
b;
75 float a = (
zside + 1) / 2.;
80 copyIndex =
zside / 2;
82 copyIndex = (
zside + 1) / 2;
105 int zside, zsidereal;
106 if (zsideinorder < 0) {
108 }
else if (zsideinorder < 4) {
109 zside = 2 * zsideinorder - 1;
110 }
else if (zsideinorder < 7) {
111 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)