ATLAS Offline Software
MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.cxx
Go to the documentation of this file.
1 
2 /*
3  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
4 */
5 #include "GeoModelTgcTest.h"
9 #include <fstream>
10 
11 using namespace ActsTrk;
12 
13 namespace MuonGMR4{
14 
15 GeoModelTgcTest::GeoModelTgcTest(const std::string& name, ISvcLocator* pSvcLocator):
16  AthHistogramAlgorithm(name,pSvcLocator) {}
17 
19  ATH_CHECK(m_idHelperSvc.retrieve());
22  ATH_CHECK(m_tree.init(this));
23 
24  const TgcIdHelper& id_helper{m_idHelperSvc->tgcIdHelper()};
25  for (const std::string& testCham : m_selectStat) {
26  if (testCham.size() != 7) {
27  ATH_MSG_FATAL("Wrong format given " << testCham);
28  return StatusCode::FAILURE;
29  }
31  std::string statName = testCham.substr(0, 3);
32  unsigned int statEta = std::atoi(testCham.substr(3, 1).c_str()) *
33  (testCham[4] == 'A' ? 1 : -1);
34  unsigned int statPhi = std::atoi(testCham.substr(5, 2).c_str());
35  bool is_valid{false};
36  const Identifier eleId{id_helper.elementID(statName, statEta, statPhi, is_valid)};
37  if (!is_valid) {
38  ATH_MSG_FATAL("Failed to deduce a station name for " << testCham);
39  return StatusCode::FAILURE;
40  }
41  m_testStations.insert(eleId);
42  }
44  if (m_testStations.empty()){
45  std::copy(id_helper.detectorElement_begin(),
46  id_helper.detectorElement_end(),
47  std::inserter(m_testStations, m_testStations.end()));
48  } else {
49  std::stringstream sstr{};
50  for (const Identifier& id : m_testStations) {
51  sstr<<" *** "<<m_idHelperSvc->toString(id)<<std::endl;
52  }
53  ATH_MSG_INFO("Test only the following stations "<<std::endl<<sstr.str());
54  }
56  return StatusCode::SUCCESS;
57 }
60  return StatusCode::SUCCESS;
61 }
63  const EventContext& ctx{Gaudi::Hive::currentContext()};
64 
65  SG::ReadHandle<ActsGeometryContext> geoContextHandle{m_geoCtxKey, ctx};
66  ATH_CHECK(geoContextHandle.isPresent());
67  const ActsGeometryContext& gctx{*geoContextHandle};
68 
69  for (const Identifier& test_me : m_testStations) {
70  ATH_MSG_DEBUG("Test retrieval of Tgc detector element "<<m_idHelperSvc->toStringDetEl(test_me));
71  const TgcReadoutElement* reElement = m_detMgr->getTgcReadoutElement(test_me);
72  if (!reElement) {
73  continue;
74  }
76  if (reElement->identify() != test_me) {
77  ATH_MSG_FATAL("Expected to retrieve "<<m_idHelperSvc->toStringDetEl(test_me)
78  <<". But got instead "<<m_idHelperSvc->toStringDetEl(reElement->identify()));
79  return StatusCode::FAILURE;
80  }
81  const Amg::Transform3D globToLocal{reElement->globalToLocalTrans(gctx)};
82  const Amg::Transform3D& localToGlob{reElement->localToGlobalTrans(gctx)};
84  const Amg::Transform3D transClosure = globToLocal * localToGlob;
85  if (!Amg::doesNotDeform(transClosure)) {
86  ATH_MSG_FATAL("Closure test failed for "<<m_idHelperSvc->toStringDetEl(test_me)
87  <<". Ended up with "<< Amg::toString(transClosure) );
88  return StatusCode::FAILURE;
89  }
90  const TgcIdHelper& id_helper{m_idHelperSvc->tgcIdHelper()};
91  for (unsigned int gasGap = 1; gasGap <= reElement->nGasGaps(); ++gasGap) {
92  for (bool isStrip : {false, true}) {
93  const unsigned int nChan = isStrip ? reElement->numStrips(gasGap)
94  : reElement->numWireGangs(gasGap);
95  for (unsigned int chan = 1; chan <= nChan ; ++chan) {
96  bool isValid{false};
97  const Identifier channelId = id_helper.channelID(reElement->identify(),
99  if (!isValid) {
100  ATH_MSG_DEBUG("No valid Identifier constructed from the fields "
101  <<m_idHelperSvc->toStringDetEl(reElement->identify())
102  <<"isStrip: "<<(isStrip ? "yay" : "nay")<<" gasGap: "<<gasGap<<
103  " channel: "<<chan);
104  continue;
105  }
106  const IdentifierHash measHash{reElement->measurementHash(channelId)};
107  const Identifier backCnv = reElement->measurementId(measHash);
108  if (backCnv != channelId) {
109  ATH_MSG_FATAL("Forward-backward conversion of the Identifier "<<m_idHelperSvc->toString(channelId)
110  <<"failed. Got instead "<<m_idHelperSvc->toString(backCnv));
111  return StatusCode::FAILURE;
112  }
113  if (reElement->layerHash(channelId) != reElement->layerHash(measHash)) {
114  ATH_MSG_FATAL("The cosntruction of the layer hash from the Identifier "<<m_idHelperSvc->toString(channelId)
115  <<" gave something else than doing it from the measurement hash "<<measHash<<". "<<
116  reElement->layerHash(channelId)<<" vs. "<<reElement->layerHash(measHash));
117  }
118  }
119  }
120  }
121  ATH_CHECK(dumpToTree(ctx, gctx, reElement));
122  }
123  return StatusCode::SUCCESS;
124 }
125 StatusCode GeoModelTgcTest::dumpToTree(const EventContext& ctx,
126  const ActsGeometryContext& gctx,
127  const TgcReadoutElement* reElement) {
128 
129  m_stIndex = reElement->stationName();
130  m_stEta = reElement->stationEta();
131  m_stPhi = reElement->stationPhi();
132  m_stLayout = reElement->chamberDesign();
133  m_nGasGaps = reElement->nGasGaps();
134  m_readoutTransform = reElement->localToGlobalTrans(gctx);
135 
136  m_alignableNode = reElement->alignableTransform()->getDefTransform();
137 
138  m_shortWidth = reElement->moduleWidthS();
139  m_longWidth = reElement->moduleWidthL();
140  m_height = reElement->moduleHeight();
141  m_thickness = reElement->moduleThickness();
142 
143  const TgcIdHelper& idHelper{m_idHelperSvc->tgcIdHelper()};
144  for (unsigned int gap = 1; gap <= reElement->nGasGaps(); ++gap) {
146  for (unsigned int strip = 1 ; strip <= reElement->numStrips(gap); ++strip) {
147  const Identifier measId = idHelper.channelID(reElement->identify(),gap, true, strip);
148  const RadialStripDesign& layout{reElement->stripLayout(gap)};
149 
150  const Amg::Transform3D& localToGlobal{reElement->localToGlobalTrans(gctx,measId)};
151  if (strip == 1) {
152  m_layTans.push_back(localToGlobal);
153  m_layMeasPhi.push_back(true);
155  m_layShortWidth.push_back(2.*layout.shortHalfHeight());
156  m_layLongWidth.push_back(2.*layout.longHalfHeight());
157  m_layHeight.push_back(2.*layout.halfWidth());
159  }
161  m_stripNum.push_back(strip);
162  m_stripCenter.push_back(reElement->channelPosition(gctx, measId));
163  const RadialStripDesign& stripDesign{reElement->stripLayout(gap)};
164  const Amg::Vector2D locTop2D{stripDesign.leftEdge(strip).value_or(Amg::Vector2D::Zero())};
165  const Amg::Vector2D locBot2D{stripDesign.rightEdge(strip).value_or(Amg::Vector2D::Zero())};
166  const Amg::Vector3D globTop{localToGlobal * Amg::Vector3D{locTop2D.x(), locTop2D.y(), 0}};
167  const Amg::Vector3D globBot{localToGlobal * Amg::Vector3D{locBot2D.x(), locBot2D.y(), 0}};
168 
169  m_stripBottom.push_back(globBot);
170  m_stripTop.push_back(globTop);
171  m_locStripTop.push_back(locTop2D);
172  m_locStripCenter.push_back(stripDesign.center(strip).value_or(Amg::Vector2D::Zero()));
173  m_locStripBottom.push_back(locBot2D);
174 
175  }
177  for (unsigned int gang = 1; gang <= reElement->numWireGangs(gap); ++gang) {
178  const Identifier measId = idHelper.channelID(reElement->identify(),gap, false, gang);
179  const WireGroupDesign& layout{reElement->wireGangLayout(gap)};
180  if (gang == 1) {
181  m_layTans.push_back(reElement->localToGlobalTrans(gctx,measId));
182  m_layMeasPhi.push_back(false);
184  m_layShortWidth.push_back(2.*layout.shortHalfHeight());
185  m_layLongWidth.push_back(2.*layout.longHalfHeight());
186  m_layHeight.push_back(2.*layout.halfWidth());
187  m_layNumWires.push_back(layout.nAllWires());
188  }
189  m_gangNum.push_back(gang);
191  m_gangCenter.push_back(reElement->channelPosition(gctx, measId));
192  m_gangNumWires.push_back(layout.numWiresInGroup(gang));
193  m_locGangPos.push_back(layout.center(gang).value_or(Amg::Vector2D::Zero()));
194  m_gangLength.push_back(layout.stripLength(gang));
195  }
196  }
197  return m_tree.fill(ctx) ? StatusCode::SUCCESS : StatusCode::FAILURE;
198 }
199 
200 }
201 
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
MuonGMR4::GeoModelTgcTest::m_locGangPos
MuonVal::TwoVectorBranch m_locGangPos
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:92
MuonGMR4::GeoModelTgcTest::m_nGasGaps
MuonVal::ScalarBranch< uint8_t > & m_nGasGaps
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:56
MuonGMR4::TgcReadoutElement::numWireGangs
unsigned int numWireGangs(unsigned int gasGap) const
Returns the number of wire gangs for a given gasGap [1-3].
MuonGMR4::GeoModelTgcTest::m_layShortWidth
MuonVal::VectorBranch< float > & m_layShortWidth
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:102
dumpTgcDigiDeadChambers.gasGap
list gasGap
Definition: dumpTgcDigiDeadChambers.py:33
MuonGMR4::TgcReadoutElement::wireGangLayout
const WireGroupDesign & wireGangLayout(unsigned int gasGap) const
Returns access to the wire group design of the given gasGap [1-3] If the gap does not have a wires an...
MuonGMR4::GeoModelTgcTest::m_alignableNode
MuonVal::CoordTransformBranch m_alignableNode
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:60
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
MuonGMR4::WireGroupDesign
Definition: WireGroupDesign.h:23
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
MuonVal::MuonTesterTree::init
StatusCode init(OWNER *instance)
Initialize method.
MuonGMR4::GeoModelTgcTest::m_geoCtxKey
SG::ReadHandleKey< ActsGeometryContext > m_geoCtxKey
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:35
ActsGeometryContext.h
MuonGMR4::GeoModelTgcTest::m_locStripTop
MuonVal::TwoVectorBranch m_locStripTop
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:82
TgcIdHelper
Definition: TgcIdHelper.h:50
MuonGMR4::StripDesign::leftEdge
CheckVector2D leftEdge(int stripNumb) const
Returns the left edge of the strip (Global numbering scheme)
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition: GeoPrimitives.h:48
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
GeoModelTgcTest.h
MuonGMR4::MuonReadoutElement::chamberDesign
std::string chamberDesign() const
The chamber design refers to the construction parameters of a readout element.
MuonGMR4::TgcReadoutElement::nGasGaps
unsigned int nGasGaps() const
Returns the number of gasgaps described by this ReadOutElement (usally 2 or 3)
MuonGMR4::TgcReadoutElement::channelPosition
Amg::Vector3D channelPosition(const ActsGeometryContext &ctx, const Identifier &measId) const
Returns the center of the measurement channel eta measurement: wire gang center phi measurement: stri...
MuonGMR4::GeoModelTgcTest::dumpToTree
StatusCode dumpToTree(const EventContext &ctx, const ActsGeometryContext &gctx, const TgcReadoutElement *readoutEle)
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.cxx:125
MuonGMR4::GeoModelTgcTest::m_stripBottom
MuonVal::ThreeVectorBranch m_stripBottom
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:77
MuonGMR4::TgcReadoutElement::moduleWidthS
double moduleWidthS() const
Returns the length of the bottom edge of the chamber (short width)
MuonGMR4::GeoModelTgcTest::m_detMgr
const MuonDetectorManager * m_detMgr
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:43
MuonGMR4::GeoModelTgcTest::finalize
StatusCode finalize() override
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.cxx:58
MuonGMR4::TgcReadoutElement::moduleWidthL
double moduleWidthL() const
Returns the length of the top edge of the chamber (top width)
MuonGMR4::GeoModelTgcTest::m_stripTop
MuonVal::ThreeVectorBranch m_stripTop
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:78
MuonGMR4::MuonReadoutElement::globalToLocalTrans
Amg::Transform3D globalToLocalTrans(const ActsGeometryContext &ctx) const
Transformations to translate between local <-> global coordinates.
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx:73
isValid
bool isValid(const T &p)
Definition: AtlasPID.h:214
MuonGMR4::TgcReadoutElement::moduleHeight
double moduleHeight() const
Returns the height of the chamber (Distance bottom - topWidth)
MuonGMR4::GeoModelTgcTest::m_gangGasGap
MuonVal::VectorBranch< uint8_t > & m_gangGasGap
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:93
CaloSwCorrections.gap
def gap(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:212
MuonGMR4::GeoModelTgcTest::m_gangNumWires
MuonVal::VectorBranch< uint8_t > & m_gangNumWires
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:95
AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
MuonGMR4::GeoModelTgcTest::m_stEta
MuonVal::ScalarBranch< short > & m_stEta
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:53
MuonGMR4::TgcReadoutElement::moduleThickness
double moduleThickness() const
Returns the thickness of the chamber.
MuonGMR4::TgcReadoutElement::numStrips
unsigned int numStrips(unsigned int gasGap) const
Returns the number of strips for a given gasGap [1-3].
MuonGMR4::TgcReadoutElement::stripLayout
const RadialStripDesign & stripLayout(unsigned int gasGap) const
Returns access to the strip design of the given gasGap [1-3] If the gap does not have strips an excep...
MuonVal::ThreeVectorBranch::push_back
void push_back(const Amg::Vector3D &vec)
interface using the Amg::Vector3D
Definition: ThreeVectorBranch.cxx:23
MuonGMR4::GeoModelTgcTest::m_stPhi
MuonVal::ScalarBranch< short > & m_stPhi
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:54
MuonGMR4::GeoModelTgcTest::m_selectStat
Gaudi::Property< std::vector< std::string > > m_selectStat
String should be formated like <stationName><stationEta><A/C><stationPhi>
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:41
MuonGMR4::GeoModelTgcTest::m_layLongWidth
MuonVal::VectorBranch< float > & m_layLongWidth
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:103
MuonGMR4::GeoModelTgcTest::m_layTans
MuonVal::CoordSystemsBranch m_layTans
Layer dimensions.
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:99
MuonGMR4::GeoModelTgcTest::m_stLayout
MuonVal::ScalarBranch< std::string > & m_stLayout
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:55
MuonGMR4::GeoModelTgcTest::m_stIndex
MuonVal::ScalarBranch< unsigned short > & m_stIndex
Identifier of the readout element.
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:52
Amg::toString
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
Definition: GeoPrimitivesToStringConverter.h:40
MuonGMR4::GeoModelTgcTest::m_gangNum
MuonVal::VectorBranch< unsigned int > & m_gangNum
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:94
MuonGMR4
A muon chamber is a collection of readout elements belonging to the same station.
Definition: ChamberAssembleTool.h:16
MuonGMR4::GeoModelTgcTest::m_layNumWires
MuonVal::VectorBranch< uint16_t > & m_layNumWires
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:105
EventPrimitivesToStringConverter.h
MuonVal::TwoVectorBranch::push_back
void push_back(const Amg::Vector2D &vec)
interface using the Amg::Vector3D
Definition: TwoVectorBranch.cxx:21
ReadCellNoiseFromCool.chan
chan
Definition: ReadCellNoiseFromCool.py:52
MuonGMR4::GeoModelTgcTest::m_thickness
MuonVal::ScalarBranch< float > & m_thickness
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:65
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
Amg::doesNotDeform
bool doesNotDeform(const Amg::Transform3D &trans)
Checks whether the linear part of the transformation rotates or stetches any of the basis vectors.
Definition: GeoPrimitivesHelpers.h:338
MuonGMR4::TgcReadoutElement::measurementId
Identifier measurementId(const IdentifierHash &measHash) const override final
Converts the measurement hash back to the full Identifier.
MuonGMR4::GeoModelTgcTest::m_shortWidth
MuonVal::ScalarBranch< float > & m_shortWidth
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:62
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
MuonGMR4::TgcReadoutElement::measurementHash
IdentifierHash measurementHash(const Identifier &measId) const override final
Constructs the identifier hash from the full measurement Identifier.
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
CaloCondBlobAlgs_fillNoiseFromASCII.channelId
channelId
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:122
AthHistogramAlgorithm
Definition: AthHistogramAlgorithm.h:32
MuonGMR4::GeoModelTgcTest::m_stripGasGap
MuonVal::VectorBranch< uint8_t > & m_stripGasGap
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:84
ActsGeometryContext
Include the GeoPrimitives which need to be put first.
Definition: ActsGeometryContext.h:28
MuonVal::VectorBranch::push_back
void push_back(const T &value)
Adds a new element at the end of the vector.
dumpTgcDigiThreshold.isStrip
list isStrip
Definition: dumpTgcDigiThreshold.py:33
MuonGMR4::TgcReadoutElement::layerHash
IdentifierHash layerHash(const Identifier &measId) const override final
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
MuonGMR4::GeoModelTgcTest::m_readoutTransform
MuonVal::CoordTransformBranch m_readoutTransform
Transformation of the readout element (Translation, ColX, ColY, ColZ)
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:59
MuonGMR4::GeoModelTgcTest::m_layMeasPhi
MuonVal::VectorBranch< bool > & m_layMeasPhi
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:100
MuonGMR4::MuonReadoutElement::alignableTransform
const GeoAlignableTransform * alignableTransform() const
Returnsthe alignable transform of the readout element.
MuonGMR4::GeoModelTgcTest::m_locStripCenter
MuonVal::TwoVectorBranch m_locStripCenter
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:80
MuonGMR4::MuonReadoutElement::identify
Identifier identify() const override final
Return the athena identifier.
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
MuonGMR4::GeoModelTgcTest::execute
StatusCode execute() override
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.cxx:62
MuonGMR4::GeoModelTgcTest::m_layHeight
MuonVal::VectorBranch< float > & m_layHeight
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:104
MuonGMR4::MuonReadoutElement::stationName
int stationName() const
Returns the stationName (BIS, BOS, etc) encoded into the integer.
MuonGMR4::GeoModelTgcTest::m_height
MuonVal::ScalarBranch< float > & m_height
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:64
MuonVal::CoordSystemsBranch::push_back
void push_back(const Amg::Transform3D &trans)
Definition: CoordTransformBranch.cxx:28
MuonGMR4::GeoModelTgcTest::m_testStations
std::set< Identifier > m_testStations
Set of stations to be tested.
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:38
MuonVal::MuonTesterTree::fill
bool fill(const EventContext &ctx)
Fills the tree per call.
Definition: MuonTesterTree.cxx:89
MuonGMR4::MuonReadoutElement::localToGlobalTrans
const Amg::Transform3D & localToGlobalTrans(const ActsGeometryContext &ctx) const
Returns the local to global transformation into the ATLAS coordinate system.
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx:76
MuonVal::MuonTesterTree::write
StatusCode write()
Finally write the TTree objects.
Definition: MuonTesterTree.cxx:178
MuonGMR4::GeoModelTgcTest::m_longWidth
MuonVal::ScalarBranch< float > & m_longWidth
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:63
CxxUtils::atoi
int atoi(std::string_view str)
Helper functions to unpack numbers decoded in string into integers and doubles The strings are requir...
Definition: Control/CxxUtils/Root/StringUtils.cxx:85
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition: MuonDetectorBuilderTool.cxx:34
MuonGMR4::MuonReadoutElement::stationEta
int stationEta() const
Returns the stationEta (positive A site, negative O site)
MuonGMR4::GeoModelTgcTest::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:32
calibdata.copy
bool copy
Definition: calibdata.py:27
MuonGMR4::GeoModelTgcTest::m_locStripBottom
MuonVal::TwoVectorBranch m_locStripBottom
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:81
MuonGMR4::GeoModelTgcTest::m_stripCenter
MuonVal::ThreeVectorBranch m_stripCenter
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:76
MuonGMR4::RadialStripDesign
Definition: RadialStripDesign.h:23
TgcReadoutElement.h
MuonGMR4::GeoModelTgcTest::m_gangCenter
MuonVal::ThreeVectorBranch m_gangCenter
Wire gangs.
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:91
MuonGMR4::GeoModelTgcTest::m_layNumber
MuonVal::VectorBranch< uint8_t > & m_layNumber
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:101
MuonGMR4::MuonReadoutElement::stationPhi
int stationPhi() const
Returns the stationPhi (1-8) -> sector (2*phi - (isSmall))
MuonGMR4::TgcReadoutElement
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/TgcReadoutElement.h:16
MuonGMR4::GeoModelTgcTest::m_tree
MuonVal::MuonTesterTree m_tree
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:49
generate::Zero
void Zero(TH1D *hin)
Definition: generate.cxx:32
MuonGMR4::GeoModelTgcTest::m_stripNum
MuonVal::VectorBranch< unsigned int > & m_stripNum
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:85
MuonGMR4::GeoModelTgcTest::initialize
StatusCode initialize() override
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.cxx:18
MuonGMR4::GeoModelTgcTest::m_gangLength
MuonVal::VectorBranch< float > & m_gangLength
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelTgcTest.h:96