Skip to content
Snippets Groups Projects
Commit c1189db9 authored by Johannes Junggeburth's avatar Johannes Junggeburth :dog2: Committed by Johannes Elmsheuser
Browse files

sTgcReadoutGeometry - Minor clean-up of the factory methods & msg streams

sTgcReadoutGeometry - Minor clean-up of the factory methods & msg streams
parent d17085f2
No related branches found
No related tags found
30 merge requests!78241Draft: FPGATrackSim: GenScan code refactor,!78236Draft: Switching Streams https://its.cern.ch/jira/browse/ATR-27417,!78056AFP monitoring: new synchronization and cleaning,!78041AFP monitoring: new synchronization and cleaning,!77990Updating TRT chip masks for L1TRT trigger simulation - ATR-28372,!77733Draft: add new HLT NN JVT, augmented with additional tracking information,!77731Draft: Updates to ZDC reconstruction,!77728Draft: updates to ZDC reconstruction,!77522Draft: sTGC Pad Trigger Emulator,!76725ZdcNtuple: Fix cppcheck warning.,!76611L1CaloFEXByteStream: Fix out-of-bounds array accesses.,!76475Punchthrough AF3 implementation in FastG4,!76474Punchthrough AF3 implementation in FastG4,!76343Draft: MooTrackBuilder: Recalibrate NSW hits in refine method,!75729New implementation of ZDC nonlinear FADC correction.,!75703Draft: Update to HI han config for HLT jets,!75184Draft: Update file heavyions_run.config,!74430Draft: Fixing upper bound for Delayed Jet Triggers,!73963Changing the path of the histograms to "Expert" area,!73875updating ID ART reference plots,!73874AtlasCLHEP_RandomGenerators: Fix cppcheck warnings.,!73449Add muon detectors to DarkJetPEBTLA partial event building,!73343Draft: [TrigEgamma] Add photon ringer chains on bootstrap mechanism,!72336Fixed TRT calibration crash,!72176Draft: Improving L1TopoOnline chain that now gets no-empty plots. Activating it by default,!72012Draft: Separate JiveXMLConfig.py into Config files,!71876Fix MET trigger name in MissingETMonitoring,!71820Draft: Adding new TLA End-Of-Fill (EOF) chains and removing obsolete DIPZ chains,!71279Draft: ATR-29330: Move L1_4J15 and the HLT chains seeded by it in the MC Menu,!71195sTgcReadoutGeometry - Minor clean-up of the factory methods & msg streams
/*
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
/**
* @file MuonEventTPCnv/test/make_dd.icc
......@@ -127,7 +127,7 @@ void MuonChamber::makeMdt (const Identifier& id)
void MuonChamber::makesTgc (const Identifier& id)
{
auto elt = std::make_unique<MuonGM::sTgcReadoutElement>(&m_pvol, "STS", 1, 2, 1, &m_muo_dd);
elt->initDesign (0, 0, 0, 0, 0, 0, 0, 1);
elt->initDesign (1);
elt->setIdentifier (id);
//elt->m_ngasgaps = 2;
......
......@@ -60,7 +60,7 @@ bool BuildNSWReadoutGeometry::BuildReadoutGeometry(MuonGM::MuonDetectorManager*
} else if (chTag.substr(0, 3) == "sTG") {
std::unique_ptr<sTgcReadoutElement> re = std::make_unique<sTgcReadoutElement>(vol, sName, etaIndex, phiIndex, mLayer, mgr);
std::string myVolName = (chTag.substr(0, 8)).c_str();
re->initDesign(-999., -999., -999., 3.2, -999., 2.7, -999., 2.6);
re->initDesign(2.6);
re->fillCache();
mgr->addsTgcReadoutElement(std::move(re));
}
......
/*
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
#ifndef MUONREADOUTGEOMETRY_STGCREADOUTELEMENT_H
......@@ -13,9 +13,10 @@
#include "MuonReadoutGeometry/MuonClusterReadoutElement.h"
#include "MuonReadoutGeometry/MuonDetectorManager.h"
#include "MuonReadoutGeometry/MuonPadDesign.h"
#include "GeoModelInterfaces/IGeoDbTagSvc.h"
class BLinePar;
class GeoVFullPhysVol;
class MuonReadoutGeomCnvAlg;
namespace MuonGM {
/**
......@@ -25,9 +26,12 @@ namespace MuonGM {
class sTgcReadoutElement final : public MuonClusterReadoutElement {
public:
friend class ::MuonReadoutGeomCnvAlg;
/** constructor */
sTgcReadoutElement(GeoVFullPhysVol* pv, const std::string& stName, int zi, int fi, int mL, MuonDetectorManager* mgr);
sTgcReadoutElement(GeoVFullPhysVol* pv,
const std::string& stName,
int zi, int fi, int mL, MuonDetectorManager* mgr);
/** destructor */
~sTgcReadoutElement();
......@@ -150,8 +154,7 @@ namespace MuonGM {
virtual bool measuresPhi(const Identifier& id) const override final;
/** @brief initialize the design classes for this readout element */
void initDesign(double largeX, double smallX, double lengthY, double stripPitch, double wirePitch, double stripWidth,
double wireWidth, double thickness);
void initDesign(double thickness);
/** returns the MuonChannelDesign class for the given identifier */
const MuonChannelDesign* getDesign(const Identifier& id) const;
......@@ -199,14 +202,20 @@ namespace MuonGM {
static double triggerBandIdToRadius(bool isLarge, int triggerBand);
private:
std::vector<MuonChannelDesign> m_phiDesign;
std::vector<MuonChannelDesign> m_etaDesign;
std::vector<MuonPadDesign> m_padDesign;
std::vector<int> m_nStrips;
std::vector<int> m_nWires;
std::vector<int> m_nPads;
int m_nlayers{0};
void initDesignFromSQLite(double thickness);
void initDesignFromAGDD(double thickness);
const sTgcIdHelper& m_idHelper{idHelperSvc()->stgcIdHelper()};
std::array<MuonChannelDesign,4> m_phiDesign{};
std::array<MuonChannelDesign,4> m_etaDesign{};
std::array<MuonPadDesign,4> m_padDesign{};
std::array<int, 4> m_nStrips{};
std::array<int, 4> m_nWires{};
std::array<int, 4> m_nPads{};
static constexpr int m_nlayers{4};
int m_ml{0};
double m_offset{0.};
......@@ -219,20 +228,17 @@ namespace MuonGM {
const BLinePar* m_BLinePar{nullptr};
Amg::Transform3D m_delta{Amg::Transform3D::Identity()};
// const double m_largeSectorOpeningAngle = 28.0;
// const double m_smallSectorOpeningAngle = 17.0;
// surface dimensions for strips
std::vector<double> m_halfX;
std::vector<double> m_minHalfY;
std::vector<double> m_maxHalfY;
std::array<double, 4> m_halfX{};
std::array<double, 4> m_minHalfY{};
std::array<double, 4> m_maxHalfY{};
// surface dimensions for pads and wires
std::vector<double> m_PadhalfX;
std::vector<double> m_PadminHalfY;
std::vector<double> m_PadmaxHalfY;
std::array<double, 4> m_PadhalfX{};
std::array<double, 4> m_PadminHalfY{};
std::array<double, 4> m_PadmaxHalfY{};
// transforms (RE->layer)
Amg::Transform3D m_Xlg[4];
std::array<Amg::Transform3D, 4> m_Xlg{make_array<Amg::Transform3D, 4>(Amg::Transform3D::Identity())};
// The radial positions of the trigger bands cannot be derived from the readout geometry, therefore hard-coding them for now
......
......@@ -78,7 +78,7 @@ namespace MuonGM {
else if (key.substr(0,3)=="sTG") {
std::string sName = vName.substr(7,4);
std::unique_ptr<sTgcReadoutElement> re = std::make_unique<sTgcReadoutElement>(pV, sName, ec*eta, phi, ml, m_manager);
re->initDesign(-999., -999., -999., 3.2, -999., 2.7, -999., 2.6);
re->initDesign(2.6);
re->fillCache();
m_manager->addsTgcReadoutElement(std::move(re));
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment