1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
/****************************************************************************
*
* This is a part of TOTEM offline software.
* Authors:
* Jan Kašpar (jan.kaspar@cern.ch)
*
****************************************************************************/
#include "CondFormats/PPSObjects/interface/TotemSymbId.h"
#include "DataFormats/CTPPSDetId/interface/CTPPSDetId.h"
#include "DataFormats/CTPPSDetId/interface/CTPPSDiamondDetId.h"
#include "DataFormats/CTPPSDetId/interface/CTPPSPixelDetId.h"
#include "DataFormats/CTPPSDetId/interface/TotemRPDetId.h"
#include "DataFormats/CTPPSDetId/interface/TotemT2DetId.h"
#include "DataFormats/CTPPSDetId/interface/TotemTimingDetId.h"
void TotemSymbID::print(std::ostream& os, std::string subSystemName) const {
const auto ctppsDetId = CTPPSDetId(symbolicID);
os << "DetId=" << symbolicID << " (";
if (subSystemName == "TrackingStrip") {
os << "subDet=" << ctppsDetId.subdetId() << " " << TotemRPDetId(symbolicID);
} else if (subSystemName == "TimingDiamond") {
os << "subDet=" << ctppsDetId.subdetId() << " " << CTPPSDiamondDetId(symbolicID);
} else if (subSystemName == "TotemT2") {
os << "subDet=" << ctppsDetId.subdetId() << " " << TotemT2DetId(symbolicID);
} else if (subSystemName == "TotemTiming") {
const auto timingId = TotemTimingDetId(symbolicID);
os << "subDet=" << ctppsDetId.subdetId() << " " << timingId;
if (timingId.channel() == TotemTimingDetId::ID_NOT_SET || timingId.plane() == 0) {
os << ") - (plane/channel det ids not applicable to SAMPIC; initialized with def values " << 0 << "/"
<< TotemTimingDetId::ID_NOT_SET << " now";
}
} else {
os << ctppsDetId;
}
os << ")";
}
std::ostream& operator<<(std::ostream& s, const TotemSymbID& sid) {
s << "DetId=" << sid.symbolicID << " (" << CTPPSDetId(sid.symbolicID) << ")";
return s;
}
|