ATLAS Offline Software
MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef MUONGEOMODELTESTR4_GEOMODELMmTEST_H
5 #define MUONGEOMODELTESTR4_GEOMODELMmTEST_H
6 
8 #include <set>
17 namespace MuonGMR4{
18 
20  public:
21  GeoModelMmTest(const std::string& name, ISvcLocator* pSvcLocator);
22 
23  ~GeoModelMmTest() = default;
24 
25  StatusCode execute() override;
26  StatusCode initialize() override;
27  StatusCode finalize() override;
28 
29  unsigned int cardinality() const override final {return 1;}
30 
31  private:
33  "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
34 
35  SG::ReadHandleKey<ActsGeometryContext> m_geoCtxKey{this, "AlignmentKey", "ActsAlignment", "cond handle key"};
36 
38  std::set<Identifier> m_testStations{};
39 
41  //e.g. MM_SM2Q1
42  Gaudi::Property<std::vector<std::string>> m_selectStat{this, "TestStations", {}};
43 
44  const MuonDetectorManager* m_detMgr{nullptr};
45 
46  StatusCode dumpToTree(const EventContext& ctx,
47  const ActsGeometryContext& gctx,
48  const MmReadoutElement* readoutEle);
49 
50  MuonVal::MuonTesterTree m_tree{"MmGeoModelTree", "GEOMODELTESTER"};
51 
53  MuonVal::ScalarBranch<unsigned short>& m_stIndex{m_tree.newScalar<unsigned short>("stationIndex")}; // 55(S) or 56(L)
54  MuonVal::ScalarBranch<short>& m_stEta{m_tree.newScalar<short>("stationEta")}; // [-2, 2]
55  MuonVal::ScalarBranch<short>& m_stPhi{m_tree.newScalar<short>("stationPhi")}; // [1, 8]
56  MuonVal::ScalarBranch<short>& m_stML{m_tree.newScalar<short>("multilayer")}; // {1, 2}
59 
60 
64 
71 
73  MuonVal::VectorBranch<short>& m_gasGap{m_tree.newVector<short>("gasGap")}; // gas gap number
79 
81  MuonVal::VectorBranch<uint>& m_channel{m_tree.newVector<uint>("channel")}; // strip number
82 
84  MuonVal::ScalarBranch<float>& m_moduleHeight{m_tree.newScalar<float>("moduleHeight")}; //active area's Height
85  MuonVal::ScalarBranch<float>& m_moduleWidthS{m_tree.newScalar<float>("moduleWidthS")}; //active area's small width
86  MuonVal::ScalarBranch<float>& m_moduleWidthL{m_tree.newScalar<float>("moduleWidthL")}; //active area's large width
88  MuonVal::ScalarBranch<float>& m_ActiveHeightR{m_tree.newScalar<float>("ActiveHeightR")}; //active area's Height
89  MuonVal::ScalarBranch<float>& m_ActiveWidthS{m_tree.newScalar<float>("ActiveWidthS")}; //active area's small width
90  MuonVal::ScalarBranch<float>& m_ActiveWidthL{m_tree.newScalar<float>("ActiveWidthL")}; //active area's large width
91 };
92 }
93 #endif
MuonGMR4::GeoModelMmTest
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:19
MuonGMR4::GeoModelMmTest::m_stripRightEdge
MuonVal::ThreeVectorBranch m_stripRightEdge
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:77
MuonGMR4::MmReadoutElement
Definition: MmReadoutElement.h:18
MuonGMR4::GeoModelMmTest::m_channel
MuonVal::VectorBranch< uint > & m_channel
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:81
MuonGMR4::GeoModelMmTest::m_readoutSide
MuonVal::VectorBranch< int > & m_readoutSide
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:69
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
MuonGMR4::GeoModelMmTest::m_readoutFirstStrip
MuonVal::VectorBranch< unsigned > & m_readoutFirstStrip
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:70
MuonGMR4::MuonDetectorManager
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h:61
CoordTransformBranch.h
ActsGeometryContext.h
MuonGMR4::GeoModelMmTest::m_chamberDesign
MuonVal::ScalarBranch< std::string > & m_chamberDesign
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:57
MuonGMR4::GeoModelMmTest::cardinality
unsigned int cardinality() const override final
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:29
MuonGMR4::GeoModelMmTest::m_isStereo
MuonVal::VectorBranch< bool > & m_isStereo
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:74
MuonVal::VectorBranch< uint8_t >
MuonTesterTree.h
ThreeVectorBranch.h
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
SG::ReadHandleKey< ActsGeometryContext >
MuonGMR4::GeoModelMmTest::m_ActiveWidthS
MuonVal::ScalarBranch< float > & m_ActiveWidthS
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:89
MuonGMR4::GeoModelMmTest::m_selectStat
Gaudi::Property< std::vector< std::string > > m_selectStat
String should be formated like MM_<Large/Small Sector + Module type><Quadruplet number>
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:42
MuonVal::ThreeVectorBranch
Definition: ThreeVectorBranch.h:19
MuonGMR4::GeoModelMmTest::m_stEta
MuonVal::ScalarBranch< short > & m_stEta
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:54
MuonGMR4::GeoModelMmTest::GeoModelMmTest
GeoModelMmTest(const std::string &name, ISvcLocator *pSvcLocator)
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.cxx:15
AthHistogramAlgorithm.h
MuonVal::CoordTransformBranch
Helper class to dump the Amg::Transformations into a single three vector branch The first entry is th...
Definition: CoordTransformBranch.h:15
MuonGMR4::GeoModelMmTest::m_ActiveHeightR
MuonVal::ScalarBranch< float > & m_ActiveHeightR
GasGap Lengths for debug.
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:88
MuonGMR4::GeoModelMmTest::m_tree
MuonVal::MuonTesterTree m_tree
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:50
uint
unsigned int uint
Definition: LArOFPhaseFill.cxx:20
MuonGMR4::GeoModelMmTest::m_stripRot
MuonVal::CoordSystemsBranch m_stripRot
Rotation matrix of the respective strip layers.
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:66
MuonGMR4
A muon chamber is a collection of readout elements belonging to the same station.
Definition: ChamberAssembleTool.h:16
MuonGMR4::GeoModelMmTest::m_stIndex
MuonVal::ScalarBranch< unsigned short > & m_stIndex
Identifier of the readout element.
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:53
MuonVal::MuonTesterTree
Definition: MuonTesterTree.h:30
IdentifierBranch.h
MuonGMR4::GeoModelMmTest::m_gasGap
MuonVal::VectorBranch< short > & m_gasGap
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:73
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuonGMR4::GeoModelMmTest::m_stripCenter
MuonVal::ThreeVectorBranch m_stripCenter
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:75
MuonGMR4::GeoModelMmTest::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:32
MuonDetectorManager.h
MuonGMR4::GeoModelMmTest::m_stripRotGasGap
MuonVal::VectorBranch< uint8_t > & m_stripRotGasGap
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:67
MuonGMR4::GeoModelMmTest::m_stML
MuonVal::ScalarBranch< short > & m_stML
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:56
MuonVal::MuonTesterTree::newVector
VectorBranch< T > & newVector(const std::string &name)
Creates new branches and returns their reference.
AthHistogramAlgorithm
Definition: AthHistogramAlgorithm.h:32
ActsGeometryContext
Include the GeoPrimitives which need to be put first.
Definition: ActsGeometryContext.h:28
MuonGMR4::GeoModelMmTest::m_moduleHeight
MuonVal::ScalarBranch< float > & m_moduleHeight
Chamber Length for debug.
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:84
MuonGMR4::GeoModelMmTest::m_alignableNode
MuonVal::CoordTransformBranch m_alignableNode
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:63
MuonGMR4::GeoModelMmTest::m_geoCtxKey
SG::ReadHandleKey< ActsGeometryContext > m_geoCtxKey
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:35
MuonGMR4::GeoModelMmTest::m_stPhi
MuonVal::ScalarBranch< short > & m_stPhi
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:55
MuonVal::ScalarBranch< unsigned short >
MuonGMR4::GeoModelMmTest::m_stripLeftEdge
MuonVal::ThreeVectorBranch m_stripLeftEdge
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:76
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
MuonVal::MuonTesterTree::newScalar
ScalarBranch< T > & newScalar(const std::string &name)
MuonGMR4::GeoModelMmTest::m_firstStripPos
MuonVal::TwoVectorBranch m_firstStripPos
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:68
MuonVal::CoordSystemsBranch
Helper class to dump the Amg::Transformations into 4 three vector branches.
Definition: CoordTransformBranch.h:28
MuonGMR4::GeoModelMmTest::finalize
StatusCode finalize() override
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.cxx:63
MuonGMR4::GeoModelMmTest::dumpToTree
StatusCode dumpToTree(const EventContext &ctx, const ActsGeometryContext &gctx, const MmReadoutElement *readoutEle)
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.cxx:148
MuonGMR4::GeoModelMmTest::m_stripLength
MuonVal::VectorBranch< float > & m_stripLength
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:80
MuonGMR4::GeoModelMmTest::execute
StatusCode execute() override
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.cxx:67
MuonGMR4::GeoModelMmTest::m_ActiveWidthL
MuonVal::ScalarBranch< float > & m_ActiveWidthL
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:90
TwoVectorBranch.h
MuonGMR4::GeoModelMmTest::initialize
StatusCode initialize() override
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.cxx:18
MuonGMR4::GeoModelMmTest::m_moduleWidthL
MuonVal::ScalarBranch< float > & m_moduleWidthL
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:86
MuonGMR4::GeoModelMmTest::m_moduleWidthS
MuonVal::ScalarBranch< float > & m_moduleWidthS
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:85
IMuonIdHelperSvc.h
MuonGMR4::GeoModelMmTest::m_locStripCenter
MuonVal::TwoVectorBranch m_locStripCenter
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:78
MuonGMR4::GeoModelMmTest::m_stStripPitch
MuonVal::ScalarBranch< float > & m_stStripPitch
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:58
MuonGMR4::GeoModelMmTest::~GeoModelMmTest
~GeoModelMmTest()=default
MuonGMR4::GeoModelMmTest::m_readoutTransform
MuonVal::CoordTransformBranch m_readoutTransform
Transformation of the readout element (Translation, ColX, ColY, ColZ)
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:62
MuonGMR4::GeoModelMmTest::m_detMgr
const MuonDetectorManager * m_detMgr
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:44
MuonVal::TwoVectorBranch
Definition: TwoVectorBranch.h:15
MuonGMR4::GeoModelMmTest::m_testStations
std::set< Identifier > m_testStations
Set of stations to be tested.
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMmTest.h:38
ServiceHandle< Muon::IMuonIdHelperSvc >