![]() |
ATLAS Offline Software
|
Concrete class for tool providing Lorentz angle (and the corresponding correction for the shift of the measurement) for each detector element. More...
#include <SiLorentzAngleTool.h>
Public Member Functions | |
| SiLorentzAngleTool (const std::string &type, const std::string &name, const IInterface *parent) | |
| virtual | ~SiLorentzAngleTool ()=default |
| virtual StatusCode | initialize () override |
| Service init. | |
| virtual StatusCode | finalize () override |
| Service finalize. | |
| virtual double | getLorentzShift (const IdentifierHash &elementHash, const EventContext &ctx) const override |
| Get the Lorentz shift correction in the local x (phiDist) direction Assumes the center of the detector and is generally cached. | |
| virtual double | getLorentzShift (const IdentifierHash &elementHash, const Amg::Vector2D &locPos) const override |
| As above, but provide the local position. | |
| virtual double | getLorentzShiftEta (const IdentifierHash &elementHash) const override |
| Get the Lorentz shift correction in the local y (etaDist) direction Assumes the center of the detector and is generally cached. | |
| virtual double | getLorentzShiftEta (const IdentifierHash &elementHash, const Amg::Vector2D &locPos) const override |
| As above, but provide the local position. | |
| virtual double | getTanLorentzAngle (const IdentifierHash &elementHash, const EventContext &ctx) const override |
| Get tan af the Lorentz angle in the local x (phiDist) direction Assumes the center of the detector and is generally cached. | |
| virtual double | getTanLorentzAngle (const IdentifierHash &elementHash, const Amg::Vector2D &locPos) const override |
| As above, but provide the local position. | |
| virtual double | getTanLorentzAngleEta (const IdentifierHash &elementHash) const override |
| Get tan af the Lorentz angle in the local y (etaDist) direction Assumes the center of the detector and is generally cached. | |
| virtual double | getTanLorentzAngleEta (const IdentifierHash &elementHash, const Amg::Vector2D &locPos) const override |
| As above, but provide the local position. | |
| virtual double | getBiasVoltage (const IdentifierHash &elementHash) const override |
| Get bias voltage. | |
| virtual double | getTemperature (const IdentifierHash &elementHash) const override |
| Get temperature. | |
| virtual double | getDepletionVoltage (const IdentifierHash &elementHash) const override |
| Get depletion voltage. | |
Private Types | |
| enum | Variable { LorentzShift , LorentzShiftEta , TanLorentzAngle , TanLorentzAngleEta } |
Private Member Functions | |
| double | getValue (const IdentifierHash &elementHash, const Amg::Vector2D &locPos, Variable variable) const |
| double | getCorrectionFactor () const |
| Amg::Vector3D | getMagneticField (const Amg::Vector3D &pointvec) const |
| const SiLorentzAngleCondData * | getCondData (const EventContext &ctx) const |
| const InDetDD::SiDetectorElement * | getDetectorElement (const IdentifierHash &waferHash) const |
Private Attributes | |
| std::string | m_detectorName |
| double | m_nominalField |
| bool | m_useMagFieldCache |
| bool | m_ignoreLocalPos |
| SG::ReadCondHandleKey< SiLorentzAngleCondData > | m_condData |
| SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > | m_detEleCollKey {this, "DetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT or Pixel"} |
| SG::ReadCondHandleKey< AtlasFieldCacheCondObj > | m_fieldCondObjInputKey {this, "AtlasFieldCacheCondObj", "fieldCondObj", "Name of the Magnetic Field conditions object key"} |
Static Private Attributes | |
| static const double | s_invalidValue {std::numeric_limits<double>::quiet_NaN()} |
Concrete class for tool providing Lorentz angle (and the corresponding correction for the shift of the measurement) for each detector element.
Definition at line 36 of file SiLorentzAngleTool.h.
|
private |
| Enumerator | |
|---|---|
| LorentzShift | |
| LorentzShiftEta | |
| TanLorentzAngle | |
| TanLorentzAngleEta | |
Definition at line 88 of file SiLorentzAngleTool.h.
| SiLorentzAngleTool::SiLorentzAngleTool | ( | const std::string & | type, |
| const std::string & | name, | ||
| const IInterface * | parent ) |
Definition at line 18 of file SiLorentzAngleTool.cxx.
|
virtualdefault |
|
overridevirtual |
Service finalize.
Definition at line 53 of file SiLorentzAngleTool.cxx.
|
overridevirtual |
Get bias voltage.
Definition at line 113 of file SiLorentzAngleTool.cxx.
|
private |
Definition at line 239 of file SiLorentzAngleTool.cxx.
|
private |
Definition at line 201 of file SiLorentzAngleTool.cxx.
|
overridevirtual |
Get depletion voltage.
Definition at line 129 of file SiLorentzAngleTool.cxx.
|
private |
Definition at line 249 of file SiLorentzAngleTool.cxx.
|
overridevirtual |
As above, but provide the local position.
More accurate but slower.
Definition at line 65 of file SiLorentzAngleTool.cxx.
|
overridevirtual |
Get the Lorentz shift correction in the local x (phiDist) direction Assumes the center of the detector and is generally cached.
Definition at line 57 of file SiLorentzAngleTool.cxx.
|
overridevirtual |
Get the Lorentz shift correction in the local y (etaDist) direction Assumes the center of the detector and is generally cached.
Definition at line 71 of file SiLorentzAngleTool.cxx.
|
overridevirtual |
As above, but provide the local position.
More accurate but slower.
Definition at line 79 of file SiLorentzAngleTool.cxx.
|
private |
Definition at line 210 of file SiLorentzAngleTool.cxx.
|
overridevirtual |
As above, but provide the local position.
More accurate but slower.
Definition at line 93 of file SiLorentzAngleTool.cxx.
|
overridevirtual |
Get tan af the Lorentz angle in the local x (phiDist) direction Assumes the center of the detector and is generally cached.
Definition at line 85 of file SiLorentzAngleTool.cxx.
|
overridevirtual |
Get tan af the Lorentz angle in the local y (etaDist) direction Assumes the center of the detector and is generally cached.
Definition at line 99 of file SiLorentzAngleTool.cxx.
|
overridevirtual |
As above, but provide the local position.
More accurate but slower.
Definition at line 107 of file SiLorentzAngleTool.cxx.
|
overridevirtual |
Get temperature.
Definition at line 121 of file SiLorentzAngleTool.cxx.
|
private |
Definition at line 137 of file SiLorentzAngleTool.cxx.
|
overridevirtual |
Service init.
Definition at line 31 of file SiLorentzAngleTool.cxx.
|
private |
Definition at line 101 of file SiLorentzAngleTool.h.
|
private |
Definition at line 97 of file SiLorentzAngleTool.h.
|
private |
Definition at line 102 of file SiLorentzAngleTool.h.
|
private |
Definition at line 103 of file SiLorentzAngleTool.h.
|
private |
Definition at line 100 of file SiLorentzAngleTool.h.
|
private |
Definition at line 98 of file SiLorentzAngleTool.h.
|
private |
Definition at line 99 of file SiLorentzAngleTool.h.
|
staticprivate |
Definition at line 259 of file SiLorentzAngleTool.h.