ATLAS Offline Software
Loading...
Searching...
No Matches
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
16
19
23
24// Gaudi includes
25#include "GaudiKernel/EventContext.h"
26
27//STL includes
28#include <string>
29#include <vector>
30
31//fwd declarations
32class StatusCode;
33class SCT_ID;
34class Identifier;
35
39class 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
52 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
Header file for abstract interface to SCT cabling tool.
Header file for SCT cabling data.
This is a "hash" representation of an Identifier.
A class to hold the data necessary for SCT_CablingTool.
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)
SG::ReadCondHandleKey< SCT_CablingData > m_data
virtual SCT_OnlineId getOnlineIdFromOfflineId(const Identifier &offlineId, const EventContext &ctx) const override
return the online Id, given an offlineId
virtual bool empty() const override
virtual SCT_SerialNumber getSerialNumberFromHash(const IdentifierHash &hash, const EventContext &ctx) const override
get module serial number from hash, needed during filling of data structure
virtual unsigned int size() const override
SCT_CablingTool(const std::string &type, const std::string &name, const IInterface *parent)
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...
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)
virtual SCT_OnlineId getOnlineIdFromHash(const IdentifierHash &hash, const EventContext &ctx) const override
return the online Id, given a hash (used by simulation encoders)
const SCT_ID * m_idHelper
helper for offlineId/hash conversions
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)
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
virtual StatusCode initialize() override
const SCT_CablingData * getData(const EventContext &ctx) const
virtual void getAllRods(std::vector< std::uint32_t > &usersVector, const EventContext &ctx) const override
fill a users vector with all the RodIds
virtual ~SCT_CablingTool()=default
StringProperty m_cablingDataSource
the name of the data source
This is an Identifier helper class for the SCT subdetector.
Definition SCT_ID.h:68
SCT_OnlineId is a class to hold an online id number and provide check on validity,...
SCT_SerialNumber is a class to hold a serial number and provide check on validity,...