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// Amg
17
18//forward declarations
19class IdentifierHash;
20
26class ISiLorentzAngleTool: virtual public IAlgTool
27{
28public:
29 virtual ~ISiLorentzAngleTool() = default;
30
33
36 virtual double getLorentzShift(const IdentifierHash& elementHash, const EventContext& ctx) const = 0;
37
40 virtual double getLorentzShift(const IdentifierHash& elementHash, const Amg::Vector2D& locPos) const = 0;
41
44 virtual double getLorentzShiftEta(const IdentifierHash& elementHash) const = 0;
45
48 virtual double getLorentzShiftEta(const IdentifierHash& elementHash, const Amg::Vector2D& locPos) const = 0;
49
52 virtual double getTanLorentzAngle(const IdentifierHash& elementHash, const EventContext& ctx) const = 0;
53
56 virtual double getTanLorentzAngle(const IdentifierHash& elementHash, const Amg::Vector2D& locPos) const = 0;
57
60 virtual double getTanLorentzAngleEta(const IdentifierHash& elementHash) const = 0;
61
64 virtual double getTanLorentzAngleEta(const IdentifierHash& elementHash, const Amg::Vector2D& locPos) const = 0;
65
67 virtual double getBiasVoltage(const IdentifierHash& elementHash) const = 0;
68
70 virtual double getTemperature(const IdentifierHash& elementHash) const = 0;
71
73 virtual double getDepletionVoltage(const IdentifierHash& elementHash) const = 0;
74};
75
76#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