#include <FP420NumberingScheme.h>
|
virtual int | detectorLevel (const G4Step *) const |
|
virtual void | detectorLevel (const G4Step *, int &, int *, G4String *) const |
|
| FP420NumberingScheme () |
|
virtual unsigned int | getUnitID (const G4Step *aStep) const |
|
unsigned | packMYIndex (int rn0, int pn0, int sn0, int det, int zside, int sector, int zmodule) |
|
int | realzside (int rn0, int zsideinorder) |
|
int | unpackCopyIndex (int rn0, int zside) |
|
int | unpackLayerIndex (int rn0, int zside) |
|
void | unpackMYIndex (const int &idx, int rn0, int pn0, int sn0, int &det, int &zside, int §or, int &zmodule) |
|
int | unpackOrientation (int rn0, int zside) |
|
virtual | ~FP420NumberingScheme () |
|
|
static unsigned int | packFP420Index (int det, int zside, int station, int superplane) |
|
static void | unpackFP420Index (const unsigned int &idx, int &det, int &zside, int &station, int &superplane) |
|
Definition at line 18 of file FP420NumberingScheme.h.
FP420NumberingScheme::FP420NumberingScheme |
( |
| ) |
|
FP420NumberingScheme::~FP420NumberingScheme |
( |
| ) |
|
|
virtual |
int FP420NumberingScheme::detectorLevel |
( |
const G4Step * |
aStep | ) |
const |
|
virtual |
void FP420NumberingScheme::detectorLevel |
( |
const G4Step * |
aStep, |
|
|
int & |
level, |
|
|
int * |
copyno, |
|
|
G4String * |
name |
|
) |
| const |
|
virtual |
unsigned int FP420NumberingScheme::getUnitID |
( |
const G4Step * |
aStep | ) |
const |
|
virtual |
Definition at line 50 of file FP420NumberingScheme.cc.
References detectorLevel(), testEve_cfg::level, mergeVDriftHistosByStation::name, packFP420Index(), and relativeConstraints::station.
Referenced by FP420SD::setDetUnitId().
59 int* copyno =
new int[
level];
70 for (
int ich=0; ich <
level; ich++) {
86 if(name[ich] ==
"FP420E") {
88 }
else if(name[ich] ==
"HPS240E") {
89 det = copyno[ich] + 2 ;
90 }
else if(name[ich] ==
"FP420Ex1" || name[ich] ==
"HPS240Ex1") {
94 }
else if(name[ich] ==
"FP420Ex3" || name[ich] ==
"HPS240Ex3") {
96 }
else if(name[ich] ==
"SISTATION" || name[ich] ==
"HPS240SISTATION") {
98 }
else if(name[ich] ==
"SIPLANE" || name[ich] ==
"HPS240SIPLANE") {
108 }
else if(name[ich] ==
"SENSOR2" || name[ich] ==
"HPS240SENSOR2") {
111 zside = 3 * copyno[ich];
112 }
else if(name[ich] ==
"SENSOR1" || name[ich] ==
"HPS240SENSOR1") {
virtual int detectorLevel(const G4Step *) const
static unsigned int packFP420Index(int det, int zside, int station, int superplane)
unsigned FP420NumberingScheme::packFP420Index |
( |
int |
det, |
|
|
int |
zside, |
|
|
int |
station, |
|
|
int |
superplane |
|
) |
| |
|
static |
unsigned FP420NumberingScheme::packMYIndex |
( |
int |
rn0, |
|
|
int |
pn0, |
|
|
int |
sn0, |
|
|
int |
det, |
|
|
int |
zside, |
|
|
int |
sector, |
|
|
int |
zmodule |
|
) |
| |
|
inline |
Definition at line 42 of file FP420NumberingScheme.h.
45 int sScale = zScale*(pn0-1);
46 int dScale = sScale*(sn0-1);
48 unsigned int intindex = dScale*(det - 1)+sScale*(sector - 1)+zScale*(zmodule - 1)+zside;
int FP420NumberingScheme::realzside |
( |
int |
rn0, |
|
|
int |
zsideinorder |
|
) |
| |
|
inline |
Definition at line 101 of file FP420NumberingScheme.h.
108 if(zsideinorder<0) {zside = 0;}
109 else if(zsideinorder<4) {zside = 2*zsideinorder-1;}
110 else if(zsideinorder<7) {zside = 2*zsideinorder-6;}
116 if(zside>2) zsidereal=0;
121 if(zside==4 || zside==5) zsidereal=0;
int FP420NumberingScheme::unpackCopyIndex |
( |
int |
rn0, |
|
|
int |
zside |
|
) |
| |
|
inline |
Definition at line 75 of file FP420NumberingScheme.h.
References a, and b.
78 if(zside>(rn0-1) || zside<1) {
81 int layerIndex = 1,
b;
82 float a = (zside+1)/2.;
84 if(a-
b != 0.) layerIndex = 2;
85 if(layerIndex==2) copyIndex = zside/2;
86 if(layerIndex==1) copyIndex = (zside+1)/2;
void FP420NumberingScheme::unpackFP420Index |
( |
const unsigned int & |
idx, |
|
|
int & |
det, |
|
|
int & |
zside, |
|
|
int & |
station, |
|
|
int & |
superplane |
|
) |
| |
|
static |
int FP420NumberingScheme::unpackLayerIndex |
( |
int |
rn0, |
|
|
int |
zside |
|
) |
| |
|
inline |
Definition at line 64 of file FP420NumberingScheme.h.
References a, and b.
66 int layerIndex = 1,
b;
67 float a = (zside+1)/2.;
69 if(a-
b != 0.) layerIndex = 2;
71 if(zside>(rn0-1) || zside<1) layerIndex = 0;
void FP420NumberingScheme::unpackMYIndex |
( |
const int & |
idx, |
|
|
int |
rn0, |
|
|
int |
pn0, |
|
|
int |
sn0, |
|
|
int & |
det, |
|
|
int & |
zside, |
|
|
int & |
sector, |
|
|
int & |
zmodule |
|
) |
| |
|
inline |
Definition at line 53 of file FP420NumberingScheme.h.
56 int zScale=(rn0-1), sScale = (rn0-1)*(pn0-1), dScale = (rn0-1)*(pn0-1)*(sn0-1);
58 det = (
idx-1)/dScale + 1;
59 sector = (
idx-1- dScale*(det - 1))/sScale + 1;
60 zmodule = (
idx-1- dScale*(det - 1)- sScale*(sector - 1) )/ zScale + 1;
61 zside =
idx - dScale*(det - 1) - sScale*(sector - 1) - zScale*(zmodule - 1);
tuple idx
DEBUGGING if hasattr(process,"trackMonIterativeTracking2012"): print "trackMonIterativeTracking2012 D...
int FP420NumberingScheme::unpackOrientation |
( |
int |
rn0, |
|
|
int |
zside |
|
) |
| |
|
inline |
Definition at line 92 of file FP420NumberingScheme.h.
95 if(zside>(rn0-1) || zside<1) Orientation = 0;
96 if(zside==1 || zside==2) Orientation = 1;