ATLAS Offline Software
Loading...
Searching...
No Matches
ISiLorentzAngleTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
9#ifndef ISiLorentzAngleTool_h
10#define ISiLorentzAngleTool_h
11
12//Gaudi Includes
13#include "GaudiKernel/IAlgTool.h"
14#include "GaudiKernel/EventContext.h"
15#include "GaudiKernel/ThreadLocalContext.h"
16// Amg
18
19//forward declarations
20class IdentifierHash;
21
27class ISiLorentzAngleTool: virtual public IAlgTool
28{
29public:
30 virtual ~ISiLorentzAngleTool() = default;
31
34
37 virtual double getLorentzShift(const IdentifierHash& elementHash, const EventContext& ctx) const = 0;
38
41 virtual double getLorentzShift(const IdentifierHash& elementHash, const Amg::Vector2D& locPos) const = 0;
42
45 virtual double getLorentzShiftEta(const IdentifierHash& elementHash) const = 0;
46
49 virtual double getLorentzShiftEta(const IdentifierHash& elementHash, const Amg::Vector2D& locPos) const = 0;
50
53 virtual double getTanLorentzAngle(const IdentifierHash& elementHash, const EventContext& ctx) const = 0;
54
57 virtual double getTanLorentzAngle(const IdentifierHash& elementHash, const Amg::Vector2D& locPos) const = 0;
58
61 virtual double getTanLorentzAngleEta(const IdentifierHash& elementHash) const = 0;
62
65 virtual double getTanLorentzAngleEta(const IdentifierHash& elementHash, const Amg::Vector2D& locPos) const = 0;
66
68 virtual double getBiasVoltage(const IdentifierHash& elementHash) const = 0;
69
71 virtual double getTemperature(const IdentifierHash& elementHash) const = 0;
72
74 virtual double getDepletionVoltage(const IdentifierHash& elementHash) const = 0;
75};
76
77#endif // ISiLorentzAngleTool_h
Interface class for tool providing Lorentz angle (and the corresponding shift of the measurement) for...
virtual double getLorentzShiftEta(const IdentifierHash &elementHash) const =0
Get the Lorentz angle shift in the local y (etaDist) direction Assumes the center of the detector and...
virtual double getTanLorentzAngleEta(const IdentifierHash &elementHash) const =0
Get tan af the Lorentz angle in the local y (etaDist) direction Assumes the center of the detector an...
virtual double getTemperature(const IdentifierHash &elementHash) const =0
Get temperature.
DeclareInterfaceID(ISiLorentzAngleTool, 1, 0)
Creates the InterfaceID and interfaceID() method.
virtual double getLorentzShift(const IdentifierHash &elementHash, const Amg::Vector2D &locPos) const =0
As above, but provide the local position.
virtual ~ISiLorentzAngleTool()=default
virtual double getBiasVoltage(const IdentifierHash &elementHash) const =0
Get bias voltage.
virtual double getTanLorentzAngle(const IdentifierHash &elementHash, const Amg::Vector2D &locPos) const =0
As above, but provide the local position.
virtual double getLorentzShiftEta(const IdentifierHash &elementHash, const Amg::Vector2D &locPos) const =0
As above, but provide the local position.
virtual double getTanLorentzAngleEta(const IdentifierHash &elementHash, const Amg::Vector2D &locPos) const =0
As above, but provide the local position.
virtual double getDepletionVoltage(const IdentifierHash &elementHash) const =0
Get depletion voltage.
virtual double getLorentzShift(const IdentifierHash &elementHash, const EventContext &ctx) const =0
Get the Lorentz angle shift in the local x (phiDist) direction Assumes the center of the detector and...
virtual double getTanLorentzAngle(const IdentifierHash &elementHash, const EventContext &ctx) const =0
Get tan af the Lorentz angle in the local x (phiDist) direction Assumes the center of the detector an...
This is a "hash" representation of an Identifier.
Eigen::Matrix< double, 2, 1 > Vector2D