1 #ifndef ND280GeomIdDef_hxx_seen 2 #define ND280GeomIdDef_hxx_seen 21 #define MAKE_MASK(msb,lsb) (((1<<(((msb)-(lsb))+1))-1)<<(lsb)) 43 = MAKE_MASK(kReserved1MSB,kReserved1LSB);
54 = MAKE_MASK(kDetectorIdMSB,kDetectorIdLSB);
113 const GeomIdBit kSeqIdLSB = kSeqIdMSB - 3;
114 const GeomIdMask kSeqIdMask = MAKE_MASK(kSeqIdMSB,kSeqIdLSB);
130 const GeomIdBit kSeqIdMSB = Def::P0D::kSeqIdLSB-1;
131 const GeomIdBit kSeqIdLSB = kSeqIdMSB-7;
132 const GeomIdMask kSeqIdMask=MAKE_MASK(kSeqIdMSB,kSeqIdLSB);
152 const GeomIdBit kFieldLSB = 0;
153 const GeomIdMask kFieldMask=MAKE_MASK(kFieldMSB,kFieldLSB);
170 const GeomIdBit kSP0DuleLSB = kSP0DuleMSB-2;
171 const GeomIdMask kSP0DuleMask = MAKE_MASK(kSP0DuleMSB,
178 const GeomIdBit kLayerLSB = kLayerMSB;
179 const GeomIdMask kLayerMask=MAKE_MASK(kLayerMSB,kLayerLSB);
185 const GeomIdBit kP0DuleLSB = kP0DuleMSB-5;
186 const GeomIdMask kP0DuleMask = MAKE_MASK(kP0DuleMSB,
194 const GeomIdBit kBarLSB = kBarMSB-10;
195 const GeomIdMask kBarMask = MAKE_MASK(kBarMSB,kBarLSB);
216 const GeomIdBit kSeqIdLSB = kSeqIdMSB - 3;
217 const GeomIdMask kSeqIdMask = MAKE_MASK(kSeqIdMSB,kSeqIdLSB);
222 const GeomIdBit kSeqIdMSB = Def::TPC::kSeqIdLSB-1;
223 const GeomIdBit kSeqIdLSB = kSeqIdMSB-7;
224 const GeomIdMask kSeqIdMask=MAKE_MASK(kSeqIdMSB,kSeqIdLSB);
234 const GeomIdBit kFieldLSB = 0;
235 const GeomIdMask kFieldMask=MAKE_MASK(kFieldMSB,kFieldLSB);
251 const GeomIdBit
kTPCMSB = Def::TPC::kSeqIdLSB-1;
252 const GeomIdBit kTPCLSB = kTPCMSB-2;
253 const GeomIdMask kTPCMask = MAKE_MASK(kTPCMSB, kTPCLSB);
258 const GeomIdBit kHalfLSB = kHalfMSB;
259 const GeomIdMask kHalfMask = MAKE_MASK(kHalfMSB, kHalfLSB);
265 const GeomIdBit kPadFlagLSB = kPadFlagMSB;
266 const GeomIdMask kPadFlagMask =
267 MAKE_MASK(kPadFlagMSB,kPadFlagLSB);
273 const GeomIdBit kMMegaLSB = kMMegaMSB-4;
274 const GeomIdMask kMMegaMask=MAKE_MASK(kMMegaMSB,kMMegaLSB);
280 const GeomIdBit kPadLSB = kPadMSB-10;
281 const GeomIdMask kPadMask = MAKE_MASK(kPadMSB,kPadLSB);
302 const GeomIdBit kSeqIdLSB = kSeqIdMSB - 3;
303 const GeomIdMask kSeqIdMask = MAKE_MASK(kSeqIdMSB,kSeqIdLSB);
319 const GeomIdBit kSeqIdMSB = Def::FGD::kSeqIdLSB-1;
320 const GeomIdBit kSeqIdLSB = kSeqIdMSB-7;
321 const GeomIdMask kSeqIdMask=MAKE_MASK(kSeqIdMSB,kSeqIdLSB);
335 const GeomIdBit kFieldLSB = 0;
336 const GeomIdMask kFieldMask=MAKE_MASK(kFieldMSB,kFieldLSB);
353 const GeomIdBit kFGDLSB = kFGDMSB-2;
354 const GeomIdMask kFGDMask = MAKE_MASK(kFGDMSB,
360 const GeomIdBit kLayerMSB = kFGDLSB-1;
361 const GeomIdBit kLayerLSB = kLayerMSB;
362 const GeomIdMask kLayerMask=MAKE_MASK(kLayerMSB,
370 const GeomIdBit kModuleLSB = kModuleMSB-8;
371 const GeomIdMask kModuleMask = MAKE_MASK(kModuleMSB,
392 const GeomIdBit kModuleMSB = Def::FGD::kSeqIdLSB-1;
393 const GeomIdBit kModuleLSB = kModuleMSB-2;
394 const GeomIdMask kModuleMask = MAKE_MASK(kModuleMSB,
400 const GeomIdBit kLayerMSB = kModuleLSB-1;
401 const GeomIdBit kLayerLSB = kLayerMSB;
402 const GeomIdMask kLayerMask=MAKE_MASK(kLayerMSB,kLayerLSB);
408 const GeomIdBit kPlaneLSB = kPlaneMSB-5;
409 const GeomIdMask kPlaneMask = MAKE_MASK(kPlaneMSB,
415 const GeomIdBit kBarMSB = kPlaneLSB-1;
416 const GeomIdBit kBarLSB = kBarMSB-10;
417 const GeomIdMask kBarMask = MAKE_MASK(kBarMSB,kBarLSB);
450 const GeomIdBit kSeqIdLSB = kSeqIdMSB - 3;
451 const GeomIdMask kSeqIdMask = MAKE_MASK(kSeqIdMSB,kSeqIdLSB);
460 const int kNoModule = kBottomModule;
467 const int kNoClam = kNegXClam;
473 const GeomIdBit kModuleMSB = kSeqIdLSB-1;
474 const GeomIdBit kModuleLSB = kModuleMSB-2;
475 const GeomIdMask kModuleMask = MAKE_MASK(kModuleMSB,
493 const GeomIdBit kSeqIdMSB = Def::ECal::kModuleLSB-1;
494 const GeomIdBit kSeqIdLSB = kSeqIdMSB-3;
495 const GeomIdMask kSeqIdMask=MAKE_MASK(kSeqIdMSB,kSeqIdLSB);
514 const GeomIdBit kFieldLSB = 0;
515 const GeomIdMask kFieldMask=MAKE_MASK(kFieldMSB,kFieldLSB);
529 const GeomIdBit kLayerMSB = Def::ECal::kModuleLSB-1;
530 const GeomIdBit kLayerLSB = kLayerMSB-5;
531 const GeomIdMask kLayerMask = MAKE_MASK(kLayerMSB,
537 const GeomIdBit kBarMSB = kLayerLSB-1;
538 const GeomIdBit kBarLSB = kBarMSB-11;
539 const GeomIdMask kBarMask = MAKE_MASK(kBarMSB,kBarLSB);
570 const GeomIdBit kSeqIdLSB = kSeqIdMSB - 3;
571 const GeomIdMask kSeqIdMask = MAKE_MASK(kSeqIdMSB,kSeqIdLSB);
586 const GeomIdBit kSeqIdMSB = Def::SMRD::kSeqIdLSB-1;
587 const GeomIdBit kSeqIdLSB = kSeqIdMSB-7;
588 const GeomIdMask kSeqIdMask=MAKE_MASK(kSeqIdMSB,kSeqIdLSB);
598 const GeomIdBit kFieldLSB = 0;
599 const GeomIdMask kFieldMask=MAKE_MASK(kFieldMSB,kFieldLSB);
615 const GeomIdBit kClamLSB = kClamMSB;
616 const GeomIdMask kClamMask = MAKE_MASK(kClamMSB,
623 const GeomIdBit kYokeLSB = kYokeMSB-3;
624 const GeomIdMask kYokeMask=MAKE_MASK(kYokeMSB,kYokeLSB);
629 const GeomIdBit kLayerMSB = kYokeLSB-1;
630 const GeomIdBit kLayerLSB = kLayerMSB-3;
631 const GeomIdMask kLayerMask = MAKE_MASK(kLayerMSB,
638 const GeomIdBit kSlotLSB = kSlotMSB-3;
639 const GeomIdMask kSlotMask = MAKE_MASK(kSlotMSB,
657 const GeomIdBit kClamMSB = Def::SMRD::kSeqIdLSB-1;
658 const GeomIdBit kClamLSB = kClamMSB;
659 const GeomIdMask kClamMask = MAKE_MASK(kClamMSB,kClamLSB);
664 const GeomIdBit kYokeMSB = kClamLSB-1;
665 const GeomIdBit kYokeLSB = kYokeMSB-3;
666 const GeomIdMask kYokeMask=MAKE_MASK(kYokeMSB,kYokeLSB);
671 const GeomIdBit kLayerMSB = kYokeLSB-1;
672 const GeomIdBit kLayerLSB = kLayerMSB-3;
673 const GeomIdMask kLayerMask = MAKE_MASK(kLayerMSB,
679 const GeomIdBit kSlotMSB = kLayerLSB-1;
680 const GeomIdBit kSlotLSB = kSlotMSB-3;
681 const GeomIdMask kSlotMask = MAKE_MASK(kSlotMSB,kSlotLSB);
686 const GeomIdBit kBarMSB = kSlotLSB-1;
687 const GeomIdBit kBarLSB = kBarMSB-7;
688 const GeomIdMask kBarMask = MAKE_MASK(kBarMSB,kBarLSB);
724 const GeomIdBit kIngridObjIDLSB = kIngridObjIDMSB - 1;
725 const GeomIdMask kIngridObjIDMask = MAKE_MASK(kIngridObjIDMSB,
731 const GeomIdBit kIngridModNumLSB = kIngridModNumMSB - 7;
732 const GeomIdMask kIngridModNumMask =MAKE_MASK(kIngridModNumMSB,
738 const GeomIdBit kIngridTrkNumLSB = kIngridTrkNumMSB - 6;
739 const GeomIdMask kIngridTrkNumMask =MAKE_MASK(kIngridTrkNumMSB,
753 const GeomIdBit kIngridProjLSB = kIngridProjMSB;
754 const GeomIdMask kIngridProjMask = MAKE_MASK(kIngridProjMSB,
760 const GeomIdBit kIngridSciNumLSB = kIngridSciNumMSB - 6;
761 const GeomIdMask kIngridSciNumMask =MAKE_MASK(kIngridSciNumMSB,
764 #undef MAKE_FIELD_MASK
One of the super-P0Dules.
const GeomIdBit kFieldMSB
The sequence value for this type of global volume.
One of the ECal Radiators.
const GeomIdMask kReserved1Mask
const GeomIdBit kPlaneMSB
TPCSeqId
Define the sequences required in the TPC.
const GeomIdBit kSeqIdMSB
const GeomIdBit kDetectorIdLSB
The least significant bit of the detector identifier.
const GeomIdBit kIngridSciNumMSB
const GeomIdBit kPadFlagMSB
const GeomIdBit kIngridObjIDMSB
const GeomIdBit kModuleMSB
IngridScintillatorDirectionID
Define the scintillators directions.
const GeomIdBit kSubDetectorMSB
const GeomIdBit kFieldMSB
The sequence value for this type of global volume.
const GeomIdBit kSP0DuleMSB
P0DSeqId
Define the sequences required in the P0D.
const GeomIdBit kIngridTrkNumMSB
const GeomIdBit kHalfMSB
The half of the drift volume.
ECalModules
Define the module names.
INGRIDObjID
Define the identifiers for the object.
SRMDSeqId
Define the sequences required in the SRMD.
const GeomIdMask kEmptyId
const GeomIdBit kMMegaMSB
const GeomIdBit kDetectorIdMSB
A special case for one of a kind global volumes.
One of the brass target radiators.
const GeomIdMask kDetectorIdMask
The mask to select the detector identifier.
One of the water target modules.
unsigned long GeomIdMask
A bitwise mask for a field;.
ECalSeqId
Define the sequences required in the ECal.
const GeomIdBit kLayerMSB
const GeomIdBit kFieldMSB
The sequence value for this type of global volume.
unsigned long GeomIdBit
Bit number. The bits are counted 0 (LSB) to 31 (MSB)
const GeomIdMask kSubDetectorMask
The mask to select the sub-detector detector fields.
const GeomIdBit kP0DuleMSB
const GeomIdBit kReserved1LSB
const GeomIdBit kSubDetectorLSB
const GeomIdBit kIngridProjMSB
const GeomIdBit kReserved1MSB
The most significant bit of the reserved guard bit.
FGDSeqId
Define the sequences required in the FGD.
const GeomIdBit kIngridModNumMSB
The sequence for all of the modules in the SMRD.
MagnetClams
Define the magnet clam names.
A special case for one of a kind global volumes.
const GeomIdBit kTPCMSB
The TPC withing the tracker. 0) TPC1 1) TPC2 2) TPC3.
const GeomIdBit kSlotMSB
The slot within a layer.
const GeomIdBit kSeqIdMSB