File indexing completed on 2024-04-06 12:11:44
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #include "Fireworks/Core/interface/FWViewType.h"
0017 #include "Fireworks/Core/interface/fwLog.h"
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027 const int FWViewType::kAllRPZBits = kRhoPhiBit | kRhoZBit | kRhoPhiPFBit;
0028 const int FWViewType::kAll3DBits = kISpyBit | k3DBit;
0029 const int FWViewType::kAllLegoBits = kLegoBit | kLegoHFBit | kLegoPFECALBit;
0030
0031 std::string FWViewType::sName[FWViewType::kTypeSize];
0032
0033 FWViewType::static_initializer::static_initializer() {
0034 sName[kRhoPhi] = "Rho Phi";
0035 sName[kRhoZ] = "Rho Z";
0036 sName[k3D] = "3D Tower";
0037 sName[kISpy] = "3D RecHit";
0038 sName[kGlimpse] = "Glimpse";
0039 sName[kLego] = "Lego";
0040 sName[kLegoHF] = "HF";
0041 sName[kTable] = "Table";
0042 sName[kTableHLT] = "HLT Table";
0043 sName[kTableL1] = "L1 Table";
0044 sName[kLegoPFECAL] = "PF ECAL Lego";
0045 sName[kRhoPhiPF] = "PF Rho Phi";
0046 sName[kGeometryTable] = "Geometry Table";
0047 sName[kOverlapTable] = "Overlap Table";
0048 }
0049
0050 FWViewType::static_initializer init_statics;
0051
0052
0053
0054
0055 FWViewType::FWViewType(EType t) : m_id(t) {}
0056
0057 FWViewType::~FWViewType() {}
0058
0059
0060
0061
0062
0063
0064
0065
0066 const std::string& FWViewType::name() const { return sName[m_id]; }
0067
0068 FWViewType::EType FWViewType::id() const { return m_id; }
0069
0070
0071
0072 const std::string& FWViewType::idToName(int id) { return sName[id]; }
0073
0074 const std::string& switchName(const std::string& old, FWViewType::EType id) {
0075 fwLog(fwlog::kDebug) << old << " view has been renamed to " << FWViewType::idToName(id) << ".\n";
0076 return (const std::string&)FWViewType::idToName(id);
0077 }
0078
0079 const std::string& FWViewType::checkNameWithViewVersion(const std::string& refName, unsigned int version) {
0080
0081 if (version < 2) {
0082 if (refName == "TriggerTable")
0083 return switchName(refName, FWViewType::kTableHLT);
0084 else if (refName == "L1TriggerTable")
0085 return switchName(refName, FWViewType::kTableL1);
0086 }
0087 if (version < 3) {
0088 if (refName == "3D Lego")
0089 return switchName(refName, FWViewType::kLego);
0090 }
0091 if (version < 7) {
0092 if (refName == "iSpy")
0093 return switchName(refName, FWViewType::kISpy);
0094 if (refName == "3D")
0095 return switchName(refName, FWViewType::k3D);
0096 }
0097 return refName;
0098 }
0099
0100 bool FWViewType::isProjected(int id) { return (id == kRhoPhi || id == kRhoZ || id == kRhoPhiPF); }
0101
0102 bool FWViewType::isLego(int id) { return (id == kLego || id == kLegoHF || id == kLegoPFECAL); }