|
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef MUONREADOUTGEOMETRYR4_STGCREADOUTELEMENT_H
5 #define MUONREADOUTGEOMETRYR4_STGCREADOUTELEMENT_H
15 class TrapezoidBounds;
31 Pad = sTgcIdHelper::sTgcChannelTypes::Pad,
32 Strip = sTgcIdHelper::sTgcChannelTypes::Strip,
33 Wire = sTgcIdHelper::sTgcChannelTypes::Wire,
73 #ifndef SIMULATIONBASE
275 const unsigned int channelType,
277 const unsigned int wireInGrp = 0);
Amg::Vector2D localChannelPosition(const Identifier &measId) const
Returns the local pad/strip/wireGroup position.
double sFrameWidth() const
Width of the chamber frame on the short side.
Amg::Transform3D fromGapToChamOrigin(const IdentifierHash &layerHash) const
double yCutout(const Identifier &measId) const
Returns the yCutout value of the chamber.
int multilayer(const Identifier &id) const
sTgcReadoutElement(defineArgs &&args)
int multilayer() const
Returns the multilayer of the sTgcReadoutElement.
double firstStripPitch(const Identifier &measId) const
Gas Gaps.
double padHeight(const Identifier &measId) const
Returns the height of all the pads that are not adjacent to the bottom edge of the trapezoid active a...
double halfChamberTck
Thickness of the chamber.
virtual const sTgcIdHelper & stgcIdHelper() const =0
access to TgcIdHelper
std::array< Amg::Vector2D, 4 > localCornerArray
Returns an array of four 2D vectors representing corner positions of the pads.
unsigned int padEta(const Identifier &measId) const
Returns the Eta index of the pad for the given pad identifier.
const unsigned int m_hashShiftChType
Auxillary variables to translate the Identifier to a measurement hash and back.
DetectorType
Simple enum to Identify the Type of the ACTS sub detector.
unsigned int numPadEta(const Identifier &measId) const
Returns the number of pads in the eta direction in the given layer.
Eigen::Matrix< double, 2, 1 > Vector2D
std::vector< double > firstStripPitch
std::array< Amg::Vector3D, 4 > globalCornerArray
Returns an array of four 3D vectors representing corner positions of the pads.
const StripDesign & stripDesign(const Identifier &measId) const
Retrieves the readoutElement Layer given the Identifier/Hash.
unsigned int numPadPhi(const Identifier &measId) const
Returns the number of pads in the Phi direction in the given gasGap layer.
double gasGapPitch() const
Distance between 2 gas gaps.
ActsTrk::DetectorType detectorType() const override final
Overload from the ActsTrk::IDetectorElement.
double thickness() const override final
Thickness of the chamber.
The MuonReadoutElement is an abstract class representing the geometry representing the muon detector.
unsigned int nChTypes() const
Number of Channel Types.
double lHalfChamberLength
Length of the chamber on the long side.
ReadoutChannelType
ReadoutChannelType to distinguish the available readout channels Pad - pad readout channel Strip - et...
double stripLength(const Identifier &measId) const
Length of each strip.
double lFrameWidth
Width of the chamber frame on the long side.
bool const RAWDATA *ch2 const
double sPadLength(const Identifier &measId) const
Length of gas Gap on short side for wireGroup/Pads.
StatusCode initElement() override final
Element initialization.
unsigned int padNumber(const Identifier &measId) const
Returns the pad number in the conventional pad numbering scheme from the sequential channel number.
IdentifierHash measurementHash(const Identifier &measId) const override final
Constructs the identifier hash from the full measurement Identifier.
double chamberHeight() const
Height of the chamber.
double firstPadPhiDiv(const Identifier &measId) const
Returns the angle of the first pad outer edge w.r.t. the gasGap center from the beamline for the give...
double padPhiShift(const Identifier &measId) const
Returns the staggering shift of inner pad edges in the phi direction.
const WireGroupDesign & wireDesign(const Identifier &measId) const
Retrieves the readoutElement Layer given the Identifier/Hash.
static IdentifierHash createHash(const unsigned int gasGap, const unsigned int channelType, const unsigned int channel, const unsigned int wireInGrp=0)
Create a measurement hash from the Identifier fields.
The ReadoutGeomCnvAlg converts the Run4 Readout geometry build from the GeoModelXML into the legacy M...
unsigned int numWireGroups(unsigned int gasGap) const
Number of wire groups in the gas gap.
const Muon::IMuonIdHelperSvc * idHelperSvc() const
Returns the pointer to the muonIdHelperSvc.
::StatusCode StatusCode
StatusCode definition for legacy code.
std::vector< StripLayer > wireGroupLayers
Amg::Vector3D chamberStripPos(const IdentifierHash &measHash) const
const parameterBook & getParameters() const
Eigen::Affine3d Transform3D
Amg::Vector3D leftStripEdge(const ActsGeometryContext &ctx, const IdentifierHash &measHash) const
double lFrameWidth() const
Width of the chamber frame on the long side.
double gapHeight(const Identifier &measId) const
Height of gas Gap.
bool isEtaZero(const IdentifierHash &measurementHash, const Amg::Vector2D &localPosition) const
constexpr unsigned count_ones(unsigned x)
Count number of set bits.
double halfChamberHeight
sTGC Chamber Details
Identifier measurementId(const IdentifierHash &measHash) const override final
Converts the measurement hash back to the full Identifier.
Include the GeoPrimitives which need to be put first.
double beamlineRadius(const Identifier &measId) const
Returns the distance between the gasGap center and the beamline.
std::vector< StripLayer > padLayers
ActsTrk::SurfaceBoundSetPtr< Acts::TrapezoidBounds > layerBounds
double sChamberLength() const
Length of the chamber on the short side.
double sFrameWidth
Width of the chamber frame on the short side.
Definition of ATLAS Math & Geometry primitives (Amg)
Amg::Vector3D globalChannelPosition(const ActsGeometryContext &ctx, const Identifier &measId) const
Returns the global pad/strip/wireGroup position.
double lChamberLength() const
Length of the chamber on the long side.
double gasGapThickness() const
Returns the thickness of the gas gap.
static unsigned int gasGapNumber(const IdentifierHash &measHash)
Returns the gasGap (0 to 3) for a given identifierHash.
Helper struct to ship the defining arguments of the detector element around.
const sTgcIdHelper & m_idHelper
unsigned int wireGroupWidth(unsigned int gasGap) const
Number of wires in a normal wire group.
double sGapLength(const Identifier &measId) const
Length of gas Gap on short side for strips.
Amg::Vector3D rightStripEdge(const ActsGeometryContext &ctx, const IdentifierHash &measHash) const
Identifier identify() const override final
Return the athena identifier.
Eigen::Matrix< double, 3, 1 > Vector3D
unsigned int numWires(unsigned int gasGap) const
Number of wires in the gas gap.
unsigned int numLayers() const
Returns the number of gas gap layers.
unsigned int padPhi(const Identifier &measId) const
Returns the Phi index of the pad for the given pad identifier.
const PadDesign & padDesign(const Identifier &measId) const
Retrieves the readoutElement Layer given the Identifier/Hash.
virtual ~sTgcReadoutElement()
unsigned int firstWireGroupWidth(unsigned int gasGap) const
Number of wires in the first wire group.
double stripWidth(const Identifier &measId) const
Width of a strip.
double anglePadPhi(const Identifier &measId) const
Returns the angular pitch of the pads in the phi direction.
double gasTck
Thickness of the gas gap.
StripDesignPtr stripDesign
WireDesignPtr wireGroupDesign
double wireCutout(unsigned int gasGap) const
Wire Cutout of a gas Gap.
globalCornerArray globalPadCorners(const ActsGeometryContext &ctx, const Identifier &measId) const
localCornerArray localPadCorners(const Identifier &measId) const
unsigned int numPads(const Identifier &measId) const
Pads Total number of pads in the given layer.
unsigned int numStrips(const Identifier &measId) const
Strips Number of strips in a chamber.
Set of parameters to describe an sTGC chamber.
double lGapLength(const Identifier &measId) const
Length of gas Gap on long side for strips.
unsigned int numLayers
Number of gas gap layers.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
double wirePitch(const Identifier &measId) const
Wires Pitch of the wire.
const StripLayer & stripLayer(const Identifier &measId) const
std::shared_ptr< SurfaceBoundSet< BoundType > > SurfaceBoundSetPtr
Aberivation to create a new SurfaceBoundSetPtr.
double yCutout
Diamond cutout height.
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
std::pair< uint, uint > padEtaPhi(const Identifier &measId) const
Returns a pair of Eta and Phi index for the given pad identifier.
double lPadLength(const Identifier &measId) const
Length of gas Gap on long side for wireGroup/Pads.
IdentifierHash layerHash(const Identifier &measId) const override final
Transforms the Identifier into a layer hash.
static unsigned int channelNumber(const IdentifierHash &measHash)
Returns channel position for a given identifierHash.
std::ostream & operator<<(std::ostream &ostr, const Chamber::defineArgs &args)
unsigned int maxPadEta(const Identifier &measId) const
Returns the maximum number of pads that can be contained in a column of a pad. Used to match the pad ...
unsigned int nChTypes
Number of channel types.
double firstPadHeight(const Identifier &measId) const
Returns the height of the pads that are adjacent to the bottom edge of the trapezoid active area.
double stripPitch(const Identifier &measId) const
Pitch of a strip.
std::vector< StripLayer > stripLayers
double sHalfChamberLength
Length of the chamber on the short side.
double wireWidth(const Identifier &measId) const
Width of a single wire.