ATLAS Offline Software
Loading...
Searching...
No Matches
SCT_DCSConditionsTool.h
Go to the documentation of this file.
1// -*- C++ -*-
2
3/*
4 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
5*/
6
7#ifndef SCT_DCSConditionsTool_h
8#define SCT_DCSConditionsTool_h
18// Athena
21
23#include "Identifier/Identifier.h"
27
28// Gaudi
29#include "Gaudi/Property.h"
30#include "GaudiKernel/EventContext.h"
31
32// STL
33#include <string>
34
35class SCT_ID;
36
40class SCT_DCSConditionsTool: public extends<AthAlgTool, ISCT_DCSConditionsTool> {
41
42public:
43 SCT_DCSConditionsTool(const std::string& type, const std::string& name, const IInterface* parent);
44 virtual ~SCT_DCSConditionsTool() = default;
45 virtual StatusCode initialize() override;
46 virtual StatusCode finalize() override;
47
49
50
51 virtual bool canReportAbout(InDetConditions::Hierarchy h) const override;
52 //returns the module ID (int), or returns 9999 (not a valid module number) if not able to report
53 virtual Identifier getModuleID(const Identifier& elementId, InDetConditions::Hierarchy h) const;
55 virtual bool isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
57 virtual bool isGood(const IdentifierHash& hashId, const EventContext& ctx) const override;
58 virtual void getDetectorElementStatus(const EventContext& ctx, InDet::SiDetectorElementStatus &element_status,
60 //Returns HV (0 if there is no information)
61 virtual float modHV(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
62 //Does the same for hashIds
63 virtual float modHV(const IdentifierHash& hashId, const EventContext& ctx) const override;
64 //Returns temp0 (0 if there is no information)
65 virtual float hybridTemperature(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
66 //Does the same for hashIds
67 virtual float hybridTemperature(const IdentifierHash& hashId, const EventContext& ctx) const override;
68 //Returns temp0 + correction for Lorentz angle calculation (0 if there is no information)
69 virtual float sensorTemperature(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
70 //Does the same for hashIds
71 virtual float sensorTemperature(const IdentifierHash& hashId, const EventContext& ctx) const override;
73
74private:
75 //Key for DataHandle
76 BooleanProperty m_readAllDBFolders{this, "ReadAllDBFolders", true};
77 BooleanProperty m_returnHVTemp{this, "ReturnHVTemp", true};
78 FloatProperty m_barrel_correction{this, "TempBarrelCorrection", -3.7};
79 FloatProperty m_ecInner_correction{this, "TempEcInnerCorrection", -13.1};
80 FloatProperty m_ecOuter_correction{this, "TempEcOuterCorrection", -15.5};
81 SG::ReadCondHandleKey<SCT_DCSStatCondData> m_condKeyState{this, "CondKeyState", "SCT_DCSStatCondData", "SCT DCS state"};
82 SG::ReadCondHandleKey<SCT_DCSFloatCondData> m_condKeyHV{this, "CondKeyHV", "SCT_DCSHVCondData", "SCT DCS HV"};
83 SG::ReadCondHandleKey<SCT_DCSFloatCondData> m_condKeyTemp0{this, "CondKeyTemp0", "SCT_DCSTemp0CondData", "SCT DCS temperature on side 0"};
84 const SCT_ID* m_pHelper{nullptr};
85 static const Identifier s_invalidId;
86 static const float s_defaultHV;
87 static const float s_defaultTemperature;
88 const SCT_DCSStatCondData* getCondDataState(const EventContext& ctx) const;
89 const SCT_DCSFloatCondData* getCondDataHV(const EventContext& ctx) const;
90 const SCT_DCSFloatCondData* getCondDataTemp0(const EventContext& ctx) const;
91};
92
93#endif // SCT_DCSConditionsTool_h
interface file for service that keeps track of errors in the bytestream.
Header containing the InDetHierarchy enum, to avoid pulling in a class every time it is needed and na...
header file for data object for SCT_DCSConditions{HV,Temp}CondAlg, SCT_DCSConditionsTool,...
header file for data object for SCT_DCSConditionsStatCondAlg, SCT_DCSConditionsTool,...
Header file for AthHistogramAlgorithm.
This is a "hash" representation of an Identifier.
SCT_DCSConditionsTool(const std::string &type, const std::string &name, const IInterface *parent)
SG::ReadCondHandleKey< SCT_DCSFloatCondData > m_condKeyHV
virtual ~SCT_DCSConditionsTool()=default
static const float s_defaultHV
SG::ReadCondHandleKey< SCT_DCSStatCondData > m_condKeyState
virtual float sensorTemperature(const Identifier &elementId, const EventContext &ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override
virtual StatusCode finalize() override
const SCT_DCSFloatCondData * getCondDataHV(const EventContext &ctx) const
static const float s_defaultTemperature
virtual float modHV(const Identifier &elementId, const EventContext &ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override
virtual void getDetectorElementStatus(const EventContext &ctx, InDet::SiDetectorElementStatus &element_status, SG::WriteCondHandle< InDet::SiDetectorElementStatus > *whandle) const override
const SCT_DCSFloatCondData * getCondDataTemp0(const EventContext &ctx) const
virtual bool isGood(const Identifier &elementId, const EventContext &ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override
Summarise the result from the service as good/bad.
virtual bool canReportAbout(InDetConditions::Hierarchy h) const override
Return whether this service can report on the hierarchy level (e.g. module, chip.....
const SCT_DCSStatCondData * getCondDataState(const EventContext &ctx) const
SG::ReadCondHandleKey< SCT_DCSFloatCondData > m_condKeyTemp0
virtual Identifier getModuleID(const Identifier &elementId, InDetConditions::Hierarchy h) const
virtual float hybridTemperature(const Identifier &elementId, const EventContext &ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override
virtual StatusCode initialize() override
BooleanProperty m_readAllDBFolders
static const Identifier s_invalidId
Class for data object used in SCT_DCSConditions{HV,Temp}CondAlg, SCT_DCSConditionsTool,...
Classs for data object used in SCT_DCSConditionsStatCondAlg, SCT_DCSConditionsTool,...
This is an Identifier helper class for the SCT subdetector.
Definition SCT_ID.h:68