File indexing completed on 2024-04-06 12:21:41
0001
0002
0003
0004
0005
0006 #ifndef SOURCECARDROUTING_H
0007 #define SOURCECARDROUTING_H
0008
0009
0010 #include <iostream>
0011 #include <string>
0012
0013 class SourceCardRouting {
0014 public:
0015 SourceCardRouting();
0016 ~SourceCardRouting();
0017
0018
0019
0020 struct EmuToSfpData {
0021
0022 unsigned short eIsoRank[4];
0023 unsigned short eIsoCardId[4];
0024 unsigned short eIsoRegionId[4];
0025 unsigned short eNonIsoRank[4];
0026 unsigned short eNonIsoCardId[4];
0027 unsigned short eNonIsoRegionId[4];
0028 unsigned short mipBits[7][2];
0029 unsigned short qBits[7][2];
0030
0031 unsigned short sfp[2][4];
0032 };
0033
0034
0035
0036
0037 void EMUtoSFP(unsigned short (&eIsoRank)[4],
0038 unsigned short (&eIsoCardId)[4],
0039 unsigned short (&eIsoRegionId)[4],
0040 unsigned short (&eNonIsoRank)[4],
0041 unsigned short (&eNonIsoCardId)[4],
0042 unsigned short (&eNonIsoRegionId)[4],
0043 unsigned short (&MIPbits)[7][2],
0044 unsigned short (&Qbits)[7][2],
0045 unsigned short (&SFP)[2][4]) const;
0046
0047
0048
0049
0050 void SFPtoEMU(unsigned short (&eIsoRank)[4],
0051 unsigned short (&eIsoCardId)[4],
0052 unsigned short (&eIsoRegionId)[4],
0053 unsigned short (&eNonIsoRank)[4],
0054 unsigned short (&eNonIsoCardId)[4],
0055 unsigned short (&eNonIsoRegionId)[4],
0056 unsigned short (&MIPbits)[7][2],
0057 unsigned short (&Qbits)[7][2],
0058 unsigned short (&SFP)[2][4]) const;
0059
0060
0061
0062
0063
0064 void RC56HFtoSFP(unsigned short (&RC)[7][2],
0065 unsigned short (&RCof)[7][2],
0066 unsigned short (&RCtau)[7][2],
0067 unsigned short (&HF)[4][2],
0068 unsigned short (&HFQ)[4][2],
0069 unsigned short (&SFP)[2][4]) const;
0070
0071
0072
0073
0074 void SFPtoRC56HF(unsigned short (&RC)[7][2],
0075 unsigned short (&RCof)[7][2],
0076 unsigned short (&RCtau)[7][2],
0077 unsigned short (&HF)[4][2],
0078 unsigned short (&HFQ)[4][2],
0079 unsigned short (&SFP)[2][4]) const;
0080
0081
0082
0083 void RC012toSFP(unsigned short (&RC)[7][2],
0084 unsigned short (&RCof)[7][2],
0085 unsigned short (&RCtau)[7][2],
0086 unsigned short (&SFP)[2][4]) const;
0087
0088
0089
0090 void SFPtoRC012(unsigned short (&RC)[7][2],
0091 unsigned short (&RCof)[7][2],
0092 unsigned short (&RCtau)[7][2],
0093 unsigned short (&SFP)[2][4]) const;
0094
0095
0096
0097 void RC234toSFP(unsigned short (&RC)[7][2],
0098 unsigned short (&RCof)[7][2],
0099 unsigned short (&RCtau)[7][2],
0100 unsigned short (&sisterRC)[7][2],
0101 unsigned short (&sisterRCof)[7][2],
0102 unsigned short (&sisterRCtau)[7][2],
0103 unsigned short (&SFP)[2][4]) const;
0104
0105
0106
0107 void SFPtoRC234(unsigned short (&RC)[7][2],
0108 unsigned short (&RCof)[7][2],
0109 unsigned short (&RCtau)[7][2],
0110 unsigned short (&sisterRC)[7][2],
0111 unsigned short (&sisterRCof)[7][2],
0112 unsigned short (&sisterRCtau)[7][2],
0113 unsigned short (&SFP)[2][4]) const;
0114
0115
0116
0117
0118
0119
0120 void SFPtoVHDCI(int RoutingMode, unsigned short (&SFP)[2][4], unsigned long (&VHDCI)[2][2]) const;
0121
0122
0123
0124 void VHDCItoSFP(int RoutingMode, unsigned short (&SFP)[2][4], unsigned long (&VHDCI)[2][2]) const;
0125
0126
0127
0128
0129
0130
0131
0132 void EMUtoVHDCI(unsigned short (&eIsoRank)[4],
0133 unsigned short (&eIsoCardId)[4],
0134 unsigned short (&eIsoRegionId)[4],
0135 unsigned short (&eNonIsoRank)[4],
0136 unsigned short (&eNonIsoCardId)[4],
0137 unsigned short (&eNonIsoRegionId)[4],
0138 unsigned short (&MIPbits)[7][2],
0139 unsigned short (&Qbits)[7][2],
0140 unsigned long (&VHDCI)[2][2]) const;
0141
0142
0143
0144
0145 void VHDCItoEMU(unsigned short (&eIsoRank)[4],
0146 unsigned short (&eIsoCardId)[4],
0147 unsigned short (&eIsoRegionId)[4],
0148 unsigned short (&eNonIsoRank)[4],
0149 unsigned short (&eNonIsoCardId)[4],
0150 unsigned short (&eNonIsoRegionId)[4],
0151 unsigned short (&MIPbits)[7][2],
0152 unsigned short (&Qbits)[7][2],
0153 unsigned long (&VHDCI)[2][2]) const;
0154
0155
0156
0157
0158
0159
0160 void RC56HFtoVHDCI(unsigned short (&RC)[7][2],
0161 unsigned short (&RCof)[7][2],
0162 unsigned short (&RCtau)[7][2],
0163 unsigned short (&HF)[4][2],
0164 unsigned short (&HFQ)[4][2],
0165 unsigned long (&VHDCI)[2][2]) const;
0166
0167
0168
0169
0170 void VHDCItoRC56HF(unsigned short (&RC)[7][2],
0171 unsigned short (&RCof)[7][2],
0172 unsigned short (&RCtau)[7][2],
0173 unsigned short (&HF)[4][2],
0174 unsigned short (&HFQ)[4][2],
0175 unsigned long (&VHDCI)[2][2]) const;
0176
0177
0178
0179 void RC012toVHDCI(unsigned short (&RC)[7][2],
0180 unsigned short (&RCof)[7][2],
0181 unsigned short (&RCtau)[7][2],
0182 unsigned long (&VHDCI)[2][2]) const;
0183
0184
0185
0186 void VHDCItoRC012(unsigned short (&RC)[7][2],
0187 unsigned short (&RCof)[7][2],
0188 unsigned short (&RCtau)[7][2],
0189 unsigned long (&VHDCI)[2][2]) const;
0190
0191
0192
0193 void RC234toVHDCI(unsigned short (&RC)[7][2],
0194 unsigned short (&RCof)[7][2],
0195 unsigned short (&RCtau)[7][2],
0196 unsigned short (&sisterRC)[7][2],
0197 unsigned short (&sisterRCof)[7][2],
0198 unsigned short (&sisterRCtau)[7][2],
0199 unsigned long (&VHDCI)[2][2]) const;
0200
0201
0202
0203 void VHDCItoRC234(unsigned short (&RC)[7][2],
0204 unsigned short (&RCof)[7][2],
0205 unsigned short (&RCtau)[7][2],
0206 unsigned short (&sisterRC)[7][2],
0207 unsigned short (&sisterRCof)[7][2],
0208 unsigned short (&sisterRCtau)[7][2],
0209 unsigned long (&VHDCI)[2][2]) const;
0210
0211
0212
0213
0214
0215
0216 void EMUtoSTRING(unsigned short &logicalCardID,
0217 unsigned short &eventNumber,
0218 unsigned short (&eIsoRank)[4],
0219 unsigned short (&eIsoCardId)[4],
0220 unsigned short (&eIsoRegionId)[4],
0221 unsigned short (&eNonIsoRank)[4],
0222 unsigned short (&eNonIsoCardId)[4],
0223 unsigned short (&eNonIsoRegionId)[4],
0224 unsigned short (&MIPbits)[7][2],
0225 unsigned short (&Qbits)[7][2],
0226 std::string &dataString) const;
0227
0228
0229
0230 void RC56HFtoSTRING(unsigned short &logicalCardID,
0231 unsigned short &eventNumber,
0232 unsigned short (&RC)[7][2],
0233 unsigned short (&RCof)[7][2],
0234 unsigned short (&RCtau)[7][2],
0235 unsigned short (&HF)[4][2],
0236 unsigned short (&HFQ)[4][2],
0237 std::string &dataString) const;
0238
0239
0240 void RC012toSTRING(unsigned short &logicalCardID,
0241 unsigned short &eventNumber,
0242 unsigned short (&RC)[7][2],
0243 unsigned short (&RCof)[7][2],
0244 unsigned short (&RCtau)[7][2],
0245 std::string &dataString) const;
0246
0247
0248 void RC234toSTRING(unsigned short &logicalCardID,
0249 unsigned short &eventNumber,
0250 unsigned short (&RC)[7][2],
0251 unsigned short (&RCof)[7][2],
0252 unsigned short (&RCtau)[7][2],
0253 unsigned short (&sisterRC)[7][2],
0254 unsigned short (&sisterRCof)[7][2],
0255 unsigned short (&sisterRCtau)[7][2],
0256 std::string &dataString) const;
0257
0258
0259
0260
0261 void SFPtoSTRING(unsigned short &logicalCardID,
0262 unsigned short &eventNumber,
0263 int RoutingMode,
0264 unsigned short (&SFP)[2][4],
0265 std::string &dataString) const;
0266
0267
0268
0269
0270 void STRINGtoVHDCI(unsigned short &logicalCardID,
0271 unsigned short &eventNumber,
0272 std::string &dataString,
0273 unsigned long (&VHDCI)[2][2]) const;
0274
0275
0276 void VHDCItoSTRING(unsigned short &logicalCardID,
0277 unsigned short &eventNumber,
0278 std::string &dataString,
0279 unsigned long (&VHDCI)[2][2]) const;
0280
0281
0282
0283 void LogicalCardIDtoRoutingMode(unsigned short &logicalCardID, int &RoutingMode, int &RCTCrateNumber) const;
0284
0285 void RoutingModetoLogicalCardID(unsigned short &logicalCardID, int &RoutingMode, int &RCTCrateNumber) const;
0286
0287 };
0288
0289 #endif
0290
0291
0292
0293
0294
0295
0296
0297
0298
0299
0300
0301
0302
0303
0304
0305
0306
0307
0308
0309
0310
0311
0312
0313
0314
0315
0316
0317
0318
0319
0320
0321
0322
0323
0324
0325
0326
0327
0328
0329
0330
0331
0332
0333
0334
0335
0336
0337
0338
0339
0340
0341
0342
0343
0344
0345
0346
0347
0348
0349
0350
0351
0352
0353
0354
0355
0356
0357
0358
0359
0360
0361
0362
0363
0364
0365
0366