|
ATLAS Offline Software
|
An sTgcReadoutElement corresponds to a single STGC module; therefore typicaly a barrel muon station contains:
More...
#include <sTgcReadoutElement.h>
|
| sTgcReadoutElement (GeoVFullPhysVol *pv, const std::string &stName, int zi, int fi, int mL, MuonDetectorManager *mgr) |
| constructor More...
|
|
| ~sTgcReadoutElement () |
| destructor More...
|
|
virtual bool | containsId (const Identifier &id) const override final |
| function to be used to check whether a given Identifier is contained in the readout element More...
|
|
virtual double | distanceToReadout (const Amg::Vector2D &pos, const Identifier &id) const override final |
| distance to readout. More...
|
|
virtual int | stripNumber (const Amg::Vector2D &pos, const Identifier &id) const override final |
| strip number corresponding to local position. More...
|
|
double | channelPitch (const Identifier &id) const |
| Channel pitch. More...
|
|
virtual bool | stripPosition (const Identifier &id, Amg::Vector2D &pos) const override final |
| strip position - should be renamed to channel position If the strip number is outside the range of valid strips, the function will return false More...
|
|
bool | stripGlobalPosition (const Identifier &id, Amg::Vector3D &gpos) const |
|
int | padNumber (const Amg::Vector2D &pos, const Identifier &id) const |
| pad number corresponding to local position More...
|
|
int | wireNumber (const Amg::Vector2D &pos, const Identifier &id) const |
| wire number corresponding to local position More...
|
|
double | wirePitch (int gas_gap=1) const |
| single wire pitch. More...
|
|
double | positionFirstWire (const Identifier &id) const |
| Get the local position of the first wire of the chamber corresponding to the identifier. More...
|
|
int | numberOfWires (const Identifier &id) const |
| Get the total number of wires (single wires) of a chamber. More...
|
|
bool | padPosition (const Identifier &id, Amg::Vector2D &pos) const |
| pad position More...
|
|
bool | padGlobalPosition (const Identifier &id, Amg::Vector3D &gpos) const |
| pad global position More...
|
|
bool | padCorners (const Identifier &id, std::array< Amg::Vector2D, 4 > &corners) const |
| pad corners More...
|
|
bool | padGlobalCorners (const Identifier &id, std::array< Amg::Vector3D, 4 > &gcorners) const |
| pad global corners More...
|
|
bool | isEtaZero (const Identifier &id, const Amg::Vector2D &localPosition) const |
| is eta=0 of QL1 or QS1? Support for Strip and Pad cathodes is valid when the Strip, Pad and Wire surfaces have the same dimensions. More...
|
|
virtual int | numberOfLayers (bool) const override final |
| number of layers in phi/eta projection More...
|
|
virtual int | numberOfStrips (const Identifier &layerId) const override final |
| number of strips per layer More...
|
|
virtual int | numberOfStrips (int, bool measuresPhi) const override final |
|
int | numberOfPads (const Identifier &layerId) const |
| Get the number of pad per layer. More...
|
|
int | maxPadNumber (const Identifier &layerId) const |
| Get largest pad number, which is different to the number of pads in a gas volume due to the pad numbering in Athena. More...
|
|
virtual bool | spacePointPosition (const Identifier &phiId, const Identifier &etaId, Amg::Vector2D &pos) const override final |
| space point position for a given pair of phi and eta identifiers The LocalPosition is expressed in the reference frame of the phi surface. More...
|
|
virtual bool | spacePointPosition (const Identifier &phiId, const Identifier &etaId, Amg::Vector3D &pos) const override final |
| Global space point position for a given pair of phi and eta identifiers If one of the identifiers is outside the valid range, the function will return false. More...
|
|
void | spacePointPosition (const Amg::Vector2D &phiPos, const Amg::Vector2D &etaPos, Amg::Vector2D &pos) const |
| space point position for a pair of phi and eta local positions and a layer identifier The LocalPosition is expressed in the reference frame of the phi projection. More...
|
|
void | spacePointPosition (const Identifier &layerId, double locXpos, double locYpos, Amg::Vector3D &pos) const |
| space point position, corrected for chamber deformations (b-lines), if b-lines are enabled. More...
|
|
Amg::Vector3D | localToGlobalCoords (const Amg::Vector3D &locPos, Identifier id) const |
| simHit local (SD) To Global position - to be used by MuonGeoAdaprors only
More...
|
|
virtual void | fillCache () override final |
| function to fill tracking cache More...
|
|
virtual int | surfaceHash (const Identifier &id) const override final |
| returns the hash to be used to look up the surface and transform in the MuonClusterReadoutElement tracking cache More...
|
|
int | surfaceHash (int gasGap, int channelType) const |
| returns the hash to be used to look up the surface and transform in the MuonClusterReadoutElement tracking cache More...
|
|
virtual int | layerHash (const Identifier &id) const override |
| returns the hash to be used to look up the normal and center in the MuonClusterReadoutElement tracking cache More...
|
|
virtual int | boundaryHash (const Identifier &id) const override final |
| returns the hash to be used to look up the normal and center in the MuonClusterReadoutElement tracking cache More...
|
|
virtual bool | measuresPhi (const Identifier &id) const override final |
| returns whether the current identifier corresponds to a phi measurement More...
|
|
void | initDesign (double thickness) |
| initialize the design classes for this readout element More...
|
|
const MuonChannelDesign * | getDesign (const Identifier &id) const |
| returns the MuonChannelDesign class for the given identifier More...
|
|
const MuonChannelDesign * | getDesign (int gasGap, int channelType) const |
| returns the MuonChannelDesign class
More...
|
|
const MuonPadDesign * | getPadDesign (const Identifier &id) const |
| returns the MuonChannelDesign class for the given identifier More...
|
|
MuonPadDesign * | getPadDesign (const Identifier &id) |
|
const MuonPadDesign * | getPadDesign (int gasGap) const |
| returns the MuonChannelDesign More...
|
|
void | setChamberLayer (int ml) |
| set methods only to be used by MuonGeoModel More...
|
|
const Amg::Transform3D & | getDelta () const |
| read A-line parameters and include the chamber rotation/translation in the local-to-global (ATLAS) reference frame transformaton More...
|
|
void | setDelta (const ALinePar &aline) |
|
void | setBLinePar (const BLinePar &bLine) |
| read B-line (chamber-deformation) parameters More...
|
|
void | posOnDefChamber (Amg::Vector3D &locPosML) const |
| transform a position (in chamber-frame coordinates) to the deformed-chamber geometry More...
|
|
bool | has_ALines () const |
|
bool | has_BLines () const |
|
const ALinePar * | getALinePar () const |
|
const BLinePar * | getBLinePar () const |
|
void | clearALinePar () |
|
void | clearBLinePar () |
|
virtual Amg::Vector3D | AmdbLRSToGlobalCoords (const Amg::Vector3D &x) const override final |
|
virtual Amg::Transform3D | AmdbLRSToGlobalTransform () const override final |
|
virtual Amg::Vector3D | GlobalToAmdbLRSCoords (const Amg::Vector3D &x) const override final |
|
virtual Amg::Transform3D | GlobalToAmdbLRSTransform () const override final |
|
virtual void | clearCache () override final |
| clear the cache of the readout elememt More...
|
|
virtual const Trk::PlaneSurface & | surface () const override |
| access to chamber surface (phi orientation), uses the first gas gap More...
|
|
virtual const Trk::PlaneSurface & | surface (const Identifier &id) const override |
| access to layer surfaces More...
|
|
const Trk::PlaneSurface & | surface (int surfHash) const |
| access to layer surfaces More...
|
|
virtual const Trk::SurfaceBounds & | bounds () const override |
| Return the boundaries of the element. More...
|
|
virtual const Trk::SurfaceBounds & | bounds (const Identifier &id) const override |
| Return the boundaries of the surface associated with this identifier. More...
|
|
const Trk::SurfaceBounds & | bounds (int boundHash) const |
|
virtual const Amg::Vector3D & | center () const override |
| Return the center of the element. More...
|
|
virtual const Amg::Vector3D & | center (const Identifier &id) const override |
| Return the center of the surface associated with this identifier In the case of silicon it returns the same as center() More...
|
|
const Amg::Vector3D & | center (int layHash) const |
|
virtual const Amg::Vector3D & | normal () const override |
| Return the normal of the element. More...
|
|
virtual const Amg::Vector3D & | normal (const Identifier &id) const override |
| Return the normal of the surface associated with this identifier In the case of silicon it returns the same as normal() More...
|
|
const Amg::Vector3D & | normal (int layHash) const |
|
virtual const Amg::Transform3D & | transform () const override |
| Return local to global transform. More...
|
|
virtual const Amg::Transform3D & | transform (const Identifier &id) const override |
| Return local to global transform associated with this identifier. More...
|
|
const Amg::Transform3D & | transform (int surfHash) const |
|
virtual std::vector< const Trk::Surface * > | surfaces () const |
| returns all the surfaces contained in this detector element More...
|
|
Identifier | identify () const override final |
| Returns the ATLAS Identifier of the MuonReadOutElement. More...
|
|
IdentifierHash | identifyHash () const override final |
| Returns the IdentifierHash of the MuonStation, i.e. More...
|
|
IdentifierHash | detectorElementHash () const |
| Returns the IdentifierHash of the detector element. More...
|
|
void | setIdentifier (const Identifier &id) |
| Sets the Identifier, hashes & station names. More...
|
|
int | getStationIndex () const |
|
int | getStationEta () const |
|
int | getStationPhi () const |
|
const Amg::Vector3D | globalPosition () const |
|
const Amg::Transform3D & | absTransform () const |
|
const Amg::Transform3D & | defTransform () const |
|
std::string | getTechnologyType () const |
|
const std::string & | getTechnologyName () const |
|
void | setTechnologyName (const std::string &str) |
|
std::string | getStationType () const |
|
const std::string & | getStationName () const |
|
void | setStationName (const std::string &) |
|
double | getSsize () const |
|
double | getRsize () const |
|
double | getZsize () const |
|
double | getLongSsize () const |
|
double | getLongRsize () const |
|
double | getLongZsize () const |
|
double | getStationS () const |
| Seems to be exclusively used by the MDTs --> Move it to MdtReadoutElement. More...
|
|
void | setStationS (double) |
|
void | setLongSsize (double) |
|
void | setLongRsize (double) |
|
void | setLongZsize (double) |
|
void | setSsize (double) |
|
void | setRsize (double) |
|
void | setZsize (double) |
|
bool | largeSector () const |
|
bool | smallSector () const |
|
bool | sideA () const |
|
bool | sideC () const |
|
void | setParentStationPV (const PVConstLink &) |
|
void | setParentStationPV () |
|
PVConstLink | parentStationPV () const |
|
const MuonStation * | parentMuonStation () const |
|
void | setParentMuonStation (const MuonStation *) |
|
Amg::Transform3D | toParentStation () const |
|
Amg::Vector3D | parentMuonStationPos () const |
|
int | getIndexOfREinMuonStation () const |
|
bool | hasCutouts () const |
|
void | setHasCutouts (bool flag) |
|
void | refreshCache () |
|
const Muon::IMuonIdHelperSvc * | idHelperSvc () const |
|
Trk::DetectorElemType | detectorType () const override final |
| Return the Detector element type. More...
|
|
std::string | detectorTypeString () const |
| Returns a string of the Detector element type. More...
|
|
bool | msgLvl (const MSG::Level lvl) const |
| Test the output level. More...
|
|
MsgStream & | msg () const |
| The standard message stream. More...
|
|
MsgStream & | msg (const MSG::Level lvl) const |
| The standard message stream. More...
|
|
void | setLevel (MSG::Level lvl) |
| Change the current logging level. More...
|
|
|
static constexpr int | m_nlayers {4} |
|
static constexpr std::array< double, 94 > | LBANDIDSP |
|
static constexpr std::array< double, 92 > | SBANDIDSP |
|
An sTgcReadoutElement corresponds to a single STGC module; therefore typicaly a barrel muon station contains:
Definition at line 30 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/sTgcReadoutElement.h.
◆ sTgcReadoutElement()
MuonGM::sTgcReadoutElement::sTgcReadoutElement |
( |
GeoVFullPhysVol * |
pv, |
|
|
const std::string & |
stName, |
|
|
int |
zi, |
|
|
int |
fi, |
|
|
int |
mL, |
|
|
MuonDetectorManager * |
mgr |
|
) |
| |
◆ ~sTgcReadoutElement()
MuonGM::sTgcReadoutElement::~sTgcReadoutElement |
( |
| ) |
|
|
default |
◆ absTransform()
◆ AmdbLRSToGlobalCoords()
|
inlinefinaloverridevirtual |
◆ AmdbLRSToGlobalTransform()
virtual Amg::Transform3D MuonGM::sTgcReadoutElement::AmdbLRSToGlobalTransform |
( |
| ) |
const |
|
inlinefinaloverridevirtual |
◆ boundaryHash()
int MuonGM::sTgcReadoutElement::boundaryHash |
( |
const Identifier & |
id | ) |
const |
|
inlinefinaloverridevirtual |
◆ bounds() [1/3]
|
inlineoverridevirtualinherited |
◆ bounds() [2/3]
|
inlineoverridevirtualinherited |
◆ bounds() [3/3]
◆ center() [1/3]
|
inlineoverridevirtualinherited |
◆ center() [2/3]
|
inlineoverridevirtualinherited |
◆ center() [3/3]
◆ channelPitch()
double MuonGM::sTgcReadoutElement::channelPitch |
( |
const Identifier & |
id | ) |
const |
◆ clearALinePar()
void MuonGM::sTgcReadoutElement::clearALinePar |
( |
| ) |
|
◆ clearBLinePar()
void MuonGM::sTgcReadoutElement::clearBLinePar |
( |
| ) |
|
|
inline |
◆ clearCache()
void MuonGM::MuonClusterReadoutElement::clearCache |
( |
| ) |
|
|
finaloverridevirtualinherited |
◆ containsId()
◆ defTransform()
◆ detectorElementHash()
IdentifierHash MuonGM::MuonReadoutElement::detectorElementHash |
( |
| ) |
const |
|
inlineinherited |
◆ detectorType()
|
inlinefinaloverridevirtualinherited |
◆ detectorTypeString()
std::string Trk::TrkDetElementBase::detectorTypeString |
( |
| ) |
const |
|
inherited |
◆ distanceToReadout()
|
inlinefinaloverridevirtual |
◆ fillCache()
void MuonGM::sTgcReadoutElement::fillCache |
( |
| ) |
|
|
finaloverridevirtual |
◆ getALinePar()
const ALinePar* MuonGM::sTgcReadoutElement::getALinePar |
( |
| ) |
const |
|
inline |
◆ getBLinePar()
const BLinePar* MuonGM::sTgcReadoutElement::getBLinePar |
( |
| ) |
const |
|
inline |
◆ getDelta()
◆ getDesign() [1/2]
◆ getDesign() [2/2]
◆ getIndexOfREinMuonStation()
int MuonGM::MuonReadoutElement::getIndexOfREinMuonStation |
( |
| ) |
const |
|
inherited |
◆ getLongRsize()
double MuonGM::MuonReadoutElement::getLongRsize |
( |
| ) |
const |
|
inlineinherited |
◆ getLongSsize()
double MuonGM::MuonReadoutElement::getLongSsize |
( |
| ) |
const |
|
inlineinherited |
◆ getLongZsize()
double MuonGM::MuonReadoutElement::getLongZsize |
( |
| ) |
const |
|
inlineinherited |
◆ getPadDesign() [1/3]
◆ getPadDesign() [2/3]
◆ getPadDesign() [3/3]
◆ getRsize()
double MuonGM::MuonReadoutElement::getRsize |
( |
| ) |
const |
|
inlineinherited |
◆ getSsize()
double MuonGM::MuonReadoutElement::getSsize |
( |
| ) |
const |
|
inlineinherited |
◆ getStationEta()
int MuonGM::MuonReadoutElement::getStationEta |
( |
| ) |
const |
|
inlineinherited |
◆ getStationIndex()
int MuonGM::MuonReadoutElement::getStationIndex |
( |
| ) |
const |
|
inlineinherited |
◆ getStationName()
const std::string & MuonGM::MuonReadoutElement::getStationName |
( |
| ) |
const |
|
inlineinherited |
◆ getStationPhi()
int MuonGM::MuonReadoutElement::getStationPhi |
( |
| ) |
const |
|
inlineinherited |
◆ getStationS()
double MuonGM::MuonReadoutElement::getStationS |
( |
| ) |
const |
|
inlineinherited |
◆ getStationType()
std::string MuonGM::MuonReadoutElement::getStationType |
( |
| ) |
const |
|
inlineinherited |
◆ getTechnologyName()
const std::string & MuonGM::MuonReadoutElement::getTechnologyName |
( |
| ) |
const |
|
inlineinherited |
◆ getTechnologyType()
std::string MuonGM::MuonReadoutElement::getTechnologyType |
( |
| ) |
const |
|
inlineinherited |
◆ getZsize()
double MuonGM::MuonReadoutElement::getZsize |
( |
| ) |
const |
|
inlineinherited |
◆ globalPosition()
◆ GlobalToAmdbLRSCoords()
|
inlinefinaloverridevirtual |
◆ GlobalToAmdbLRSTransform()
virtual Amg::Transform3D MuonGM::sTgcReadoutElement::GlobalToAmdbLRSTransform |
( |
| ) |
const |
|
inlinefinaloverridevirtual |
◆ has_ALines()
bool MuonGM::sTgcReadoutElement::has_ALines |
( |
| ) |
const |
|
inline |
◆ has_BLines()
bool MuonGM::sTgcReadoutElement::has_BLines |
( |
| ) |
const |
|
inline |
◆ hasCutouts()
bool MuonGM::MuonReadoutElement::hasCutouts |
( |
| ) |
const |
|
inlineinherited |
◆ identify()
Identifier MuonGM::MuonReadoutElement::identify |
( |
| ) |
const |
|
inlinefinaloverridevirtualinherited |
◆ identifyHash()
|
inlinefinaloverridevirtualinherited |
◆ idHelperSvc()
◆ initDesign()
void MuonGM::sTgcReadoutElement::initDesign |
( |
double |
thickness | ) |
|
initialize the design classes for this readout element
Definition at line 423 of file MuonDetDescr/MuonReadoutGeometry/src/sTgcReadoutElement.cxx.
425 if (
manager()->MinimalGeoFlag() == 0) {
426 PVConstLink pvc {getMaterialGeom()};
427 unsigned int nchildvol = pvc->getNChildVols();
429 std::string::size_type npos;
430 for (
unsigned ich = 0; ich < nchildvol; ++ich) {
431 PVConstLink
pc = pvc->getChildVol(ich);
432 std::string childname = (
pc->getLogVol())->
getName();
435 if ((npos = childname.find(
"Sensitive")) != std::string::npos) {
438 ATH_MSG_DEBUG(
"number of sTGC layers > 4: increase transform array size");
441 m_Xlg[llay - 1] = pvc->getXToChildVol(ich);
447 SmartIF<IGeoDbTagSvc> geoDbTag{Gaudi::svcLocator()->service(
"GeoDbTagSvc")};
◆ initDesignFromAGDD()
void MuonGM::sTgcReadoutElement::initDesignFromAGDD |
( |
double |
thickness | ) |
|
|
private |
◆ initDesignFromSQLite()
void MuonGM::sTgcReadoutElement::initDesignFromSQLite |
( |
double |
thickness | ) |
|
|
private |
Definition at line 77 of file MuonDetDescr/MuonReadoutGeometry/src/sTgcReadoutElement.cxx.
78 SmartIF<IGeoDbTagSvc> geoDbTag{Gaudi::svcLocator()->service(
"GeoDbTagSvc")};
79 SmartIF<IRDBAccessSvc> accessSvc{Gaudi::svcLocator()->service(geoDbTag->getParamSvcName())};
85 PVConstLink
parent = getMaterialGeom()->getParent();
86 unsigned int index=
parent->indexOf(getMaterialGeom());
87 std::string pVName=
parent->getNameOfChildVol(
index);
88 float yCutoutCathode(0);
89 if (nswPars->size()==0) {
92 yCutoutCathode=(*nswPars)[0]->getFloat(
"NSW_sTGC_yCutoutCathode");
95 for (
unsigned int ind = 0;
ind < wstgcRec->size();
ind++) {
96 std::string WSTGC_TYPE = (*wstgcRec)[
ind]->getString(
"WSTGC_TYPE");
99 if (std::abs(
getStationEta())!=(
int) (WSTGC_TYPE[7]-
'0'))
continue;
100 if (
m_ml != (
int) (pVName[7]-
'0'))
continue;
102 std::string logVolSubName=getMaterialGeom()->getLogVol()->getName().substr(7,4);
105 for (
w=0;
w<nswdimRec->size();
w++) {
106 nswdim = (*nswdimRec)[
w];
107 const std::string
type = nswdim->getString(
"NSW_TYPE").substr(5,4);
108 if (
type==logVolSubName) {
113 setSsize(nswdim->getDouble(
"BASE_WIDTH"));
115 setRsize(nswdim->getDouble(
"LENGTH"));
118 const double gasTck = (*wstgcRec)[
ind]->getDouble(
"gasTck");
119 const double Tck = (*wstgcRec)[
ind]->getDouble(
"Tck");
120 const double xFrame = (*wstgcRec)[
ind]->getDouble(
"xFrame");
121 const double ylFrame = (*wstgcRec)[
ind]->getDouble(
"ylFrame");
122 const double ysFrame = (*wstgcRec)[
ind]->getDouble(
"ysFrame");
123 const double wirePitch = (*wstgcRec)[
ind]->getDouble(
"wirePitch");
124 const double stripPitch = (*wstgcRec)[
ind]->getDouble(
"stripPitch");
125 const double stripWidth = (*wstgcRec)[
ind]->getDouble(
"stripWidth");
126 const double sPadWidth = (*wstgcRec)[
ind]->getDouble(
"sPadWidth");
127 const double lPadWidth = (*wstgcRec)[
ind]->getDouble(
"lPadWidth");
128 const double anglePadPhi = (*wstgcRec)[
ind]->getDouble(
"anglePadPhi");
129 const double sStripWidth = (*wstgcRec)[
ind]->getDouble(
"sStripWidth");
130 const double lStripWidth = (*wstgcRec)[
ind]->getDouble(
"lStripWidth");
131 const int wireGroupWidth = (*wstgcRec)[
ind]->getInt(
"wireGroupWidth");
132 const int nStrips = (*wstgcRec)[
ind]->getInt(
"nStrips");
133 const std::vector<double> padH =
tokenizeDouble((*wstgcRec)[
ind]->getString(
"padH"),
";");
134 const std::vector<double> rankPadPhi =
tokenizeDouble((*wstgcRec)[
ind]->getString(
"rankPadPhi"),
";");
135 const std::vector<int> nPadPhi =
tokenizeInt((*wstgcRec)[
ind]->getString(
"nPadPhi"),
";");
136 const std::vector<double> firstPadPhiDivision_C =
tokenizeDouble((*wstgcRec)[
ind]->getString(
"firstPadPhiDivision_C"),
";");
137 const std::vector<double> PadPhiShift_C =
tokenizeDouble((*wstgcRec)[
ind]->getString(
"PadPhiShift_C"),
";");
138 const std::vector<double> firstPadPhiDivision_A =
tokenizeDouble((*wstgcRec)[
ind]->getString(
"firstPadPhiDivision_A"),
";");
139 const std::vector<double> PadPhiShift_A =
tokenizeDouble((*wstgcRec)[
ind]->getString(
"PadPhiShift_A"),
";");
140 const std::vector<double> rankPadH =
tokenizeDouble((*wstgcRec)[
ind]->getString(
"rankPadH"),
";");
141 const std::vector<int> nPadH =
tokenizeInt((*wstgcRec)[
ind]->getString(
"nPadH"),
";");
142 const std::vector<double> firstPadH =
tokenizeDouble((*wstgcRec)[
ind]->getString(
"firstPadH"),
";");
143 const std::vector<double> firstPadRow =
tokenizeDouble((*wstgcRec)[
ind]->getString(
"firstPadRow"),
";");
144 const std::vector<double> wireCutout =
tokenizeDouble((*wstgcRec)[
ind]->getString(
"wireCutout"),
";");
145 const std::vector<int> nWires =
tokenizeInt((*wstgcRec)[
ind]->getString(
"nWires"),
";");
146 const std::vector<int> firstWire =
tokenizeInt((*wstgcRec)[
ind]->getString(
"firstWire"),
";");
147 const std::vector<double> firstTriggerBand =
tokenizeDouble((*wstgcRec)[
ind]->getString(
"firstTriggerBand"),
";");
148 const std::vector<int> nTriggerBands =
tokenizeInt((*wstgcRec)[
ind]->getString(
"nTriggerBands"),
";");
149 const std::vector<double> firstStripInTrigger =
tokenizeDouble((*wstgcRec)[
ind]->getString(
"firstStripInTrigger"),
";");
150 const std::vector<double> firstStripWidth =
tokenizeDouble((*wstgcRec)[
ind]->getString(
"firstStripWidth"),
";");
151 const std::vector<double> StripsInBandsLayer1 =
tokenizeDouble((*wstgcRec)[
ind]->getString(
"StripsInBandsLayer1"),
";");
152 const std::vector<double> StripsInBandsLayer2 =
tokenizeDouble((*wstgcRec)[
ind]->getString(
"StripsInBandsLayer2"),
";");
153 const std::vector<double> StripsInBandsLayer3 =
tokenizeDouble((*wstgcRec)[
ind]->getString(
"StripsInBandsLayer3"),
";");
154 const std::vector<double> StripsInBandsLayer4 =
tokenizeDouble((*wstgcRec)[
ind]->getString(
"StripsInBandsLayer4"),
";");
155 const std::vector<int> nWireGroups =
tokenizeInt((*wstgcRec)[
ind]->getString(
"nWireGroups"),
";");
156 const std::vector<double> firstWireGroup =
tokenizeDouble((*wstgcRec)[
ind]->getString(
"firstWireGroup"),
";");
161 std::string
side = (Etasign > 0) ?
"A" :
"C";
185 0.5 * (
getRsize() - ysFrame - ylFrame));
189 0.5 * (
getRsize() - ysFrame - ylFrame), yCutout);
209 0.5 * (
getRsize() - ysFrame - ylFrame) );
213 0.5 * (
getRsize() - ysFrame - ylFrame), yCutout);
261 if (sector_l ==
'L') {
◆ initMessaging()
void AthMessaging::initMessaging |
( |
| ) |
const |
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
◆ isEtaZero()
is eta=0 of QL1 or QS1? Support for Strip and Pad cathodes is valid when the Strip, Pad and Wire surfaces have the same dimensions.
Definition at line 382 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/sTgcReadoutElement.h.
385 const MuonChannelDesign* wireDesign = (
m_idHelper.
channelType(
id) == sTgcIdHelper::sTgcChannelTypes::Wire) ?
390 sTgcIdHelper::sTgcChannelTypes::Wire,
400 localPosition.x() : localPosition.y();
401 if (lpos < 0.5 * wireDesign->xSize() - wireDesign->wireCutout)
return true;
◆ largeSector()
bool MuonGM::MuonReadoutElement::largeSector |
( |
| ) |
const |
|
inherited |
◆ layerHash()
◆ localToGlobalCoords()
◆ manager()
◆ maxPadNumber()
int MuonGM::sTgcReadoutElement::maxPadNumber |
( |
const Identifier & |
layerId | ) |
const |
|
inline |
◆ measuresPhi()
bool MuonGM::sTgcReadoutElement::measuresPhi |
( |
const Identifier & |
id | ) |
const |
|
inlinefinaloverridevirtual |
◆ msg() [1/2]
MsgStream & AthMessaging::msg |
( |
| ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 164 of file AthMessaging.h.
◆ msg() [2/2]
MsgStream & AthMessaging::msg |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 179 of file AthMessaging.h.
180 {
return msg() << lvl; }
◆ msgLvl()
bool AthMessaging::msgLvl |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
Test the output level.
- Parameters
-
lvl | The message level to test against |
- Returns
- boolean Indicating if messages at given level will be printed
- Return values
-
true | Messages at level "lvl" will be printed |
Definition at line 151 of file AthMessaging.h.
◆ normal() [1/3]
|
inlineoverridevirtualinherited |
◆ normal() [2/3]
|
inlineoverridevirtualinherited |
◆ normal() [3/3]
◆ numberOfLayers()
int MuonGM::sTgcReadoutElement::numberOfLayers |
( |
bool |
| ) |
const |
|
inlinefinaloverridevirtual |
◆ numberOfPads()
int MuonGM::sTgcReadoutElement::numberOfPads |
( |
const Identifier & |
layerId | ) |
const |
|
inline |
◆ numberOfStrips() [1/2]
int MuonGM::sTgcReadoutElement::numberOfStrips |
( |
const Identifier & |
layerId | ) |
const |
|
inlinefinaloverridevirtual |
◆ numberOfStrips() [2/2]
int MuonGM::sTgcReadoutElement::numberOfStrips |
( |
int |
lay, |
|
|
bool |
measuresPhi |
|
) |
| const |
|
inlinefinaloverridevirtual |
◆ numberOfWires()
int MuonGM::sTgcReadoutElement::numberOfWires |
( |
const Identifier & |
id | ) |
const |
◆ padCorners()
◆ padGlobalCorners()
◆ padGlobalPosition()
◆ padNumber()
pad number corresponding to local position
Definition at line 600 of file MuonDetDescr/MuonReadoutGeometry/src/sTgcReadoutElement.cxx.
606 std::pair<int, int> pad(design->channelNumber(
pos));
608 if (pad.first > 0 && pad.second > 0) {
610 bool is_valid {
true};
612 const Identifier padID = id_helper.padID(
id, id_helper.multilayer(
id),
619 int channel = id_helper.channel(padID);
620 int padEta = id_helper.padEta(padID);
621 int padPhi = id_helper.padPhi(padID);
626 padEta != pad.first || padPhi != pad.second) {
628 ATH_MSG_WARNING(
" bad pad indices: input " << pad.first <<
" " << pad.second <<
" from ID " << padEta <<
" "
635 ATH_MSG_WARNING(__LINE__<<
" bad channelNumber" <<pad.first<<
" "<<pad.second );
◆ padPosition()
◆ parentMuonStation()
◆ parentMuonStationPos()
Amg::Vector3D MuonGM::MuonReadoutElement::parentMuonStationPos |
( |
| ) |
const |
|
inherited |
◆ parentStationPV()
PVConstLink MuonGM::MuonReadoutElement::parentStationPV |
( |
| ) |
const |
|
inherited |
◆ positionFirstWire()
double MuonGM::sTgcReadoutElement::positionFirstWire |
( |
const Identifier & |
id | ) |
const |
◆ posOnDefChamber()
void MuonGM::sTgcReadoutElement::posOnDefChamber |
( |
Amg::Vector3D & |
locPosML | ) |
const |
transform a position (in chamber-frame coordinates) to the deformed-chamber geometry
Definition at line 747 of file MuonDetDescr/MuonReadoutGeometry/src/sTgcReadoutElement.cxx.
752 double t0 = locPosML.x();
753 double s0 = locPosML.y();
754 double z0 = locPosML.z();
772 double ds{0.}, dz{0.},
dt{0.};
774 if (bp != 0 ||
bn != 0)
775 dt += 0.5*(s_rel*s_rel - 1)*((bp +
bn) + (bp -
bn)*z_rel);
777 if (sp != 0 || sn != 0)
778 dt += 0.5*(z_rel*z_rel - 1)*((sp + sn) + (sp - sn)*s_rel);
781 dt -= tw*s_rel*z_rel;
791 if (ep != 0 ||
en != 0) {
795 double delta = s_rel*s_rel * ((ep +
en)*s_rel/6 + (ep -
en)/4);
796 double phi = s_rel * ((ep +
en)*s_rel + (ep -
en)) / 2;
◆ refreshCache()
void MuonGM::MuonReadoutElement::refreshCache |
( |
| ) |
|
|
inherited |
◆ setBLinePar()
void MuonGM::sTgcReadoutElement::setBLinePar |
( |
const BLinePar & |
bLine | ) |
|
◆ setChamberLayer()
void MuonGM::sTgcReadoutElement::setChamberLayer |
( |
int |
ml | ) |
|
|
inline |
◆ setDelta()
void MuonGM::sTgcReadoutElement::setDelta |
( |
const ALinePar & |
aline | ) |
|
◆ setHasCutouts()
void MuonGM::MuonReadoutElement::setHasCutouts |
( |
bool |
flag | ) |
|
|
inlineinherited |
◆ setIdentifier()
◆ setIndexOfREinMuonStation()
void MuonGM::MuonReadoutElement::setIndexOfREinMuonStation |
( |
| ) |
|
|
privateinherited |
◆ setLevel()
void AthMessaging::setLevel |
( |
MSG::Level |
lvl | ) |
|
|
inherited |
◆ setLongRsize()
void MuonGM::MuonReadoutElement::setLongRsize |
( |
double |
v | ) |
|
|
inherited |
◆ setLongSsize()
void MuonGM::MuonReadoutElement::setLongSsize |
( |
double |
v | ) |
|
|
inherited |
◆ setLongZsize()
void MuonGM::MuonReadoutElement::setLongZsize |
( |
double |
v | ) |
|
|
inherited |
◆ setParentMuonStation()
void MuonGM::MuonReadoutElement::setParentMuonStation |
( |
const MuonStation * |
mstat | ) |
|
|
inherited |
◆ setParentStationPV() [1/2]
void MuonGM::MuonReadoutElement::setParentStationPV |
( |
| ) |
|
|
inherited |
Definition at line 77 of file MuonDetDescr/MuonReadoutGeometry/src/MuonReadoutElement.cxx.
80 std::string::size_type npos;
81 PVConstLink pStat = PVConstLink(
nullptr);
82 PVConstLink myphysvol(getMaterialGeom());
84 std::string
name = (myphysvol->getLogVol())->
getName();
85 if ((npos =
name.find(
"Station")) != std::string::npos) {
88 for (
unsigned int k = 0;
k < 10;
k++) {
89 pStat = myphysvol->getParent();
90 if (pStat == PVConstLink(
nullptr))
break;
92 if ((npos =
name.find(
"Station")) != std::string::npos) {
break; }
◆ setParentStationPV() [2/2]
void MuonGM::MuonReadoutElement::setParentStationPV |
( |
const PVConstLink & |
x | ) |
|
|
inherited |
◆ setRsize()
void MuonGM::MuonReadoutElement::setRsize |
( |
double |
v | ) |
|
|
inherited |
◆ setSsize()
void MuonGM::MuonReadoutElement::setSsize |
( |
double |
v | ) |
|
|
inherited |
◆ setStationName()
void MuonGM::MuonReadoutElement::setStationName |
( |
const std::string & |
str | ) |
|
|
inherited |
◆ setStationS()
void MuonGM::MuonReadoutElement::setStationS |
( |
double |
v | ) |
|
|
inherited |
◆ setTechnologyName()
void MuonGM::MuonReadoutElement::setTechnologyName |
( |
const std::string & |
str | ) |
|
|
inherited |
◆ setZsize()
void MuonGM::MuonReadoutElement::setZsize |
( |
double |
v | ) |
|
|
inherited |
◆ sideA()
bool MuonGM::MuonReadoutElement::sideA |
( |
| ) |
const |
|
inlineinherited |
◆ sideC()
bool MuonGM::MuonReadoutElement::sideC |
( |
| ) |
const |
|
inlineinherited |
◆ smallSector()
bool MuonGM::MuonReadoutElement::smallSector |
( |
| ) |
const |
|
inherited |
◆ spacePointPosition() [1/4]
◆ spacePointPosition() [2/4]
void MuonGM::sTgcReadoutElement::spacePointPosition |
( |
const Identifier & |
layerId, |
|
|
double |
locXpos, |
|
|
double |
locYpos, |
|
|
Amg::Vector3D & |
pos |
|
) |
| const |
space point position, corrected for chamber deformations (b-lines), if b-lines are enabled.
Accepts a precision (x) coordinate and a y-seed, in the local layer frame, and returns a 3D position, in the same frame so that sTgcReadoutElement::transform() can be directly cast on it. Accounts for: a) PCB deformations (as-built), if as-built conditions are enabled b) Chamber deformations (b-lines), if b-lines are enabled
Definition at line 809 of file MuonDetDescr/MuonReadoutGeometry/src/sTgcReadoutElement.cxx.
813 const MuonChannelDesign* design =
getDesign(layerId);
815 ATH_MSG_WARNING(
"Unable to get MuonChannelDesign, therefore cannot provide position corrections. Returning." );
819 bool conditionsApplied{
false};
822 #ifndef SIMULATIONBASE
836 int istrip = design->positionRelativeToStrip(lpos, rel_pos);
838 ATH_MSG_WARNING(
"As-built corrections are provided only for eta strips within the active area. Returning." );
854 pos[0] += (strip_id.
ilayer%2) ? 0.01 : -0.01;
859 conditionsApplied =
true;
872 if (!conditionsApplied) {
876 conditionsApplied =
true;
882 if (conditionsApplied)
pos = trfToML.inverse()*
pos;
◆ spacePointPosition() [3/4]
|
inlinefinaloverridevirtual |
◆ spacePointPosition() [4/4]
|
inlinefinaloverridevirtual |
◆ stripGlobalPosition()
◆ stripNumber()
|
inlinefinaloverridevirtual |
◆ stripPosition()
|
inlinefinaloverridevirtual |
◆ surface() [1/3]
|
inlineoverridevirtualinherited |
◆ surface() [2/3]
|
inlineoverridevirtualinherited |
◆ surface() [3/3]
access to layer surfaces
Definition at line 135 of file MuonClusterReadoutElement.h.
137 ATH_MSG_FATAL(__FILE__<<
":"<<__LINE__<<
" "<<__func__<<
" Requesting surface but cache is empty");
138 throw std::runtime_error(
"Empty surface cache");
◆ surfaceHash() [1/2]
|
inlinefinaloverridevirtual |
◆ surfaceHash() [2/2]
int MuonGM::sTgcReadoutElement::surfaceHash |
( |
int |
gasGap, |
|
|
int |
channelType |
|
) |
| const |
|
inline |
◆ surfaces()
std::vector< const Trk::Surface * > MuonGM::MuonClusterReadoutElement::surfaces |
( |
| ) |
const |
|
inlinevirtualinherited |
returns all the surfaces contained in this detector element
Definition at line 197 of file MuonClusterReadoutElement.h.
198 std::vector<const Trk::Surface*> elementSurfaces;
202 elementSurfaces.reserve(
m_surfaceData->m_layerSurfaces.size());
203 for (
const std::unique_ptr<Trk::PlaneSurface>&
ptr :
m_surfaceData->m_layerSurfaces) {
204 elementSurfaces.emplace_back(
ptr.get());
208 return elementSurfaces;
◆ toParentStation()
◆ transform() [1/3]
|
inlineoverridevirtualinherited |
◆ transform() [2/3]
|
inlineoverridevirtualinherited |
◆ transform() [3/3]
Definition at line 148 of file MuonClusterReadoutElement.h.
150 ATH_MSG_FATAL(__FILE__<<
":"<<__LINE__<<
" "<<__func__<<
" Requesting transform but cache is empty");
151 throw std::runtime_error(
"Empty transform cache");
◆ triggerBandIdToRadius()
double MuonGM::sTgcReadoutElement::triggerBandIdToRadius |
( |
bool |
isLarge, |
|
|
int |
triggerBand |
|
) |
| |
|
inlinestatic |
◆ wireNumber()
◆ wirePitch()
double MuonGM::sTgcReadoutElement::wirePitch |
( |
int |
gas_gap = 1 | ) |
const |
◆ MuonGMR4::ReadoutGeomCnvAlg
◆ ATLAS_THREAD_SAFE
std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
|
mutableprivateinherited |
◆ LBANDIDSP
constexpr std::array<double, 94> MuonGM::sTgcReadoutElement::LBANDIDSP |
|
staticconstexprprivate |
Initial value:= {
10, 10, 10, 10, 10, 10, 1156.72, 1187.98, 1231.87, 1271.34, 1312.87, 1354.56, 1396.38, 1438.07,
1479.73, 1521.44, 1563.11, 1604.8, 1646.48, 1688.02, 1729.84, 1771.51, 1813.2, 1854.89, 1896.57, 1938.26, 1979.93, 2021.61,
2063.14, 2104.98, 2146.55, 2181.64, 2209.01, 2251.65, 2282.54, 2313.27, 2356.24, 2396.73, 2438.29, 2480.09, 2521.75, 2563.46,
2605.11, 2646.85, 2688.48, 2730.19, 2771.86, 2813.41, 2855.21, 2896.93, 2938.61, 2980.26, 3021.95, 3063.63, 3105.31, 3146.98,
3188.85, 3230.37, 3272.05, 3313.77, 3353.77, 3376.19, 3426.09, 3464.49, 3506.78, 3563.91, 3589.03, 3626.17, 3667.84, 3709.56,
3751.33, 3792.92, 3834.58, 3876.27, 3917.9, 3959.62, 4001.29, 4043.03, 4084.66, 4126.39, 4168.05, 4209.74, 4251.38, 4293.16,
4334.72, 4376.47, 4417.54, 4459.75, 4496.31, 4543.27, 4584.77, 4626.47, 4668.25, 4701.14
}
Definition at line 233 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/sTgcReadoutElement.h.
◆ m_ALinePar
◆ m_BLinePar
◆ m_caching
int MuonGM::MuonReadoutElement::m_caching {-1} |
|
protectedinherited |
◆ m_delta
Amg::Transform3D MuonGM::sTgcReadoutElement::m_delta {Amg::Transform3D::Identity()} |
|
private |
◆ m_detectorElIdhash
◆ m_diamondShape
bool MuonGM::sTgcReadoutElement::m_diamondShape {false} |
|
private |
◆ m_eta
int MuonGM::MuonReadoutElement::m_eta {-1} |
|
privateinherited |
◆ m_etaDesign
◆ m_hasCutouts
bool MuonGM::MuonReadoutElement::m_hasCutouts {false} |
|
protectedinherited |
◆ m_id
◆ m_idhash
◆ m_idHelper
◆ m_idHelperSvc
◆ m_imsg
std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr } |
|
mutableprivateinherited |
◆ m_indexOfREinMuonStation
int MuonGM::MuonReadoutElement::m_indexOfREinMuonStation {-999} |
|
privateinherited |
◆ m_LongRsize
double MuonGM::MuonReadoutElement::m_LongRsize {-9999.} |
|
protectedinherited |
◆ m_LongSsize
double MuonGM::MuonReadoutElement::m_LongSsize {-9999.} |
|
protectedinherited |
◆ m_LongZsize
double MuonGM::MuonReadoutElement::m_LongZsize {-9999.} |
|
protectedinherited |
◆ m_lvl
std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL } |
|
mutableprivateinherited |
◆ m_ml
int MuonGM::sTgcReadoutElement::m_ml {0} |
|
private |
◆ m_msg_tls
boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls |
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
◆ m_muon_mgr
◆ m_nlayers
constexpr int MuonGM::sTgcReadoutElement::m_nlayers {4} |
|
staticconstexprprivate |
◆ m_nm
std::string AthMessaging::m_nm |
|
privateinherited |
◆ m_offset
double MuonGM::sTgcReadoutElement::m_offset {0.} |
|
private |
◆ m_padDesign
std::array<MuonPadDesign,4> MuonGM::sTgcReadoutElement::m_padDesign {} |
|
private |
◆ m_parentMuonStation
◆ m_parentStationPV
PVConstLink MuonGM::MuonReadoutElement::m_parentStationPV {nullptr} |
|
privateinherited |
◆ m_phi
int MuonGM::MuonReadoutElement::m_phi {-1} |
|
privateinherited |
◆ m_phiDesign
◆ m_Rsize
double MuonGM::MuonReadoutElement::m_Rsize {-9999.} |
|
protectedinherited |
◆ m_Ssize
double MuonGM::MuonReadoutElement::m_Ssize {-9999.} |
|
protectedinherited |
◆ m_stationS
double MuonGM::MuonReadoutElement::m_stationS {0.} |
|
privateinherited |
◆ m_statname
std::string MuonGM::MuonReadoutElement::m_statname {"XXX0"} |
|
protectedinherited |
◆ m_stIdx
int MuonGM::MuonReadoutElement::m_stIdx {-1} |
|
privateinherited |
◆ m_surfaceData
std::unique_ptr<SurfaceData> MuonGM::MuonClusterReadoutElement::m_surfaceData {} |
|
protectedinherited |
◆ m_techname
std::string MuonGM::MuonReadoutElement::m_techname {"TTT0"} |
|
protectedinherited |
◆ m_type
◆ m_Xlg
◆ m_Zsize
double MuonGM::MuonReadoutElement::m_Zsize {-9999.} |
|
protectedinherited |
◆ SBANDIDSP
constexpr std::array<double, 92> MuonGM::sTgcReadoutElement::SBANDIDSP |
|
staticconstexprprivate |
Initial value:= {
10.0, 10.0, 958.077, 998.248, 1037.405, 1076.535, 1115.69, 1154.82, 1193.97, 1233.135, 1272.265, 1311.395,
1350.59, 1389.705, 1428.865, 1468.01, 1507.175, 1546.305, 1585.435, 1624.58, 1663.71, 1702.895, 1742.055,
1781.165, 1820.315, 1859.44, 1898.575, 1937.75, 1976.885, 2016.04, 2055.15, 2094.345, 2136.125, 2172.61,
2217.68, 2255.125, 2316.115, 2348.91, 2388.06, 2427.245, 2466.385, 2505.515, 2544.69, 2583.8, 2622.99,
2662.115, 2701.31, 2740.395, 2779.55, 2818.715, 2857.905, 2897.0, 2936.185, 2975.315, 3014.47, 3053.615,
3092.775, 3131.895, 3171.075, 3210.225, 3249.375, 3288.485, 3317.74, 3347.075, 3396.65, 3440.175, 3475.575,
3540.81, 3581.97, 3621.13, 3660.285, 3699.41, 3738.535, 3777.73, 3816.89, 3856.055, 3895.105, 3934.3, 3974.34,
4012.565, 4051.71, 4090.865, 4130.04, 4169.145, 4208.285, 4247.55, 4286.65, 4320.075, 4364.84, 4404.12, 4443.14, 4482.29
}
Definition at line 244 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/sTgcReadoutElement.h.
The documentation for this class was generated from the following files:
#define THROW_EXCEPTION_RE(MSG)
bool padCorners(const Identifier &id, std::array< Amg::Vector2D, 4 > &corners) const
pad corners
std::atomic< MSG::Level > m_lvl
Current logging level.
void initDesignFromAGDD(double thickness)
int multilayer(const Identifier &id) const
std::vector< double > firstPadPhiDivision_A
virtual const Amg::Transform3D & transform() const override
Return local to global transform.
std::vector< double > tokenizeDouble(const std::string &the_str, std::string_view delimiter)
std::string m_statname
examples are BMS5, CSS1, EML1
const Amg::Transform3D & absTransform() const
Identifier m_id
extended data-collection identifier
std::string m_techname
MDT or RPC or TGC or CSC plus a two digits subtype; example RPC17.
The return object for querying strip positions with the method getPositionAlongStrip: a single point ...
MuonClusterReadoutElement(GeoVFullPhysVol *pv, MuonDetectorManager *mgr, Trk::DetectorElemType detType)
virtual const Amg::Vector3D & normal() const override
Return the normal of the element.
const ALinePar * m_ALinePar
virtual int numberOfStrips(const Identifier &layerId) const override final
number of strips per layer
int m_eta
Identifier field of the station eta.
IdentifierHash m_detectorElIdhash
detector element hash identifier
quadrupletIdentifier_t quadruplet
virtual const Amg::Vector3D & center() const override
Return the center of the element.
virtual void fillCache()=0
Amg::Vector2D correctPosition(const Identifier &channelId, const Amg::Vector2D &pos) const
const Amg::Transform3D & getDelta() const
read A-line parameters and include the chamber rotation/translation in the local-to-global (ATLAS) re...
Eigen::Matrix< double, 2, 1 > Vector2D
std::vector< int > tokenizeInt(const std::string &the_str, std::string_view delimiter)
Identifier channelID(int stationName, int stationEta, int stationPhi, int multilayer, int gasGap, int channelType, int channel) const
const BLinePar * m_BLinePar
Amg::Transform3D getTranslateZ3D(const double Z)
: Returns a shift transformation along the z-axis
Amg::Transform3D getTransform() const
std::vector< ALFA_RawData_p1 > t0
std::vector< int > nPadPhi
const MuonChannelDesign * getDesign(const Identifier &id) const
returns the MuonChannelDesign class for the given identifier
void setParentStationPV()
const MuonStation * m_parentMuonStation
Trk::DetectorElemType m_type
std::vector< int > nWireGroups
virtual bool spacePointPosition(const Identifier &phiId, const Identifier &etaId, Amg::Vector2D &pos) const override final
space point position for a given pair of phi and eta identifiers The LocalPosition is expressed in th...
float getParameter(const Parameter p) const
Returns a given parameter.
double getLongSsize() const
std::array< MuonPadDesign, 4 > m_padDesign
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
void initDesignFromSQLite(double thickness)
virtual int boundaryHash(const Identifier &id) const =0
returns the hash function to be used to look up the surface boundary for a given identifier
virtual const Trk::PlaneSurface & surface() const override
access to chamber surface (phi orientation), uses the first gas gap
void setIndexOfREinMuonStation()
IMessageSvc * getMessageSvc(bool quiet=false)
virtual DetectorElemType detectorType() const =0
Return the Detector element type.
const std::string & GetName() const
Amg::Transform3D getRotateZ3D(double angle)
get a rotation transformation around Z-axis
int m_phi
Identifier field of the station phi.
const NswAsBuilt::StgcStripCalculator * getStgcAsBuiltCalculator() const
virtual bool stripPosition(const Identifier &id, Amg::Vector2D &pos) const override final
strip position - should be renamed to channel position If the strip number is outside the range of va...
int padNumber(const Amg::Vector2D &pos, const Identifier &id) const
pad number corresponding to local position
const Muon::IMuonIdHelperSvc * idHelperSvc() const
void yCutoutCathode(double y)
std::unique_ptr< SurfaceData > m_surfaceData
std::vector< double > PadPhiShift_A
virtual void clearCache()=0
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
int channel(const Identifier &id) const override
virtual Amg::Transform3D GlobalToAmdbLRSTransform() const override final
const std::string & getStationName() const
virtual int surfaceHash(const Identifier &id) const override final
returns the hash to be used to look up the surface and transform in the MuonClusterReadoutElement tra...
static constexpr std::array< double, 94 > LBANDIDSP
void setIdentifier(const Identifier &id)
Sets the Identifier, hashes & station names.
void stripWidth(double y)
const MuonStation * parentMuonStation() const
void posOnDefChamber(Amg::Vector3D &locPosML) const
transform a position (in chamber-frame coordinates) to the deformed-chamber geometry
Athena indices of a MM strip.
Eigen::Affine3d Transform3D
int gasGap(const Identifier &id) const override
get the hashes
PVConstLink m_parentStationPV
const sTgcIdHelper * stgcIdHelper() const
bool padPosition(const Identifier &id, Amg::Vector2D &pos) const
pad position
const sTGCAsBuiltData2 * getsTGCAsBuilt2() const
const MuonDetectorManager * manager() const
bool m_hasCutouts
true is there are cutouts in the readdout-element
Amg::Transform3D delta() const
void setLongSsize(double)
std::vector< double > nPadH
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
MuonGM::sTGC_Technology * GetTechnology()
MsgStream & msg() const
The standard message stream.
void setChamberLayer(int ml)
set methods only to be used by MuonGeoModel
void setStationName(const std::string &)
std::vector< int > firstWireGroup
int stationPhi(const Identifier &id) const
std::array< Amg::Transform3D, 4 > m_Xlg
int nStrips(const MuonGM::TgcReadoutElement &readoutEle, int layer)
std::vector< double > padH
virtual int layerHash(const Identifier &id) const =0
returns the hash function to be used to look up the center and the normal of the tracking surface for...
static constexpr std::array< double, 92 > SBANDIDSP
std::vector< double > firstStripWidth
std::vector< double > wireCutout
virtual Amg::Transform3D AmdbLRSToGlobalTransform() const override final
static constexpr int m_nlayers
IdentifierHash m_idhash
data-collection hash identifier
const sTgcIdHelper & m_idHelper
The main interface of the NswAsBuilt package: determines strip positions in the frame of the quadrupl...
int stationEta(const Identifier &id) const
Amg::Transform3D getRotateY3D(double angle)
get a rotation transformation around Y-axis
Eigen::Matrix< double, 3, 1 > Vector3D
std::vector< int > firstPadRow
double m_LongZsize
size in the specified direction
std::vector< double > firstPadH
int padPhi(const Identifier &id) const
MuonDetectorManager * m_muon_mgr
std::array< MuonChannelDesign, 4 > m_phiDesign
#define ATH_MSG_WARNING(x)
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
std::vector< double > firstWire
IRDBRecord is one record in the IRDBRecordset object.
std::string m_nm
Message source name.
Eigen::Translation< double, 3 > Translation3D
Identifier identify() const override final
Returns the ATLAS Identifier of the MuonReadOutElement.
Identifier multilayerID(const Identifier &channeldID) const
int padEta(const Identifier &id) const
int m_indexOfREinMuonStation
index of this RE in the mother MuonStation
int m_stIdx
Identifier field of the station index.
std::array< MuonChannelDesign, 4 > m_etaDesign
const MuonPadDesign * getPadDesign(const Identifier &id) const
returns the MuonChannelDesign class for the given identifier
double wirePitch(int gas_gap=1) const
single wire pitch.
void initMessaging() const
Initialize our message level and MessageSvc.
std::vector< int > nWires
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.
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
virtual const Trk::SurfaceBounds & bounds() const override
Return the boundaries of the element.
int channelType(const Identifier &id) const
PVConstLink parentStationPV() const
virtual int surfaceHash(const Identifier &id) const =0
returns the hash function to be used to look up the surface and surface transform for a given identif...
int getStationPhi() const
int getStationEta() const
sTGCDetectorDescription * Get_sTGCDetector(char type, int ieta, int iphi, int layer=1, char side='A')
void stripPitch(double y)
Amg::Transform3D getTranslate3D(const double X, const double Y, const double Z)
: Returns a shift transformation along an arbitrary axis
sTGCReadoutParameters & GetReadoutParameters()