ATLAS Offline Software
Loading...
Searching...
No Matches
SCT_SiliconConditionsTool.h
Go to the documentation of this file.
1// -*- C++ -*-
2
3/*
4 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
5*/
6
14
15#ifndef SCT_SiliconConditionsTool_h
16#define SCT_SiliconConditionsTool_h
17
19#include "GaudiKernel/ServiceHandle.h"
21
26
27class SCT_ID;
28
35
36class SCT_SiliconConditionsTool: public extends<AthAlgTool, ISiliconConditionsTool> {
37 public:
38
40 SCT_SiliconConditionsTool(const std::string& type, const std::string& name, const IInterface* parent);
42 virtual ~SCT_SiliconConditionsTool() = default;
43
45 virtual StatusCode initialize() override;
47 virtual StatusCode finalize() override;
48
50 virtual float temperature(const Identifier& elementId, const EventContext& ctx) const override;
52 virtual float biasVoltage(const Identifier& elementId, const EventContext& ctx) const override;
54 virtual float depletionVoltage(const Identifier& elementId, const EventContext& ctx) const override;
55
57 virtual float temperature(const IdentifierHash& elementHash, const EventContext& ctx) const override;
59 virtual float biasVoltage(const IdentifierHash& elementHash, const EventContext& ctx) const override;
61 virtual float depletionVoltage(const IdentifierHash& elementHash, const EventContext& ctx) const override;
62
63 private:
64
66
67 FloatProperty m_defaultTemperature{this, "Temperature", 10., "Default temperature (non-DB)"};
68 FloatProperty m_defaultBiasVoltage{this, "BiasVoltage", 150., "Default bias voltage (non-DB)"};
69 FloatProperty m_defaultDepletionVoltage{this, "DepletionVoltage", 70., "Default depletion voltage (non-DB)"};
70 BooleanProperty m_useDB{this, "UseDB", true, "Whether to used the conditions DB or not"};
71 BooleanProperty m_checkGeoModel{this, "CheckGeoModel", true};
72 BooleanProperty m_forceUseGeoModel{this, "ForceUseGeoModel", false};
73
74 ServiceHandle<IGeoModelSvc> m_geoModelSvc{this, "GeoModelSvc", "GeoModelSvc"};
75 ServiceHandle<IRDBAccessSvc> m_rdbSvc{this, "RDBAccessSvc", "RDBAccessSvc"};
76
80 bool m_useGeoModel{false};
81
82 SG::ReadCondHandleKey<SCT_DCSFloatCondData> m_condKeyHV{this, "CondKeyHV", "SCT_SiliconBiasVoltCondData", "SCT silicon bias voltage"};
83 SG::ReadCondHandleKey<SCT_DCSFloatCondData> m_condKeyTemp{this, "CondKeyTemp", "SCT_SiliconTempCondData", "SCT silicon temperature"};
84
85 const SCT_ID* m_sct_id{nullptr};
86
87 const SCT_DCSFloatCondData* getCondDataHV(const EventContext& ctx) const;
88 const SCT_DCSFloatCondData* getCondDataTemp(const EventContext& ctx) const;
89 };
90
91#endif // SCT_SiliconConditionsTool_h
Definition of the abstract IRDBAccessSvc interface.
header file for data object for SCT_DCSConditions{HV,Temp}CondAlg, SCT_DCSConditionsTool,...
This is a "hash" representation of an Identifier.
Class for data object used in SCT_DCSConditions{HV,Temp}CondAlg, SCT_DCSConditionsTool,...
This is an Identifier helper class for the SCT subdetector.
Definition SCT_ID.h:68
const SCT_DCSFloatCondData * getCondDataHV(const EventContext &ctx) const
SG::ReadCondHandleKey< SCT_DCSFloatCondData > m_condKeyHV
virtual ~SCT_SiliconConditionsTool()=default
Destructor.
virtual float depletionVoltage(const Identifier &elementId, const EventContext &ctx) const override
Silicon depletion voltage by Identifier.
virtual StatusCode initialize() override
Initialise.
SCT_SiliconConditionsTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
ServiceHandle< IRDBAccessSvc > m_rdbSvc
ServiceHandle< IGeoModelSvc > m_geoModelSvc
const SCT_DCSFloatCondData * getCondDataTemp(const EventContext &ctx) const
SG::ReadCondHandleKey< SCT_DCSFloatCondData > m_condKeyTemp
virtual StatusCode finalize() override
Finalise.
virtual float biasVoltage(const Identifier &elementId, const EventContext &ctx) const override
Silicon bias voltage by Identifier.
virtual float temperature(const Identifier &elementId, const EventContext &ctx) const override
Silicon temperature by Identifier.