Skip to content
Snippets Groups Projects
Commit 72998e0a authored by Riccardo Maria Bianchi's avatar Riccardo Maria Bianchi :sunny:
Browse files

Adding FWD detectors (Lucid, ALFA, AFP, FwdRegion)

parent 7571ee94
No related branches found
No related tags found
29 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,!70683Add missing geometries to DumpGeo, and add a summary of the dumped DetManagers and TreeTops
......@@ -58,10 +58,34 @@ def configureGeometry(flags, cfg):
from AtlasGeoModel.CavernGMConfig import CavernGeometryCfg
cfg.merge(CavernGeometryCfg(flags))
# Forward detectors (disabled by default)
if flags.Detector.GeometryLucid or flags.Detector.GeometryALFA or flags.Detector.GeometryAFP or flags.Detector.GeometryFwdRegion :
from AtlasGeoModel.ForDetGeoModelConfig import ForDetGeometryCfg
cfg.merge(ForDetGeometryCfg(flags))
if flags.Detector.GeometryZDC:
from ZDC_GeoM.ZdcGeoModelConfig import ZDC_DetToolCfg
cfg.merge(ZDC_DetToolCfg(flags))
# Calorimeters
# if flags.Detector.GeometryMBTS:
# Inner Detector
# if flags.Detector.GeometryBCM:
# Upgrade ITk Inner Tracker is a separate and parallel detector
# if flags.Detector.GeometryBCMPrime:
# if flags.Detector.GeometryPLR:
# # HGTD
# if flags.Detector.GeometryHGTD:
# #set up geometry
# if flags.HGTD.Geometry.useGeoModelXml:
# from HGTD_GeoModelXml.HGTD_GeoModelConfig import HGTD_SimulationGeometryCfg
# else:
# from HGTD_GeoModel.HGTD_GeoModelConfig import HGTD_SimulationGeometryCfg
# cfg.merge(HGTD_SimulationGeometryCfg(flags))
......
......@@ -12,6 +12,7 @@
// - 2024, Mar -- Riccardo Maria BIANCHI
// <riccardo.maria.bianchi@cern.ch>
// Removed GeoExporter, moved all to DumpGeo
// - 2024, Apr -- Added missing sub-systems: Cavern, HGTD, FWD detectors, ...
#include "DumpGeo/DumpGeo.h"
......@@ -107,53 +108,40 @@ StatusCode DumpGeo::initialize() {
// We fill a set from the output vector,
// so we can use its built-in 'count' method later,
// to search for DetManagers
ATH_MSG_INFO(
"List of the GeoModel Detector Managers that are being dumped: ");
ATH_MSG_INFO("Dumping the GeoModel tree...");
std::set<std::string> managersList{};
{
std::vector<std::string> blub = theExpt->getListOfManagers();
managersList.insert(blub.begin(), blub.end());
}
if (msgLvl(MSG::INFO)) {
std::cout
<< "List of the GeoModel Detector Managers that are being dumped: "
<< std::endl;
for (auto const& man : managersList) {
// get the DetectorManager
const GeoVDetectorManager* manager = theExpt->getManager(man);
unsigned int nTreetops = manager->getNumTreeTops();
std::cout << "\t" << man << " [contains " << nTreetops << " treetops]"
<< std::endl;
// if (msgLvl(MSG::VERBOSE)) {
for (unsigned int i = 0; i < nTreetops; ++i) {
PVConstLink treetop(manager->getTreeTop(i));
// get treetop's volume
const GeoVPhysVol* vol = treetop;
// get treetop's logvol's name
std::string volName = vol->getLogVol()->getName();
std::cout << "\t\t treetop: " << volName << std::endl;
}
// }
for (unsigned int i = 0; i < nTreetops; ++i) {
PVConstLink treetop(manager->getTreeTop(i));
// get treetop's volume
const GeoVPhysVol* vol = treetop;
// get treetop's logvol's name
std::string volName = vol->getLogVol()->getName();
std::cout << "\t\t treetop: " << volName << std::endl;
}
}
}
if (!(m_user_filterDetManagersList.empty())) {
// // Get list of managers
// // We fill a set from the output vector,
// // so we can use its built-in 'count' method later,
// // to search for DetManagers
// ATH_MSG_INFO("List of GeoModel Detector Managers: ");
// std::set<std::string> managersList{};
// {
// std::vector<std::string> blub = theExpt->getListOfManagers();
// managersList.insert(blub.begin(), blub.end());
// }
// Convert the list of det managers passed by the user into a set
std::set<std::string> user_managersList{};
{
user_managersList.insert(m_user_filterDetManagersList.begin(),
m_user_filterDetManagersList.end());
}
// safety check:
// check that all DetManagers requested by the user are in the list
// If not, print an error message to warn the user and return
......@@ -220,9 +208,9 @@ StatusCode DumpGeo::initialize() {
} // end while
}
}
} // end for
} // end if
} // end for
}
}
}
}
}
......
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