5#ifndef RPCCABLINGCONDDATA_H
6#define RPCCABLINGCONDDATA_H
10#include "GaudiKernel/ServiceHandle.h"
27 typedef std::map<int, RDOindex, std::less<int> >
RDOmap;
29 typedef std::map<Identifier, const RDOindex*, std::less<Identifier> >
OfflineOnlineMap;
30 typedef std::vector<RPC_CondCabling::SectorLogicSetup>
STvec;
31 typedef std::map<IdentifierHash, std::set<IdentifierHash> >
PRD_RDO_Map;
32 typedef std::map<IdentifierHash, std::set<uint32_t> >
PRD_ROB_Map;
33 typedef std::map<uint32_t, std::set<IdentifierHash> >
ROB_RDO_Map;
41 bool give_ROBid(
const unsigned int hashID,
unsigned short int&
id)
const;
44 bool give_RODid(
const unsigned int hashID,
unsigned short int&
id)
const;
47 bool give_side(
const unsigned int hashID,
unsigned short int&
id)
const;
50 bool give_SLid(
const unsigned int hashID,
unsigned short int&
id)
const;
53 bool give_RXid(
const unsigned int hashID,
unsigned short int&
id)
const;
56 bool give_PADid(
const unsigned int hashID,
unsigned short int&
id)
const;
62 StatusCode
giveROB_fromRDO(
const std::vector<IdentifierHash>& rdoHashVec, std::vector<uint32_t>& robIdVec)
const;
64 std::list<Identifier>
give_strip_id(
unsigned short int SubsystemId,
unsigned short int SectorId,
unsigned short int PADId,
65 unsigned short int CMAId,
unsigned short ijk,
unsigned short int Channel,
69 static unsigned long int strip_code_fromOffline(
int etaPhiView,
int logicSector,
int cablingStation,
int gasGap,
int zIndexInCablingStation,
71 unsigned long int strip_code_fromOffId(
const std::string& stationName,
int stationEta,
int stationPhi,
int doubletR,
int doubletZ,
72 int doubletPhi,
int gasGap,
int measuresPhi,
int strip)
const;
73 static bool largeSector(
const std::string& stName) ;
78 StatusCode
giveRDO_fromPRD(
const std::vector<IdentifierHash>& prdHashVec, std::vector<IdentifierHash>& rdoHashVec)
const;
79 StatusCode
giveRDO_fromROB(
const std::vector<uint32_t>& robIdVec, std::vector<IdentifierHash>& rdoHashVec)
const;
82 virtual bool give_Pad_Parameters(
unsigned short int logic_sector,
unsigned short int PADId,
bool& feet,
bool& eta_and_phi,
83 unsigned short int& cma_mask,
unsigned short int& feet_th0,
unsigned short int& feet_th1,
84 unsigned short int& feet_th2)
const;
86 bool give_PAD_address(
unsigned short int SubsystemId,
unsigned short int SectorId,
unsigned short int RoIId,
87 unsigned int& padIdHash)
const;
89 bool give_RoI_borders_id(
unsigned short int SubsystemId,
unsigned short int SectorId,
unsigned short int RoIId,
93 bool give_RoI_borders(
unsigned short int SubsystemId,
unsigned short int SectorId,
unsigned short int RoIId,
unsigned int& EtaLowBorder,
94 unsigned int& EtaHighBorder,
unsigned int& PhiLowBorder,
unsigned int& PhiHighBorder)
const;
99 bool give_LowPt_borders(
unsigned short int SubsystemId,
unsigned short int SectorId,
unsigned short int RoIId,
100 unsigned int& EtaLowBorder,
unsigned int& EtaHighBorder,
unsigned int& PhiLowBorder,
101 unsigned int& PhiHighBorder)
const;
103 bool give_LowPt_borders_id(
unsigned short int SubsystemId,
unsigned short int SectorId,
unsigned short int RoIId,
107 bool give_HighPt_borders(
unsigned short int SubsystemId,
unsigned short int SectorId,
unsigned short int RoIId,
108 unsigned int& EtaLowBorder,
unsigned int& EtaHighBorder,
unsigned int& PhiLowBorder,
109 unsigned int& PhiHighBorder)
const;
111 bool give_HighPt_borders_id(
unsigned short int SubsystemId,
unsigned short int SectorId,
unsigned short int RoIId,
117 bool giveOfflineId(
const unsigned short int side,
const unsigned short int sector,
const unsigned short int padId,
127 std::vector<IdentifierHash>
rod2hash(uint16_t subsystem, uint16_t rod)
const;
130 void setIds(
const std::vector<Identifier>& int2id);
131 void setLookup(
const std::vector<Identifier>& ids);
Hold mappings of ranges to condition objects.
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Header file for AthHistogramAlgorithm.
std::list< const CMAparameters * > CMAlist
Hold mapping of ranges to condition objects.
This is a "hash" representation of an Identifier.
std::map< IdentifierHash, std::set< IdentifierHash > > PRD_RDO_Map
std::vector< std::string > m_vecetaTh0
StatusCode giveROB_fromRDO(const IdentifierHash rdoHashId, uint32_t &robId) const
std::map< std::string, std::string > m_trigroads
std::vector< std::string > m_vecphiInfo
virtual bool give_Pad_Parameters(unsigned short int logic_sector, unsigned short int PADId, bool &feet, bool &eta_and_phi, unsigned short int &cma_mask, unsigned short int &feet_th0, unsigned short int &feet_th1, unsigned short int &feet_th2) const
int operator()(const Identifier &id) const
std::list< Identifier > give_strip_id(unsigned short int SubsystemId, unsigned short int SectorId, unsigned short int PADId, unsigned short int CMAId, unsigned short ijk, unsigned short int Channel, const RpcIdHelper *rpcId) const
static constexpr unsigned MAX_LOGICSECTOR
Identifier strip_OffId_fromCode(unsigned long int strip_code, const RpcIdHelper *rpcId) const
std::vector< IdentifierHash > m_rod2hash[2][16]
bool give_RODid(const Identifier &compactID, unsigned short int &id) const
friend class RpcCablingCondAlg
bool give_LowPt_borders(unsigned short int SubsystemId, unsigned short int SectorId, unsigned short int RoIId, unsigned int &EtaLowBorder, unsigned int &EtaHighBorder, unsigned int &PhiLowBorder, unsigned int &PhiHighBorder) const
ROB_RDO_Map m_ROB_RDO_map
virtual ~RpcCablingCondData()=default
std::vector< std::string > m_vecetaCM_File
std::map< int, RDOindex, std::less< int > > RDOmap
bool giveOfflineId(const unsigned short int side, const unsigned short int sector, const unsigned short int padId, Identifier &id) const
StatusCode giveRDO_fromPRD(const IdentifierHash prdHashId, std::vector< IdentifierHash > &rdoHashVec) const
std::vector< std::string > m_vecphiTh0
std::map< uint32_t, std::set< IdentifierHash > > ROB_RDO_Map
unsigned int computeZIndexInCablingStation(const std::string &stationName, int logicSector, int stationEta, int doubletR, int doubletZ, int cabStat) const
std::vector< Identifier > m_int2id
std::vector< const RDOindex * > OfflineOnlineHashMap
bool give_RoI_borders_id(unsigned short int SubsystemId, unsigned short int SectorId, unsigned short int RoIId, Identifier &EtaLowBorder_id, Identifier &EtaHighBorder_id, Identifier &PhiLowBorder_id, Identifier &PhiHighBorder_id, const RpcIdHelper *rpcId) const
std::vector< std::string > m_vecphiCM_File
static bool largeSector(const std::string &stName)
StatusCode giveROB_fromPRD(const IdentifierHash prdHashId, std::vector< uint32_t > &robIdVec) const
PRD_RDO_Map m_PRD_RDO_map
std::vector< std::string > m_vecetaInfo
bool give_HighPt_borders_id(unsigned short int SubsystemId, unsigned short int SectorId, unsigned short int RoIId, Identifier &EtaLowBorder_id, Identifier &EtaHighBorder_id, Identifier &PhiLowBorder_id, Identifier &PhiHighBorder_id, const RpcIdHelper *rpcId) const
bool give_PADid(const Identifier &compactID, unsigned short int &id) const
void setLookup(const std::vector< Identifier > &ids)
const RDOmap & give_RDOs(void) const
const CMAparameters::CMAlist give_CMAs(const int logic_sector, const ViewType side, const int station, const int cabling_code) const
RPCofflineId strip_id_fromCode(unsigned long int strip_code) const
bool give_side(const Identifier &compactID, unsigned short int &id) const
StatusCode giveRDO_fromROB(const std::vector< uint32_t > &robIdVec, std::vector< IdentifierHash > &rdoHashVec) const
Identifier protected_strip_OffId_fromCode(unsigned long int strip_code, const RpcIdHelper *rpcId) const
bool give_RoI_borders(unsigned short int SubsystemId, unsigned short int SectorId, unsigned short int RoIId, unsigned int &EtaLowBorder, unsigned int &EtaHighBorder, unsigned int &PhiLowBorder, unsigned int &PhiHighBorder) const
static constexpr unsigned MAX_PADID
Identifier identifier(int i) const
RPCPadParameters m_RPCPadParameters_array[MAX_LOGICSECTOR][MAX_PADID]
unsigned long int strip_code_fromOffId(const std::string &stationName, int stationEta, int stationPhi, int doubletR, int doubletZ, int doubletPhi, int gasGap, int measuresPhi, int strip) const
bool give_SLid(const Identifier &compactID, unsigned short int &id) const
bool give_ROBid(const Identifier &compactID, unsigned short int &id) const
std::map< Identifier, int > m_lookup
PRD_ROB_Map m_PRD_ROB_map
bool give_PAD_address(unsigned short int SubsystemId, unsigned short int SectorId, unsigned short int RoIId, unsigned int &padIdHash) const
const std::vector< uint32_t > & giveFullListOfRobIds() const
std::vector< std::string > m_vecetaSequence_Th
std::vector< RPC_CondCabling::SectorLogicSetup > STvec
bool give_RXid(const Identifier &compactID, unsigned short int &id) const
Identifier m_offline_id[2][32][10]
static unsigned long int strip_code_fromOffline(int etaPhiView, int logicSector, int cablingStation, int gasGap, int zIndexInCablingStation, int strip)
std::vector< IdentifierHash > rod2hash(uint16_t subsystem, uint16_t rod) const
OfflineOnlineHashMap m_HashVec
std::map< Identifier, const RDOindex *, std::less< Identifier > > OfflineOnlineMap
bool give_HighPt_borders(unsigned short int SubsystemId, unsigned short int SectorId, unsigned short int RoIId, unsigned int &EtaLowBorder, unsigned int &EtaHighBorder, unsigned int &PhiLowBorder, unsigned int &PhiHighBorder) const
RpcCablingCondData()=default
OfflineOnlineMap m_RDOmap
void setIds(const std::vector< Identifier > &int2id)
std::map< IdentifierHash, std::set< uint32_t > > PRD_ROB_Map
std::vector< uint32_t > m_fullListOfRobIds
bool give_LowPt_borders_id(unsigned short int SubsystemId, unsigned short int SectorId, unsigned short int RoIId, Identifier &EtaLowBorder_id, Identifier &EtaHighBorder_id, Identifier &PhiLowBorder_id, Identifier &PhiHighBorder_id, const RpcIdHelper *rpcId) const
uint32_t hash2source(unsigned int h) const