|
ATLAS Offline Software
|
Go to the documentation of this file.
10 #ifndef MUONREADOUTGEOMETRY_CSCREADOUTELEMENT_H
11 #define MUONREADOUTGEOMETRY_CSCREADOUTELEMENT_H
20 class CombinedMuonAlignModule;
23 class CscInternalAlignmentPar;
24 class GeoVFullPhysVol;
123 double StripWidth(
int chlayer,
int measphi)
const;
124 double StripPitch(
int chlayer,
int measphi)
const;
139 inline double excent()
const;
283 std::array<double, maxwlay>
m_wireplanez{make_array<double, maxwlay>(-9999.)};
346 #endif // MUONREADOUTGEOMETRY_CSCREADOUTELEMENT_H
double getGasGapIntAlign_s(int gasGap) const
void set_strippitch(double)
Amg::Transform3D globalToLocalTransf(const Identifier &id) const
double StripWidth(int chlayer, int measphi) const
int NphiStripLayers() const
virtual void fillCache() override
Amg::Vector3D wireLayerPos(const Identifier &id) const
Ensure that the Athena extensions are properly loaded.
double anodeCathodeDistance() const
double m_anodecathode_distance
std::array< double, maxwlay > m_wireplanez
void set_first_strip_localcoo(double)
virtual bool containsId(const Identifier &id) const override
double getGasGapIntAlign_rotz(int gasGap) const
double m_cscIntTransl[4][3]
double m_RlengthUpToMaxWidth
void setChamberLayer(int cl)
Amg::Vector3D localWireLayerPos(const Identifier &id) const
Amg::Vector3D localClusterPos(int eta, int wireLayer, int measPhi, double x0) const
takes into account internal alignment parameters, hence gives generally answer (local here is the sta...
Scalar eta() const
pseudorapidity method
double lengthUpToMaxWidth() const
Eigen::Matrix< double, 2, 1 > Vector2D
Amg::Vector3D nominalLocalClusterPos(int eta, int wireLayer, int measPhi, double x0) const
ignores internal alignment parameters, hence gives generally incorrect answer (local here is the stat...
Amg::Vector3D localStripLayerPos(const IdentifierHash &id) const
Amg::Vector3D nominalLocalStripPos(const Identifier &id) const
ignores internal alignment parameters, hence gives generally incorrect answer (local here is the stat...
void set_nstriplayers(int)
double xCoordinateInTrackingFrame(const Identifier &id) const
Amg::Vector3D stripLayerPos(const Identifier &id) const
double getGasGapIntAlign_z(int gasGap) const
virtual bool spacePointPosition(const Identifier &phiId, const Identifier &etaId, Amg::Vector2D &pos) const override
space point position for a given pair of phi and eta identifiers The LocalPosition is expressed in th...
void set_nwiresperlayer(int)
void set_wirepitch(double)
This class provides conversion from CSC RDO data to CSC Digits.
double getLongSsize() const
Amg::Vector3D globalToLocalCoords(const Amg::Vector3D &x, const Identifier &id) const
virtual const Trk::PlaneSurface & surface() const override
access to chamber surface (phi orientation), uses the first gas gap
double stripLength(int chamberLayer, int measuresPhi, int stripNumber, double &epsilon) const
Amg::Vector3D originForInternalALines(int gasGap) const
like tracking center but nominal - returns a Amg::Vector3D not a reference to it
Amg::Vector3D stripPosOnTrackingSurface(const Identifier &id) const
nominal strip pos in the tracking local frame of the measurement surface
void setCscInternalAlignmentPar(const ALinePar &)
double shortWidth() const
int wireLayer(const Identifier &id) const
virtual double distanceToReadout(const Amg::Vector2D &pos, const Identifier &id) const override final
distance to readout.
int NetaStrips(int gasgaplayer) const
int maxNumberOfStrips(int measuresPhi) const
Amg::Vector3D nominalStripPos(const Identifier &id) const
ignores internal alignment parameters, hence gives generally incorrect answer
double lengthCorrection(int measuresPhi, double stripPos) const
Amg::Vector3D globalPos(const Amg::Vector3D &localP) const
station-level method: does not depend on the strip view/layer, hence it cannot account for internal a...
Amg::Vector3D nominalCenter(int gasGap) const
like tracking center but nominal - returns a Amg::Vector3D not a reference to it
Amg::Vector3D localStripPos(const Identifier &id) const
takes into account internal alignment parameters, hence gives generally accurate answer (local here i...
virtual bool stripPosition(const Identifier &id, Amg::Vector2D &pos) const override final
strip position If the strip number is outside the range of valid strips, the function will return fal...
void set_nwirelayers(int)
Amg::Transform3D localToGlobalTransf(const Identifier &id) const
double getGasGapIntAlign_rots(int gasGap) const
Eigen::Affine3d Transform3D
double activeWidth(int measuresPhi) const
double m_first_wire_localcoo
double StripPitch(int chlayer, int measphi) const
const MuonDetectorManager * manager() const
double roxacellWidth() const
Amg::Vector3D localToGlobalCoords(const Amg::Vector3D &x, const Identifier &id) const
localToGlobalCoords and Transf connect the Gas Gap Frame (defined as a Sensitive Detector) to the Glo...
friend class Muon::CscAlignModule
virtual int boundaryHash(const Identifier &id) const override final
returns the hash function to be used to look up the surface boundary for a given identifier
void set_stripwidth(double)
virtual int layerHash(const Identifier &id) const override final
returns the hash function to be used to look up the center and the normal of the tracking surface for...
double m_first_strip_localcoo
Eigen::Matrix< double, 3, 1 > Vector3D
double getGasGapIntAlign_t(int gasGap) const
CscReadoutElement(GeoVFullPhysVol *pv, const std::string &stName, MuonDetectorManager *mgr)
friend class Muon::CombinedMuonAlignModule
Amg::Vector3D localStripLayerPos(const Identifier &id) const
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
double getGasGapIntAlign_rott(int gasGap) const
virtual ~CscReadoutElement()
double sinStereo(const Identifier &stripId) const
virtual int surfaceHash(const Identifier &id) const override final
returns the hash function to be used to look up the surface and surface transform for a given identif...
Amg::Vector3D nominalGlobalPos(const Amg::Vector3D &localP) const
ignores internal alignment parameters, hence gives generally incorrect answer
Amg::Vector3D localPos(const Amg::Vector3D &globalP) const
station-level method: does not depend on the strip view/layer, hence it cannot account for internal a...
void set_nstripsperlayer(int)
virtual int numberOfLayers(bool) const override final
number of layers in phi/eta projection
virtual bool measuresPhi(const Identifier &id) const override final
returns whether the given identifier measures phi or not
bool measuresPhi(const Identifier &id) const override
Amg::Vector3D stripPos(const Identifier &id) const
takes into account internal alignment parameters, hence gives accurate answer
const CscIdHelper * cscIdHelper() const
void set_first_wire_localcoo(double)
virtual void localToGlobal(const Amg::Vector2D &locp, const Amg::Vector3D &mom, Amg::Vector3D &glob) const override final
Specified for PlaneSurface: LocalToGlobal method without dynamic memory allocation.
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
virtual int stripNumber(const Amg::Vector2D &pos, const Identifier &id) const override final
strip number corresponding to local position.
int NetaStripLayers() const
Amg::Transform3D nominalTransform(const Identifier &id) const
like tracking Transform but nominal - returns a transform not a reference to it
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]
int NphiStrips(int gasgaplayer) const
virtual int numberOfStrips(const Identifier &layerId) const override final
number of strips per layer
double cathodeReadoutPitch(int chLayer, int measuresPhi) const