ATLAS Offline Software
PixelSiLorentzAngleCondAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
11 #ifndef PIXELSILORENTZANGLECONDALG
12 #define PIXELSILORENTZANGLECONDALG
13 
15 
19 #include "GeoPrimitives/GeoPrimitives.h" //for Amg::Vector3D
20 
24 #include "GaudiKernel/SystemOfUnits.h" //for Gaudi::Units::tesla
26 
28 
30 // MagField cache
34 
36  public:
37  PixelSiLorentzAngleCondAlg(const std::string& name, ISvcLocator* pSvcLocator);
38  virtual ~PixelSiLorentzAngleCondAlg() = default;
39  virtual StatusCode initialize() override;
40  virtual StatusCode execute(const EventContext& ctx) const override;
41  virtual StatusCode finalize() override;
42 
43  private:
44 
45  Gaudi::Property<std::string> m_pixelIDName
46  {this, "PixelIDName", "PixelID", "Pixel ID name"};
47 
48 
50  {this, "ReadKeyeTemp", "PixelDCSTempCondData", "Key of input sensor temperature conditions folder"};
51 
53  {this, "ReadKeyHV", "PixelDCSHVCondData", "Key of input bias voltage conditions folder"};
54 
56  {this, "ReadKeyBFieldSensor", "/EXT/DCS/MAGNETS/SENSORDATA", "Key of input B-field sensor"};
57 
59  {this, "PixelDetEleCollKey", "PixelDetectorElementCollection", "Key of SiDetectorElementCollection for Pixel"};
60 
62  {this, "WriteKey", "PixelSiLorentzAngleCondData", "Key of output SiLorentzAngleCondData"};
63 
64  ToolHandle<ISiPropertiesTool> m_siPropertiesTool
65  {this, "SiPropertiesTool", "SiPropertiesTool", "Tool to retrieve SiProperties"};
66 
67  // Properties
68  DoubleProperty m_nominalField {this, "NominalField", 2.0834*Gaudi::Units::tesla, "Default nominal field"};
69  BooleanProperty m_useMagFieldCache{this, "UseMagFieldCache", true};
70  BooleanProperty m_useMagFieldDcs{this, "UseMagFieldDcs", true};
71  BooleanProperty m_disable3D{this, "Disable3DCorrection", false};
72 
73  unsigned int m_maxHash{};
74 
76 // Amg::Vector3D getMagneticField(const InDetDD::SiDetectorElement* element) const;
78  const InDetDD::SiDetectorElement* element) const;
79  // Read handle for conditions object to get the field cache
80  SG::ReadCondHandleKey<AtlasFieldCacheCondObj> m_fieldCondObjInputKey {this, "AtlasFieldCacheCondObj", "fieldCondObj",
81  "Name of the Magnetic Field conditions object key"};
83 };
84 
85 #endif
PixelSiLorentzAngleCondAlg::m_useMagFieldCache
BooleanProperty m_useMagFieldCache
Definition: PixelSiLorentzAngleCondAlg.h:69
PixelSiLorentzAngleCondAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: PixelSiLorentzAngleCondAlg.cxx:45
CondAttrListCollection.h
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
PixelSiLorentzAngleCondAlg::m_readKeyTemp
SG::ReadCondHandleKey< PixelDCSTempData > m_readKeyTemp
Definition: PixelSiLorentzAngleCondAlg.h:50
AtlasFieldCacheCondObj.h
PixelSiLorentzAngleCondAlg::m_pixelIDName
Gaudi::Property< std::string > m_pixelIDName
Definition: PixelSiLorentzAngleCondAlg.h:46
ISiPropertiesTool.h
WriteCondHandleKey.h
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
GeoPrimitives.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AtlasFieldCache.h
PixelSiLorentzAngleCondAlg::m_siPropertiesTool
ToolHandle< ISiPropertiesTool > m_siPropertiesTool
Definition: PixelSiLorentzAngleCondAlg.h:65
PixelDCSTempData.h
Store pixel temperature data in PixelDCSTempData.
PixelSiLorentzAngleCondAlg::m_pixelDetEleCollKey
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_pixelDetEleCollKey
Definition: PixelSiLorentzAngleCondAlg.h:59
PixelSiLorentzAngleCondAlg::m_maxHash
unsigned int m_maxHash
Definition: PixelSiLorentzAngleCondAlg.h:73
PixelSiLorentzAngleCondAlg::~PixelSiLorentzAngleCondAlg
virtual ~PixelSiLorentzAngleCondAlg()=default
ReadCondHandleKey.h
AthReentrantAlgorithm.h
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
PixelSiLorentzAngleCondAlg::m_readKeyBFieldSensor
SG::ReadCondHandleKey< CondAttrListCollection > m_readKeyBFieldSensor
Definition: PixelSiLorentzAngleCondAlg.h:56
PixelSiLorentzAngleCondAlg::m_fieldCondObjInputKey
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCondObjInputKey
Definition: PixelSiLorentzAngleCondAlg.h:80
PixelSiLorentzAngleCondAlg
Definition: PixelSiLorentzAngleCondAlg.h:35
SG::ReadCondHandleKey< PixelDCSTempData >
PixelSiLorentzAngleCondAlg::m_nominalField
DoubleProperty m_nominalField
Definition: PixelSiLorentzAngleCondAlg.h:68
MagField::AtlasFieldCache
Local cache for magnetic field (based on MagFieldServices/AtlasFieldSvcTLS.h)
Definition: AtlasFieldCache.h:43
PixelSiLorentzAngleCondAlg::m_useMagFieldDcs
BooleanProperty m_useMagFieldDcs
Definition: PixelSiLorentzAngleCondAlg.h:70
SG::WriteCondHandleKey< SiLorentzAngleCondData >
PixelSiLorentzAngleCondAlg::PixelSiLorentzAngleCondAlg
PixelSiLorentzAngleCondAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: PixelSiLorentzAngleCondAlg.cxx:14
PixelSiLorentzAngleCondAlg::m_readKeyHV
SG::ReadCondHandleKey< PixelDCSHVData > m_readKeyHV
Definition: PixelSiLorentzAngleCondAlg.h:53
PixelSiLorentzAngleCondAlg::initialize
virtual StatusCode initialize() override
Definition: PixelSiLorentzAngleCondAlg.cxx:19
PixelDCSHVData.h
Store pixel HV data in PixelDCSHVData.
PixelSiLorentzAngleCondAlg::m_disable3D
BooleanProperty m_disable3D
Definition: PixelSiLorentzAngleCondAlg.h:71
PixelSiLorentzAngleCondAlg::finalize
virtual StatusCode finalize() override
Definition: PixelSiLorentzAngleCondAlg.cxx:198
PixelSiLorentzAngleCondAlg::getMagneticField
Amg::Vector3D getMagneticField(MagField::AtlasFieldCache &m_fieldCache, const InDetDD::SiDetectorElement *element) const
Definition: PixelSiLorentzAngleCondAlg.cxx:203
PixelSiLorentzAngleCondAlg::m_writeKey
SG::WriteCondHandleKey< SiLorentzAngleCondData > m_writeKey
Definition: PixelSiLorentzAngleCondAlg.h:62