CMS 3D CMS Logo

ConstantsForHardwareSystems.h
Go to the documentation of this file.
1 
2 #ifndef DataFormats_SiStripCommon_ConstantsForHardwareSystems_H
3 #define DataFormats_SiStripCommon_ConstantsForHardwareSystems_H
4 
7 
13 namespace sistrip {
14 
15  // -------------------- FED misc --------------------
16 
17  static const uint16_t FED_ADC_RANGE = 0x400; // 1024
18 
19  // -------------------- FED ids --------------------
20 
21  static const uint16_t FED_ID_MIN = static_cast<uint16_t>(FEDNumbering::MINSiStripFEDID);
22  static const uint16_t FED_ID_MAX = static_cast<uint16_t>(FEDNumbering::MAXSiStripFEDID);
23  static const uint16_t CMS_FED_ID_MAX = static_cast<uint16_t>(FEDNumbering::MAXFEDID);
24  static const uint16_t NUMBER_OF_FEDS = static_cast<uint16_t>(FED_ID_MAX - FED_ID_MIN + 1);
25 
26  // -------------------- FEDs to channels --------------------
27 
28  static const uint16_t FEDCH_PER_FEUNIT = 12;
29  static const uint16_t FEUNITS_PER_FED = 8;
30  static const uint16_t FEDCH_PER_FED = FEDCH_PER_FEUNIT * FEUNITS_PER_FED; // 96
31 
32  // -------------------- Front-end devices --------------------
33 
34  static const uint16_t APVS_PER_FEDCH = 2;
35  static const uint16_t APVS_PER_FEUNIT = APVS_PER_FEDCH * FEDCH_PER_FEUNIT; // 24
36  static const uint16_t APVS_PER_FED = APVS_PER_FEUNIT * FEUNITS_PER_FED; // 194
37 
38  static const uint16_t APVS_PER_CHAN = 2;
39  static const uint16_t CHANS_PER_LLD = 3;
40 
41  // -------------------- Detector strips --------------------
42 
43  static const uint16_t STRIPS_PER_APV = 128;
44  static const uint16_t STRIPS_PER_FEDCH = STRIPS_PER_APV * APVS_PER_FEDCH;
45  static const uint16_t STRIPS_PER_FEUNIT = STRIPS_PER_FEDCH * FEDCH_PER_FEUNIT; // 3072
46  static const uint16_t STRIPS_PER_FED = STRIPS_PER_FEUNIT * FEUNITS_PER_FED; // 24576
47  static constexpr float MeVperADCStrip = 9.5665E-4;
48 
49  // -------------------- FED buffers --------------------
50 
51  static const uint16_t DAQ_HDR_SIZE = 8;
52  static const uint16_t TRK_HDR_SIZE = 8;
53  static const uint16_t FE_HDR_SIZE = 16;
54  static const uint16_t APV_ERROR_HDR_SIZE = 24;
55  static const uint16_t FULL_DEBUG_HDR_SIZE = 8 * FE_HDR_SIZE;
56 
57  // -------------------- Control system --------------------
58 
59  //static const uint16_t FEC_CRATE_OFFSET = 1; //@@ temporary
60  //static const uint16_t FEC_RING_OFFSET = 1; //@@ temporary
61 
62  static const uint16_t FEC_RING_MIN = 1;
63  static const uint16_t FEC_RING_MAX = 8;
64 
65  static const uint16_t CCU_ADDR_MIN = 1;
66  static const uint16_t CCU_ADDR_MAX = 127;
67 
68  static const uint16_t CCU_CHAN_MIN = 16;
69  static const uint16_t CCU_CHAN_MAX = 31;
70 
71  static const uint16_t LLD_CHAN_MIN = 1;
72  static const uint16_t LLD_CHAN_MAX = 3;
73 
74  static const uint16_t APV_I2C_MIN = 32;
75  static const uint16_t APV_I2C_MAX = 37;
76 
77  // -------------------- VME crates --------------------
78 
79  static const uint16_t SLOTS_PER_CRATE = 20;
80 
81  static const uint16_t CRATE_SLOT_MIN = 2; // slot 1 is reserved for VME controller
82  static const uint16_t CRATE_SLOT_MAX = 21;
83 
84  static const uint16_t MAX_FEDS_PER_CRATE = 16;
85  static const uint16_t MAX_FECS_PER_CRATE = 20;
86 
87  static const uint16_t FED_CRATE_MIN = 1;
88  static const uint16_t FED_CRATE_MAX = 60;
89 
90  static const uint16_t FEC_CRATE_MIN = 1;
91  static const uint16_t FEC_CRATE_MAX = 4;
92 
93  // -------------------- String constants --------------------
94 
95  static const char unknownApvReadoutMode_[] = "UnknownApvReadoutMode";
96  static const char undefinedApvReadoutMode_[] = "UndefinedApvReadoutMode";
97 
98  static const char apvPeakMode_[] = "ApvPeakMode";
99  static const char apvDeconMode_[] = "ApvDeconMode";
100  static const char apvMultiMode_[] = "ApvMultiMode";
101 
102  static const char unknownFedReadoutMode_[] = "UnknownFedReadoutMode";
103  static const char undefinedFedReadoutMode_[] = "UndefinedFedReadoutMode";
104 
105  static const char fedScopeMode_[] = "FedScopeMode";
106  static const char fedVirginRaw_[] = "FedVirginRaw";
107  static const char fedProcRaw_[] = "FedProcessedRaw";
108  static const char fedZeroSuppr_[] = "FedZeroSuppressed";
109  static const char fedZeroSupprCMO_[] = "FedZeroSuppressedCMOverride";
110  static const char fedZeroSupprLite_[] = "FedZeroSupprressedLite";
111  static const char fedZeroSupprLiteCMO_[] = "FedZeroSuppressedLiteCMOverride";
112  static const char fedZeroSupprLite8TT_[] = "FedZeroSuppressedLite8TT";
113  static const char fedZeroSupprLite8TTCMO_[] = "FedZeroSuppressedLite8TTCMOverride";
114  static const char fedZeroSupprLite8TB_[] = "FedZeroSuppressedLite8TB";
115  static const char fedZeroSupprLite8TBCMO_[] = "FedZeroSuppressedLite8TBCMOverride";
116  static const char fedZeroSupprLite8BB_[] = "FedZeroSuppressedLite8BB";
117  static const char fedZeroSupprLite8BBCMO_[] = "FedZeroSuppressedLite8BBCMOverride";
118  static const char fedPreMixRaw_[] = "FedPreMixRaw";
119 
120  // -------------------- Enumerators --------------------
121 
128  };
129 
146  };
147 
153  };
154 
160  };
161 
165  REAL = 0,
166  FAKE = 1
167  };
168 
169 } // namespace sistrip
170 
171 #endif // DataFormats_SiStripCommon_ConstantsForHardwareSystems_H
static const uint16_t APVS_PER_FEUNIT
static const uint16_t STRIPS_PER_FEUNIT
static const uint16_t APV_I2C_MIN
static const char apvDeconMode_[]
static const uint16_t NUMBER_OF_FEDS
static const uint16_t FED_ID_MIN
static const uint16_t FED_CRATE_MIN
static const uint16_t CCU_ADDR_MAX
static const uint16_t CCU_CHAN_MAX
static const uint16_t TRK_HDR_SIZE
static const uint16_t CCU_CHAN_MIN
static const uint16_t LLD_CHAN_MIN
static const uint16_t LLD_CHAN_MAX
static const uint16_t FED_CRATE_MAX
static const uint16_t CMS_FED_ID_MAX
static const uint16_t FEC_CRATE_MIN
static const uint16_t FED_ADC_RANGE
static const uint16_t CRATE_SLOT_MAX
static const char fedZeroSupprLite8BB_[]
static const char fedZeroSupprLite_[]
static const char fedZeroSupprCMO_[]
sistrip classes
static const uint16_t FEC_RING_MAX
static const uint16_t FEC_CRATE_MAX
static const uint16_t STRIPS_PER_FED
static const uint16_t FULL_DEBUG_HDR_SIZE
static const uint16_t CCU_ADDR_MIN
static const uint16_t SLOTS_PER_CRATE
static const uint16_t MAX_FECS_PER_CRATE
static const uint16_t FEUNITS_PER_FED
static const uint16_t MAX_FEDS_PER_CRATE
static const char fedProcRaw_[]
static const uint16_t CHANS_PER_LLD
static const char fedVirginRaw_[]
static const char unknownFedReadoutMode_[]
static const char fedScopeMode_[]
static const char fedZeroSupprLite8TB_[]
static const uint16_t FEC_RING_MIN
static const char undefinedFedReadoutMode_[]
static const uint16_t CRATE_SLOT_MIN
static const uint16_t STRIPS_PER_FEDCH
static const uint16_t APVS_PER_FED
static const uint16_t FEDCH_PER_FEUNIT
static const char fedZeroSupprLiteCMO_[]
static const char apvPeakMode_[]
static const uint16_t invalid_
Definition: Constants.h:16
static const uint16_t unknown_
Definition: Constants.h:19
static const char fedZeroSupprLite8BBCMO_[]
static const uint16_t APVS_PER_CHAN
static const char undefinedApvReadoutMode_[]
static const uint16_t FE_HDR_SIZE
static const uint16_t APV_I2C_MAX
static const uint16_t FEDCH_PER_FED
static const uint16_t STRIPS_PER_APV
static constexpr float MeVperADCStrip
static const char fedZeroSupprLite8TTCMO_[]
static const uint16_t FED_ID_MAX
static const uint16_t APV_ERROR_HDR_SIZE
static const uint16_t APVS_PER_FEDCH
static const char fedZeroSupprLite8TT_[]
static const char fedZeroSupprLite8TBCMO_[]
static const uint16_t DAQ_HDR_SIZE
static const char unknownApvReadoutMode_[]
static const char fedZeroSuppr_[]
static const char apvMultiMode_[]
static const char fedPreMixRaw_[]