From 754f2489bca6781201ea141b8243ce2c1e5db6fb Mon Sep 17 00:00:00 2001 From: Nicolas Koehler <nicolas.koehler@cern.ch> Date: Tue, 1 Dec 2020 19:47:47 +0000 Subject: [PATCH] Remove more hardcoded numbers of tubes per layer --- .../src/MdtRdoToPrepDataToolCore.cxx | 4 +++- .../MuonGeoModelTest/src/MuonGMCheck.cxx | 6 ++++-- .../MuonGeomRTT/test/test_muon_gm_check.sh | 14 +++----------- .../ISF_FatrasToolsMS/src/SimHitCreatorMS.cxx | 9 +++++++-- 4 files changed, 17 insertions(+), 16 deletions(-) diff --git a/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataToolCore.cxx b/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataToolCore.cxx index 1d432258d6a..1456c710d27 100644 --- a/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataToolCore.cxx +++ b/MuonSpectrometer/MuonCnv/MuonMDT_CnvTools/src/MdtRdoToPrepDataToolCore.cxx @@ -25,6 +25,8 @@ using namespace Muon; namespace { static constexpr double const& inverseSpeedOfLight = 1 / Gaudi::Units::c_light; // need 1/299.792458 + // the tube number of a tube in a tubeLayer is encoded in the GeoSerialIdentifier (modulo maxNTubesPerLayer) + static constexpr unsigned int const maxNTubesPerLayer = 120; } Muon::MdtRdoToPrepDataToolCore::MdtRdoToPrepDataToolCore(const std::string& t, const std::string& n, const IInterface* p) : @@ -1468,7 +1470,7 @@ void MdtRdoToPrepDataToolCore::initDeadChannels(const MuonGM::MdtReadoutElement* std::vector<int>::iterator it = tubes.begin(); for(int layer = 1; layer <= mydetEl->getNLayers(); layer++){ for(int tube = 1; tube <= mydetEl->getNtubesperlayer(); tube++){ - int want_id = layer*100 + tube; + int want_id = layer*maxNTubesPerLayer + tube; if (it != tubes.end() && *it == want_id) { ++it; } diff --git a/MuonSpectrometer/MuonGeoModelTest/src/MuonGMCheck.cxx b/MuonSpectrometer/MuonGeoModelTest/src/MuonGMCheck.cxx index 453e90ed14f..2b3587ef277 100644 --- a/MuonSpectrometer/MuonGeoModelTest/src/MuonGMCheck.cxx +++ b/MuonSpectrometer/MuonGeoModelTest/src/MuonGMCheck.cxx @@ -41,6 +41,8 @@ typedef std::istringstream mystream; namespace { static constexpr double const& invRad = 180/M_PI; + // the tube number of a tube in a tubeLayer is encoded in the GeoSerialIdentifier (modulo maxNTubesPerLayer) + static constexpr unsigned int const maxNTubesPerLayer = 120; } using namespace MuonGM; @@ -1339,8 +1341,8 @@ void MuonGMCheck::checkreadoutmdtgeo() if(nGrandchildren <= 0) continue; bool tubefound = false; for(unsigned int kk=0; kk < cv->getNChildVols(); kk++) { - int tubegeo = cv->getIdOfChildVol(kk) % 100; - int layergeo = ( cv->getIdOfChildVol(kk) - tubegeo ) / 100; + int tubegeo = cv->getIdOfChildVol(kk) % maxNTubesPerLayer; + int layergeo = ( cv->getIdOfChildVol(kk) - tubegeo ) / maxNTubesPerLayer; if( tubegeo == tube && layergeo == tl ) { tubefound=true; break; diff --git a/MuonSpectrometer/MuonValidation/MuonGeomValidation/MuonGeomRTT/test/test_muon_gm_check.sh b/MuonSpectrometer/MuonValidation/MuonGeomValidation/MuonGeomRTT/test/test_muon_gm_check.sh index 54477b114d0..b407a3917c6 100755 --- a/MuonSpectrometer/MuonValidation/MuonGeomValidation/MuonGeomRTT/test/test_muon_gm_check.sh +++ b/MuonSpectrometer/MuonValidation/MuonGeomValidation/MuonGeomRTT/test/test_muon_gm_check.sh @@ -15,16 +15,8 @@ art.py createpoolfile set -x -echo $AtlasVersion -if [ ${AtlasVersion:0:4} == "21.0" ]; then - DetDesVer='"ATLAS-R2-2016-01-00-01"' -elif [ ${AtlasVersion:0:4} == "21.3" ] || [ ${AtlasVersion:0:4} == "22.0" ]; then - DetDesVer='"ATLAS-R3-2021-01-00-00"' -else - DetDesVer='"ATLAS-R2-2015-03-04-00"' -fi - - -athena.py -c 'DetDescrVersion = '$DetDesVer MuonGeoModelTest/MuonGeoModelCheck_jobOption.py +athena.py -c "DetDescrVersion='ATLAS-R2-2016-01-00-01'" MuonGeoModelTest/MuonGeoModelCheck_jobOption.py +athena.py -c "DetDescrVersion='ATLAS-R3-2021-01-00-01'" MuonGeoModelTest/MuonGeoModelCheck_jobOption.py +athena.py -c "DetDescrVersion='ATLAS-R3S-2021-01-00-01'" MuonGeoModelTest/MuonGeoModelCheck_jobOption.py echo "art-result: $?" diff --git a/Simulation/ISF/ISF_Fatras/ISF_FatrasToolsMS/src/SimHitCreatorMS.cxx b/Simulation/ISF/ISF_Fatras/ISF_FatrasToolsMS/src/SimHitCreatorMS.cxx index 45c752072f7..e034e829697 100644 --- a/Simulation/ISF/ISF_Fatras/ISF_FatrasToolsMS/src/SimHitCreatorMS.cxx +++ b/Simulation/ISF/ISF_Fatras/ISF_FatrasToolsMS/src/SimHitCreatorMS.cxx @@ -31,6 +31,11 @@ #include "CLHEP/Random/RandLandau.h" #include "CLHEP/Random/RandGauss.h" +namespace { + // the tube number of a tube in a tubeLayer ia encoded in the GeoSerialIdentifier (modulo maxNTubesPerLayer) + static constexpr unsigned int const maxNTubesPerLayer = 120; +} + //================ Constructor ================================================= iFatras::SimHitCreatorMS::SimHitCreatorMS(const std::string& t, @@ -510,8 +515,8 @@ void iFatras::SimHitCreatorMS::initDeadChannels(const MuonGM::MdtReadoutElement* for(int tube = 1; tube <= mydetEl->getNtubesperlayer(); tube++){ bool tubefound = false; for(unsigned int kk=0; kk < cv->getNChildVols(); kk++) { - int tubegeo = cv->getIdOfChildVol(kk) % 100; - int layergeo = ( cv->getIdOfChildVol(kk) - tubegeo ) / 100; + int tubegeo = cv->getIdOfChildVol(kk) % maxNTubesPerLayer; + int layergeo = ( cv->getIdOfChildVol(kk) - tubegeo ) / maxNTubesPerLayer; if( tubegeo == tube && layergeo == layer ) { tubefound=true; break; -- GitLab