ATLAS Offline Software
SCT_CablingTool.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 
3 /*
4  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef SCT_CablingTool_h
8 #define SCT_CablingTool_h
9 
19 
23 
24 // Gaudi includes
25 #include "GaudiKernel/EventContext.h"
26 
27 //STL includes
28 #include <string>
29 #include <vector>
30 
31 //fwd declarations
32 class StatusCode;
33 class SCT_ID;
34 class Identifier;
35 
39 class SCT_CablingTool: public extends<AthAlgTool, ISCT_CablingTool> {
40  public:
41 
42  //@name Tool methods, reimplemented
44  SCT_CablingTool(const std::string& type, const std::string& name, const IInterface* parent);
45  virtual ~SCT_CablingTool() = default;
46  virtual StatusCode initialize() override;
48 
49  //@name ISCT_CablingTool methods implemented, these are visible to clients
51  virtual unsigned int size(const EventContext& ctx) const override;
53  virtual unsigned int size() const override;
54 
56  virtual bool empty(const EventContext& ctx) const override;
57  virtual bool empty() const override;
58 
60  virtual IdentifierHash getHashFromOnlineId(const SCT_OnlineId& onlineId, const EventContext& ctx, const bool withWarnings=true) const override;
61  virtual IdentifierHash getHashFromOnlineId(const SCT_OnlineId& onlineId, const bool withWarnings=true) const override;
62 
64  virtual SCT_OnlineId getOnlineIdFromHash(const IdentifierHash& hash, const EventContext& ctx) const override;
65  virtual SCT_OnlineId getOnlineIdFromHash(const IdentifierHash& hash) const override;
66 
68  virtual SCT_OnlineId getOnlineIdFromOfflineId(const Identifier& offlineId, const EventContext& ctx) const override;
69  virtual SCT_OnlineId getOnlineIdFromOfflineId(const Identifier& offlineId) const override;
70 
72  virtual std::uint32_t getRobIdFromHash(const IdentifierHash& hash, const EventContext& ctx) const override;
73  virtual std::uint32_t getRobIdFromHash(const IdentifierHash& hash) const override;
74 
76  virtual std::uint32_t getRobIdFromOfflineId(const Identifier& offlineId, const EventContext& ctx) const override;
77  virtual std::uint32_t getRobIdFromOfflineId(const Identifier& offlineId) const override;
78 
80  virtual IdentifierHash getHashFromSerialNumber(const SCT_SerialNumber& sn, const EventContext& ctx) const override;
81  virtual IdentifierHash getHashFromSerialNumber(const SCT_SerialNumber& sn) const override;
82 
84  virtual SCT_SerialNumber getSerialNumberFromHash(const IdentifierHash& hash, const EventContext& ctx) const override;
85  virtual SCT_SerialNumber getSerialNumberFromHash(const IdentifierHash& hash) const override;
86 
88  virtual void getAllRods(std::vector<std::uint32_t>& usersVector, const EventContext& ctx) const override;
89  virtual void getAllRods(std::vector<std::uint32_t>& usersVector) const override;
90 
92  virtual void getHashesForRod(std::vector<IdentifierHash>& usersVector, const std::uint32_t rodId, const EventContext& ctx) const override;
93  virtual void getHashesForRod(std::vector<IdentifierHash>& usersVector, const std::uint32_t rodId) const override;
95 
96  private:
97  SG::ReadCondHandleKey<SCT_CablingData> m_data{this, "SCT_CablingData", "SCT_CablingData", "SCT_CablingData created by SCT_CablingCondAlgFromCoraCool"};
98  StringProperty m_cablingDataSource;
99  const SCT_ID* m_idHelper{nullptr};
100  bool m_usingDatabase{true};
101 
102  const SCT_CablingData* getData(const EventContext& ctx) const;
103 };
104 
105 #endif // SCT_CablingTool_h
SCT_CablingTool::m_usingDatabase
bool m_usingDatabase
Definition: SCT_CablingTool.h:100
SCT_CablingTool::size
virtual unsigned int size() const override
Definition: SCT_CablingTool.cxx:73
SCT_CablingTool::getRobIdFromOfflineId
virtual std::uint32_t getRobIdFromOfflineId(const Identifier &offlineId, const EventContext &ctx) const override
return the rob/rod Id, given an offlineId (used by simulation encoders)
Definition: SCT_CablingTool.cxx:166
SCT_CablingTool::getOnlineIdFromHash
virtual SCT_OnlineId getOnlineIdFromHash(const IdentifierHash &hash, const EventContext &ctx) const override
return the online Id, given a hash (used by simulation encoders)
Definition: SCT_CablingTool.cxx:122
SCT_CablingTool::getHashesForRod
virtual void getHashesForRod(std::vector< IdentifierHash > &usersVector, const std::uint32_t rodId, const EventContext &ctx) const override
fill a user's vector with all the hash ids which belong to a given rod
Definition: SCT_CablingTool.cxx:235
SCT_CablingTool
Definition: SCT_CablingTool.h:39
SCT_CablingTool::getRobIdFromHash
virtual std::uint32_t getRobIdFromHash(const IdentifierHash &hash, const EventContext &ctx) const override
return the rob/rod Id, given a hash (used by simulation encoders)
Definition: SCT_CablingTool.cxx:154
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
SCT_OnlineId
Definition: SCT_OnlineId.h:22
SCT_CablingTool::getData
const SCT_CablingData * getData(const EventContext &ctx) const
Definition: SCT_CablingTool.cxx:253
SCT_CablingTool::getOnlineIdFromOfflineId
virtual SCT_OnlineId getOnlineIdFromOfflineId(const Identifier &offlineId, const EventContext &ctx) const override
return the online Id, given an offlineId
Definition: SCT_CablingTool.cxx:140
SCT_CablingTool::SCT_CablingTool
SCT_CablingTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: SCT_CablingTool.cxx:43
SCT_CablingTool::getHashFromSerialNumber
virtual IdentifierHash getHashFromSerialNumber(const SCT_SerialNumber &sn, const EventContext &ctx) const override
get hash from a module serial number, needed in the conditions service because configurations are sto...
Definition: SCT_CablingTool.cxx:178
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
SCT_CablingTool::m_idHelper
const SCT_ID * m_idHelper
helper for offlineId/hash conversions
Definition: SCT_CablingTool.h:99
AthAlgTool.h
SCT_CablingTool::initialize
virtual StatusCode initialize() override
Definition: SCT_CablingTool.cxx:51
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ReadCondHandleKey.h
SCT_CablingTool::~SCT_CablingTool
virtual ~SCT_CablingTool()=default
SCT_CablingTool::getSerialNumberFromHash
virtual SCT_SerialNumber getSerialNumberFromHash(const IdentifierHash &hash, const EventContext &ctx) const override
get module serial number from hash, needed during filling of data structure
Definition: SCT_CablingTool.cxx:197
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
IdentifierHash.h
SCT_SerialNumber
Definition: SCT_SerialNumber.h:22
SCT_CablingData
Definition: SCT_CablingData.h:35
SCT_CablingTool::getHashFromOnlineId
virtual IdentifierHash getHashFromOnlineId(const SCT_OnlineId &onlineId, const EventContext &ctx, const bool withWarnings=true) const override
return offline hash, given the online Id (used by decoders)
Definition: SCT_CablingTool.cxx:92
SG::ReadCondHandleKey< SCT_CablingData >
CaloCondBlobAlgs_fillNoiseFromASCII.hash
dictionary hash
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:109
SCT_ID
Definition: SCT_ID.h:68
SCT_CablingData.h
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
SCT_CablingTool::m_cablingDataSource
StringProperty m_cablingDataSource
the name of the data source
Definition: SCT_CablingTool.h:98
SCT_CablingTool::getAllRods
virtual void getAllRods(std::vector< std::uint32_t > &usersVector, const EventContext &ctx) const override
fill a users vector with all the RodIds
Definition: SCT_CablingTool.cxx:218
ISCT_CablingTool.h
SCT_CablingTool::m_data
SG::ReadCondHandleKey< SCT_CablingData > m_data
Definition: SCT_CablingTool.h:97
SCT_CablingTool::empty
virtual bool empty() const override
Definition: SCT_CablingTool.cxx:85
IdentifierHash
Definition: IdentifierHash.h:38