ATLAS Offline Software
SCTSiLorentzAngleCondAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
9 #ifndef SCTSiLorentzAngleCondAlg_h
10 #define SCTSiLorentzAngleCondAlg_h
11 
12 // Athena includes
14 
25 
26 // Gaudi includes
27 #include "GaudiKernel/ServiceHandle.h"
28 #include "GaudiKernel/SystemOfUnits.h"
29 #include "GaudiKernel/ToolHandle.h"
30 
37 {
38  public:
39  SCTSiLorentzAngleCondAlg(const std::string& name, ISvcLocator* pSvcLocator);
40  virtual ~SCTSiLorentzAngleCondAlg() = default;
41  virtual StatusCode initialize() override final;
42  virtual StatusCode execute(const EventContext& ctx) const override final;
43  virtual StatusCode finalize() override final;
44  virtual bool isReEntrant() const override final { return false; }
45 
46  private:
47  SG::ReadCondHandleKey<SCT_DCSFloatCondData> m_readKeyTemp{this, "ReadKeyTemp", "SCT_SiliconTempCondData", "Key of input SCT temperature"};
48  SG::ReadCondHandleKey<SCT_DCSFloatCondData> m_readKeyHV{this, "ReadKeyHV", "SCT_SiliconBiasVoltCondData", "Key of input SCT HV"};
49  // The /GLOBAL/BField/Maps folder is run-lumi folder and has just one IOV. The folder is not used for IOV determination.
50  SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> m_SCTDetEleCollKey{this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"};
51  // Read handle for conditions object to get the field cache
52  SG::ReadCondHandleKey<AtlasFieldCacheCondObj> m_fieldCondObjInputKey {this, "AtlasFieldCacheCondObj", "fieldCondObj",
53  "Name of the Magnetic Field conditions object key"};
54  SG::WriteCondHandleKey<SiLorentzAngleCondData> m_writeKey{this, "WriteKey", "SCTSiLorentzAngleCondData", "Key of output SiLorentzAngleCondData"};
55 
56  ToolHandle<ISiliconConditionsTool> m_siConditionsTool{this, "SiConditionsTool", "SCT_SiliconConditionsTool", "Tool to retrieve SCT silicon information"};
57 
58  // Properties
59  // YOU NEED TO USE THE SAME PROPERTIES AS USED IN SCTLorentzAngleTool!!!
60  DoubleProperty m_temperature{this, "Temperature", -7., "Default temperature in Celcius."};
61  DoubleProperty m_temperatureMin{this, "TemperatureMin", -80., "Minimum temperature allowed in Celcius."};
62  DoubleProperty m_temperatureMax{this, "TemperatureMax", 100., "Maximum temperature allowed in Celcius."};
63  DoubleProperty m_deplVoltage{this, "DepletionVoltage", 70., "Default depletion voltage in Volt."};
64  DoubleProperty m_biasVoltage{this, "BiasVoltage", 150., "Default bias voltage in Volt."};
65  DoubleProperty m_nominalField{this, "NominalField", 2.0834*Gaudi::Units::tesla};
66  BooleanProperty m_useMagFieldCache{this, "UseMagFieldCache", true};
67  BooleanProperty m_useMagFieldDcs{this, "UseMagFieldDcs", true};
68  BooleanProperty m_sctDefaults{this, "useSctDefaults", false};
69  BooleanProperty m_useGeoModel{this, "UseGeoModel", false};
70  unsigned int m_maxHash;
71 
73 
74 };
75 
76 #endif // SCTSiLorentzAngleCondAlg_h
SCTSiLorentzAngleCondAlg::initialize
virtual StatusCode initialize() override final
Definition: SCTSiLorentzAngleCondAlg.cxx:29
SCTSiLorentzAngleCondAlg::m_nominalField
DoubleProperty m_nominalField
Definition: SCTSiLorentzAngleCondAlg.h:65
SCTSiLorentzAngleCondAlg::~SCTSiLorentzAngleCondAlg
virtual ~SCTSiLorentzAngleCondAlg()=default
SCTSiLorentzAngleCondAlg::m_temperatureMin
DoubleProperty m_temperatureMin
Definition: SCTSiLorentzAngleCondAlg.h:61
CondAttrListCollection.h
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
AtlasFieldCacheCondObj.h
SCTSiLorentzAngleCondAlg::isReEntrant
virtual bool isReEntrant() const override final
Definition: SCTSiLorentzAngleCondAlg.h:44
SCTSiLorentzAngleCondAlg::m_SCTDetEleCollKey
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_SCTDetEleCollKey
Definition: SCTSiLorentzAngleCondAlg.h:50
WriteCondHandleKey.h
SCTSiLorentzAngleCondAlg
Definition: SCTSiLorentzAngleCondAlg.h:37
SCTSiLorentzAngleCondAlg::finalize
virtual StatusCode finalize() override final
Definition: SCTSiLorentzAngleCondAlg.cxx:214
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
SCTSiLorentzAngleCondAlg::m_temperature
DoubleProperty m_temperature
Definition: SCTSiLorentzAngleCondAlg.h:60
SCTSiLorentzAngleCondAlg::m_maxHash
unsigned int m_maxHash
Definition: SCTSiLorentzAngleCondAlg.h:70
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
SCTSiLorentzAngleCondAlg::m_useMagFieldCache
BooleanProperty m_useMagFieldCache
Definition: SCTSiLorentzAngleCondAlg.h:66
SCTSiLorentzAngleCondAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override final
Definition: SCTSiLorentzAngleCondAlg.cxx:58
GeoPrimitives.h
SCTSiLorentzAngleCondAlg::SCTSiLorentzAngleCondAlg
SCTSiLorentzAngleCondAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: SCTSiLorentzAngleCondAlg.cxx:23
SCTSiLorentzAngleCondAlg::m_sctDefaults
BooleanProperty m_sctDefaults
Definition: SCTSiLorentzAngleCondAlg.h:68
SCTSiLorentzAngleCondAlg::m_readKeyHV
SG::ReadCondHandleKey< SCT_DCSFloatCondData > m_readKeyHV
Definition: SCTSiLorentzAngleCondAlg.h:48
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AtlasFieldCache.h
SCT_DCSFloatCondData.h
header file for data object for SCT_DCSConditions{HV,Temp}CondAlg, SCT_DCSConditionsTool,...
SCTSiLorentzAngleCondAlg::m_siConditionsTool
ToolHandle< ISiliconConditionsTool > m_siConditionsTool
Definition: SCTSiLorentzAngleCondAlg.h:56
ReadCondHandleKey.h
AthReentrantAlgorithm.h
SCTSiLorentzAngleCondAlg::getMagneticField
Amg::Vector3D getMagneticField(MagField::AtlasFieldCache &fieldCache, const InDetDD::SiDetectorElement *element) const
Definition: SCTSiLorentzAngleCondAlg.cxx:219
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
SiLorentzAngleCondData.h
python.SystemOfUnits.tesla
int tesla
Definition: SystemOfUnits.py:228
InDetDD::SiDetectorElement
Definition: SiDetectorElement.h:109
SiDetectorElementCollection.h
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
SCTSiLorentzAngleCondAlg::m_useGeoModel
BooleanProperty m_useGeoModel
Definition: SCTSiLorentzAngleCondAlg.h:69
SCTSiLorentzAngleCondAlg::m_useMagFieldDcs
BooleanProperty m_useMagFieldDcs
Definition: SCTSiLorentzAngleCondAlg.h:67
SG::ReadCondHandleKey< SCT_DCSFloatCondData >
SCTSiLorentzAngleCondAlg::m_fieldCondObjInputKey
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCondObjInputKey
Definition: SCTSiLorentzAngleCondAlg.h:52
SCTSiLorentzAngleCondAlg::m_biasVoltage
DoubleProperty m_biasVoltage
Definition: SCTSiLorentzAngleCondAlg.h:64
SCTSiLorentzAngleCondAlg::m_temperatureMax
DoubleProperty m_temperatureMax
Definition: SCTSiLorentzAngleCondAlg.h:62
MagField::AtlasFieldCache
Local cache for magnetic field (based on MagFieldServices/AtlasFieldSvcTLS.h)
Definition: AtlasFieldCache.h:43
ISiliconConditionsTool.h
SG::WriteCondHandleKey< SiLorentzAngleCondData >
SCTSiLorentzAngleCondAlg::m_deplVoltage
DoubleProperty m_deplVoltage
Definition: SCTSiLorentzAngleCondAlg.h:63
SCTSiLorentzAngleCondAlg::m_readKeyTemp
SG::ReadCondHandleKey< SCT_DCSFloatCondData > m_readKeyTemp
Definition: SCTSiLorentzAngleCondAlg.h:47
SCTSiLorentzAngleCondAlg::m_writeKey
SG::WriteCondHandleKey< SiLorentzAngleCondData > m_writeKey
Definition: SCTSiLorentzAngleCondAlg.h:54