From 82c3cef9b8b11722d3a330f47e1403478a59b614 Mon Sep 17 00:00:00 2001 From: Dave Casper <dcasper@uci.edu> Date: Tue, 10 May 2022 05:49:21 -0700 Subject: [PATCH] VetoNu working at some level [skip ci] --- .../FaserGeoAdaptors/GeoScintHit.icc | 4 ++-- .../FaserGeoModel/python/GeoModelInit.py | 2 +- README.md | 2 +- .../ScintDetectorElement.h | 2 ++ .../src/ScintDetectorElement.cxx | 20 ++++++++++++++---- .../src/VetoNuDetectorManager.cxx | 2 +- .../VTI12GeometrySystems/VP1GeoFlags.h | 13 ++++++------ .../src/GeoSysController.cxx | 1 + .../src/VP1GeometrySystem.cxx | 7 +++++++ .../src/VisAttributes.cxx | 1 + .../src/VolumeTreeModel.cxx | 1 + .../src/geometrysystemcontroller.ui | 15 +++++++++---- .../src/VP1SimHitSystem.cxx | 21 +++++++++++++++++++ .../src/simhitcontrollerform.ui | 9 +++++++- .../src/TrackCollHandle_TruthTracks.cxx | 6 ++++-- .../VP1WaveformHitSystem.h | 1 + .../VTI12WaveformSystems/VP1WaveformSystem.h | 1 + .../WaveformSysController.h | 3 +++ .../src/VP1WaveformHitSystem.cxx | 15 +++++++++++++ .../src/VP1WaveformSystem.cxx | 14 +++++++++++++ .../src/WaveformSysController.cxx | 12 +++++++++++ .../src/waveformcontrollerform.ui | 20 +++++++++++++----- .../VTI12/VTI12Utils/VTI12Utils/VP1DetInfo.h | 4 ++++ .../VTI12Utils/VTI12Utils/VP1JobConfigInfo.h | 1 + graphics/VTI12/VTI12Utils/src/VP1DetInfo.cxx | 10 +++++++++ .../VTI12/VTI12Utils/src/VP1JobConfigInfo.cxx | 6 ++++++ 26 files changed, 166 insertions(+), 27 deletions(-) diff --git a/DetectorDescription/GeoModel/FaserGeoAdaptors/FaserGeoAdaptors/GeoScintHit.icc b/DetectorDescription/GeoModel/FaserGeoAdaptors/FaserGeoAdaptors/GeoScintHit.icc index ce5f6950..ad053437 100644 --- a/DetectorDescription/GeoModel/FaserGeoAdaptors/FaserGeoAdaptors/GeoScintHit.icc +++ b/DetectorDescription/GeoModel/FaserGeoAdaptors/FaserGeoAdaptors/GeoScintHit.icc @@ -22,7 +22,7 @@ inline void GeoScintHit::init() { if (detStore.retrieve().isSuccess()) { if(detStore->retrieve(s_veto,"Veto").isFailure()) s_veto = 0; - if(detStore->retrieve(s_veto,"VetoNu").isFailure()) + if(detStore->retrieve(s_vetonu,"VetoNu").isFailure()) s_vetonu = 0; if(detStore->retrieve(s_trigger,"Trigger").isFailure()) s_trigger = 0; @@ -30,7 +30,7 @@ inline void GeoScintHit::init() { s_preshower = 0; if(detStore->retrieve(s_vID,"VetoID").isFailure()) s_vID = 0; - if(detStore->retrieve(s_vID,"VetoNuID").isFailure()) + if(detStore->retrieve(s_vnID,"VetoNuID").isFailure()) s_vnID = 0; if(detStore->retrieve(s_tID,"TriggerID").isFailure()) s_tID = 0; diff --git a/DetectorDescription/GeoModel/FaserGeoModel/python/GeoModelInit.py b/DetectorDescription/GeoModel/FaserGeoModel/python/GeoModelInit.py index f44e3533..5e47a915 100644 --- a/DetectorDescription/GeoModel/FaserGeoModel/python/GeoModelInit.py +++ b/DetectorDescription/GeoModel/FaserGeoModel/python/GeoModelInit.py @@ -48,7 +48,7 @@ def _setupGeoModel(): geoModelSvc.DetectorTools += [ emulsionDetectorTool ] if "FASERNU-03" in DDversion: - from VetoGeoNuModel.VetoNuGeoModelConf import VetoNuDetectorTool + from VetoNuGeoModel.VetoNuGeoModelConf import VetoNuDetectorTool vetoNuDetectorTool = VetoNuDetectorTool( DetectorName = "VetoNu", Alignable = True, RDBAccessSvc = "RDBAccessSvc", diff --git a/README.md b/README.md index 07806385..2d7e57ab 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ source ./setup.sh Don't omit the dot in the `source ./setup.sh` command! -It can be convenient to alias the "asetup --input=calypso/asetup.faser" to something like "fsetup" +It can be convenient to alias the command "asetup --input=calypso/asetup.faser" to something like "fsetup" **Lxplus/afs setup** diff --git a/Scintillator/ScintDetDescr/ScintReadoutGeometry/ScintReadoutGeometry/ScintDetectorElement.h b/Scintillator/ScintDetDescr/ScintReadoutGeometry/ScintReadoutGeometry/ScintDetectorElement.h index 2f1e7c0a..6711c085 100644 --- a/Scintillator/ScintDetDescr/ScintReadoutGeometry/ScintReadoutGeometry/ScintDetectorElement.h +++ b/Scintillator/ScintDetDescr/ScintReadoutGeometry/ScintReadoutGeometry/ScintDetectorElement.h @@ -156,6 +156,7 @@ namespace ScintDD { bool isVeto() const; bool isTrigger() const; bool isPreshower() const; + bool isVetoNu() const; // Identifier <-> pmt @@ -458,6 +459,7 @@ namespace ScintDD { bool m_isVeto; bool m_isTrigger; bool m_isPreshower; + bool m_isVetoNu; // // Cached values. diff --git a/Scintillator/ScintDetDescr/ScintReadoutGeometry/src/ScintDetectorElement.cxx b/Scintillator/ScintDetDescr/ScintReadoutGeometry/src/ScintDetectorElement.cxx index 3b4a0c48..e06fa948 100644 --- a/Scintillator/ScintDetDescr/ScintReadoutGeometry/src/ScintDetectorElement.cxx +++ b/Scintillator/ScintDetDescr/ScintReadoutGeometry/src/ScintDetectorElement.cxx @@ -14,6 +14,7 @@ #include "ScintIdentifier/VetoID.h" #include "ScintIdentifier/TriggerID.h" #include "ScintIdentifier/PreshowerID.h" +#include "ScintIdentifier/VetoNuID.h" #include "GeoModelKernel/GeoVFullPhysVol.h" #include "GeoModelFaserUtilities/GeoAlignmentStore.h" @@ -93,13 +94,14 @@ ScintDetectorElement::commonConstructor() m_isVeto = getIdHelper()->is_veto(m_id); m_isTrigger = getIdHelper()->is_trigger(m_id); m_isPreshower = getIdHelper()->is_preshower(m_id); - if (!m_isVeto && !m_isTrigger && !m_isPreshower) + m_isVetoNu = getIdHelper()->is_vetonu(m_id); + if (!m_isVeto && !m_isTrigger && !m_isPreshower && !m_isVetoNu) { - if (msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "Element id is not for veto, trigger or preshower" << endmsg; + if (msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "Element id is not for veto, trigger, preshower or vetonu" << endmsg; } - else if ((m_isVeto && m_isTrigger) || (m_isVeto && m_isPreshower) || (m_isTrigger && m_isPreshower)) + else if ((m_isVeto && m_isTrigger) || (m_isVeto && m_isPreshower) || (m_isTrigger && m_isPreshower) || (m_isVetoNu && (m_isVeto || m_isTrigger || m_isPreshower))) { - if (msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "Element id belongs to more than one of veto, trigger or preshower" << endmsg; + if (msgLvl(MSG::WARNING)) msg(MSG::WARNING) << "Element id belongs to more than one of veto, trigger, preshower or vetonu" << endmsg; } // Set IdHash. @@ -118,6 +120,11 @@ ScintDetectorElement::commonConstructor() const PreshowerID* preshowerId = dynamic_cast<const PreshowerID* >(getIdHelper()); m_idHash = preshowerId->plate_hash(m_id); } + else if (isVetoNu()) + { + const VetoNuID* vetoNuId = dynamic_cast<const VetoNuID* >(getIdHelper()); + m_idHash = vetoNuId->plate_hash(m_id); + } if (!m_idHash.is_valid()) throw std::runtime_error("ScintDetectorElement: Unable to set IdentifierHash"); @@ -599,6 +606,11 @@ bool ScintDetectorElement::isPreshower() const return m_isPreshower; } +bool ScintDetectorElement::isVetoNu() const +{ + return m_isVetoNu; +} + Trk::Surface & ScintDetectorElement::surface() { diff --git a/Scintillator/ScintDetDescr/ScintReadoutGeometry/src/VetoNuDetectorManager.cxx b/Scintillator/ScintDetDescr/ScintReadoutGeometry/src/VetoNuDetectorManager.cxx index eb17df41..b7990ebc 100644 --- a/Scintillator/ScintDetDescr/ScintReadoutGeometry/src/VetoNuDetectorManager.cxx +++ b/Scintillator/ScintDetDescr/ScintReadoutGeometry/src/VetoNuDetectorManager.cxx @@ -260,7 +260,7 @@ namespace ScintDD { bool VetoNuDetectorManager::identifierBelongs(const Identifier & id) const { - return getIdHelper()->is_veto(id); + return getIdHelper()->is_vetonu(id); } diff --git a/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/VTI12GeometrySystems/VP1GeoFlags.h b/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/VTI12GeometrySystems/VP1GeoFlags.h index a50cf0d1..0ec7c0ef 100644 --- a/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/VTI12GeometrySystems/VP1GeoFlags.h +++ b/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/VTI12GeometrySystems/VP1GeoFlags.h @@ -27,14 +27,15 @@ public: None = 0x00000000, Emulsion = 0x00000001, - Veto = 0x00000002, - Trigger = 0x00000004, - Preshower = 0x00000008, + VetoNu = 0x00000002, + Veto = 0x00000004, + Trigger = 0x00000008, + Preshower = 0x00000010, - SCT = 0x00000010, - Dipole = 0x00000020, + SCT = 0x00000020, + Dipole = 0x00000040, - Ecal = 0x00000040, + Ecal = 0x00000080, // Pixel = 0x00000001, // bit 0 // SCT = 0x00000002, // 1 // TRT = 0x00000004, // 2 diff --git a/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/GeoSysController.cxx b/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/GeoSysController.cxx index e6325f8f..dd4c44c1 100644 --- a/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/GeoSysController.cxx +++ b/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/GeoSysController.cxx @@ -150,6 +150,7 @@ GeoSysController::GeoSysController(IVP1System * sys) m_d->subSysCheckBoxMap[VP1GeoFlags::Emulsion] = m_d->ui.checkBox_Emulsion; // SCINTILLATOR + m_d->subSysCheckBoxMap[VP1GeoFlags::VetoNu] = m_d->ui.checkBox_VetoNu; m_d->subSysCheckBoxMap[VP1GeoFlags::Veto] = m_d->ui.checkBox_Veto; m_d->subSysCheckBoxMap[VP1GeoFlags::Trigger] = m_d->ui.checkBox_Trigger; m_d->subSysCheckBoxMap[VP1GeoFlags::Preshower] = m_d->ui.checkBox_Preshower; diff --git a/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/VP1GeometrySystem.cxx b/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/VP1GeometrySystem.cxx index 8e4b6192..dfcff299 100644 --- a/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/VP1GeometrySystem.cxx +++ b/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/VP1GeometrySystem.cxx @@ -329,6 +329,7 @@ QWidget * VP1GeometrySystem::buildController() bool negategrandchildrenregexp = false // wheter we want to negate teh granchildren regex */ m_d->addSubSystem( VP1GeoFlags::Emulsion, "Emulsion"); + m_d->addSubSystem( VP1GeoFlags::VetoNu, "VetoNu"); m_d->addSubSystem( VP1GeoFlags::Veto, "Veto"); m_d->addSubSystem( VP1GeoFlags::Trigger, "Trigger"); m_d->addSubSystem( VP1GeoFlags::Preshower,"Preshower"); @@ -1109,6 +1110,12 @@ void VP1GeometrySystem::Imp::createPathExtras(const VolumeHandle* volhandle, QSt entries.push("Veto::Veto"); return; } + case VP1GeoFlags::VetoNu:{ + prefix = QString("VetoNu::"); + entries.push("SCINT::SCINT"); + entries.push("VetoNu::VetoNu"); + return; + } case VP1GeoFlags::Trigger:{ prefix = QString("Trigger::"); entries.push("SCINT::SCINT"); diff --git a/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/VisAttributes.cxx b/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/VisAttributes.cxx index 82825c71..27fd3362 100644 --- a/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/VisAttributes.cxx +++ b/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/VisAttributes.cxx @@ -160,6 +160,7 @@ DetVisAttributes::DetVisAttributes() { material->specularColor.setValue(.915152, .915152, .915152); material->shininess.setValue(0.642424); add("Veto",material); + add("VetoNu",material); add("Trigger",material); add("Preshower",material); } diff --git a/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/VolumeTreeModel.cxx b/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/VolumeTreeModel.cxx index b1aff16c..eae1d4d8 100644 --- a/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/VolumeTreeModel.cxx +++ b/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/VolumeTreeModel.cxx @@ -116,6 +116,7 @@ VolumeTreeModel::VolumeTreeModel( QObject * parent ) Imp::defineSubSystem(VP1GeoFlags::Emulsion, "Emulsion", Imp::NEUTRINO); // Scintillator Imp::defineSubSystem(VP1GeoFlags::Veto, "Veto", Imp::SCINT); + Imp::defineSubSystem(VP1GeoFlags::VetoNu, "VetoNu", Imp::SCINT); Imp::defineSubSystem(VP1GeoFlags::Trigger, "Trigger", Imp::SCINT); Imp::defineSubSystem(VP1GeoFlags::Preshower, "Preshower", Imp::SCINT); // Tracker diff --git a/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/geometrysystemcontroller.ui b/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/geometrysystemcontroller.ui index be9ac807..a5ef9228 100644 --- a/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/geometrysystemcontroller.ui +++ b/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/geometrysystemcontroller.ui @@ -239,20 +239,27 @@ <number>0</number> </property> <item row="0" column="0"> + <widget class="QCheckBox" name="checkBox_VetoNu"> + <property name="text"> + <string>VetoNu</string> + </property> + </widget> + </item> + <item row="0" column="1"> <widget class="QCheckBox" name="checkBox_Veto"> <property name="text"> <string>Veto</string> </property> </widget> </item> - <item row="0" column="1"> + <item row="1" column="0"> <widget class="QCheckBox" name="checkBox_Trigger"> <property name="text"> <string>Trigger</string> </property> </widget> </item> - <item row="0" column="2"> + <item row="1" column="1"> <widget class="QCheckBox" name="checkBox_Preshower"> <property name="text"> <string>Preshower</string> @@ -333,7 +340,7 @@ <property name="title"> <string>Calorimeter</string> </property> - <layout class="QVBoxLayout" name="_12"> + <layout class="QVBoxLayout" name="_121"> <property name="spacing"> <number>0</number> </property> @@ -350,7 +357,7 @@ <number>4</number> </property> <item> - <layout class="QHBoxLayout" name="_14"> + <layout class="QHBoxLayout" name="_141"> <item> <widget class="QCheckBox" name="checkBox_Ecal"> <property name="text"> diff --git a/graphics/VTI12/VTI12Systems/VTI12SimHitSystems/src/VP1SimHitSystem.cxx b/graphics/VTI12/VTI12Systems/VTI12SimHitSystems/src/VP1SimHitSystem.cxx index 19634a20..a9eec098 100755 --- a/graphics/VTI12/VTI12Systems/VTI12SimHitSystems/src/VP1SimHitSystem.cxx +++ b/graphics/VTI12/VTI12Systems/VTI12SimHitSystems/src/VP1SimHitSystem.cxx @@ -64,6 +64,7 @@ QWidget* VP1SimHitSystem::buildController() // Populate Check Box Names Map m_clockwork->checkBoxNamesMap.insert(ui.chbxEmulsionHits,"Emulsion"); + m_clockwork->checkBoxNamesMap.insert(ui.chbxVetoNuHits,"VetoNu"); m_clockwork->checkBoxNamesMap.insert(ui.chbxVetoHits,"Veto"); m_clockwork->checkBoxNamesMap.insert(ui.chbxTriggerHits,"Trigger"); m_clockwork->checkBoxNamesMap.insert(ui.chbxPreshowerHits,"Preshower"); @@ -84,6 +85,7 @@ void VP1SimHitSystem::systemcreate(StoreGateSvc* /*detstore*/) { // Populate Color Map m_clockwork->colorMap.insert("Emulsion",SbColor(1,0,1)); + m_clockwork->colorMap.insert("VetoNu",SbColor(0,1,1)); m_clockwork->colorMap.insert("Veto",SbColor(0,0,1)); m_clockwork->colorMap.insert("Trigger",SbColor(1,1,1)); m_clockwork->colorMap.insert("Preshower",SbColor(1,0,0)); @@ -227,6 +229,25 @@ void VP1SimHitSystem::buildHitTree(const QString& detector) else message("Unable to retrieve Veto Hits"); } + else if(detector=="VetoNu") + { + // + // VetoNu: + // + const ScintHitCollection* p_collection = nullptr; + if(sg->retrieve(p_collection, "VetoNuHits")==StatusCode::SUCCESS) + { + for(ScintHitConstIterator i_hit=p_collection->begin(); i_hit!=p_collection->end(); ++i_hit) + { + GeoScintHit ghit(*i_hit); + if(!ghit) continue; + HepGeom::Point3D<double> u = ghit.getGlobalPosition(); + hitVtxProperty->vertex.set1Value(hitCount++,u.x(),u.y(),u.z()); + } + } + else + message("Unable to retrieve VetoNu Hits"); + } else if(detector=="Trigger") { // diff --git a/graphics/VTI12/VTI12Systems/VTI12SimHitSystems/src/simhitcontrollerform.ui b/graphics/VTI12/VTI12Systems/VTI12SimHitSystems/src/simhitcontrollerform.ui index 67f62d51..b9797015 100755 --- a/graphics/VTI12/VTI12Systems/VTI12SimHitSystems/src/simhitcontrollerform.ui +++ b/graphics/VTI12/VTI12Systems/VTI12SimHitSystems/src/simhitcontrollerform.ui @@ -106,6 +106,13 @@ <string>Scintillator</string> </property> <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QCheckBox" name="chbxVetoNuHits"> + <property name="text"> + <string>VetoNu Hits</string> + </property> + </widget> + </item> <item> <widget class="QCheckBox" name="chbxVetoHits"> <property name="text"> @@ -181,7 +188,7 @@ <property name="title"> <string>Calorimeter</string> </property> - <layout class="QVBoxLayout" name="verticalLayout_3"> + <layout class="QVBoxLayout" name="verticalLayout_31"> <item> <widget class="QCheckBox" name="chbxCaloHits"> <property name="text"> diff --git a/graphics/VTI12/VTI12Systems/VTI12TrackSystems/src/TrackCollHandle_TruthTracks.cxx b/graphics/VTI12/VTI12Systems/VTI12TrackSystems/src/TrackCollHandle_TruthTracks.cxx index ef731fa9..eedf4ed4 100644 --- a/graphics/VTI12/VTI12Systems/VTI12TrackSystems/src/TrackCollHandle_TruthTracks.cxx +++ b/graphics/VTI12/VTI12Systems/VTI12TrackSystems/src/TrackCollHandle_TruthTracks.cxx @@ -127,8 +127,9 @@ QStringList TrackCollHandle_TruthTracks::availableCollections( IVP1System*sys ) if (VP1JobConfigInfo::hasVetoGeometry() || VP1JobConfigInfo::hasTriggerGeometry() || - VP1JobConfigInfo::hasPreshowerGeometry()) - keys_scintillatorhits = sgcont.getKeys<ScintHitCollection>();//"VetoHits", "TriggerHits" and "PreshowerHits" + VP1JobConfigInfo::hasPreshowerGeometry() || + VP1JobConfigInfo::hasVetoNuGeometry()) + keys_scintillatorhits = sgcont.getKeys<ScintHitCollection>();//"VetoHits", "VetoNuHits", "TriggerHits" and "PreshowerHits" if (VP1JobConfigInfo::hasSCTGeometry()) keys_siliconhits = sgcont.getKeys<FaserSiHitCollection>();//"SCT_Hits" if (VP1JobConfigInfo::hasEcalGeometry()) @@ -264,6 +265,7 @@ bool TrackCollHandle_TruthTracks::Imp::loadHitLists(std::map<SimBarCode,SimHitLi if (VP1JobConfigInfo::hasEmulsionGeometry()) addHitCollections<NeutrinoHitCollection>(hitLists); if (VP1JobConfigInfo::hasVetoGeometry() || + VP1JobConfigInfo::hasVetoNuGeometry() || VP1JobConfigInfo::hasTriggerGeometry() || VP1JobConfigInfo::hasPreshowerGeometry()) // std::cout << "Called addHitCollections" << std::endl; diff --git a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/VTI12WaveformSystems/VP1WaveformHitSystem.h b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/VTI12WaveformSystems/VP1WaveformHitSystem.h index fa0831b3..52312553 100644 --- a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/VTI12WaveformSystems/VP1WaveformHitSystem.h +++ b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/VTI12WaveformSystems/VP1WaveformHitSystem.h @@ -45,6 +45,7 @@ public: public slots: void updateVetoElements(bool); + void updateVetoNuElements(bool); void updateTriggerElements(bool); void updatePreshowerElements(bool); void updateCalorimeterElements(bool); diff --git a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/VTI12WaveformSystems/VP1WaveformSystem.h b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/VTI12WaveformSystems/VP1WaveformSystem.h index d17e3b60..73535d6a 100644 --- a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/VTI12WaveformSystems/VP1WaveformSystem.h +++ b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/VTI12WaveformSystems/VP1WaveformSystem.h @@ -45,6 +45,7 @@ public: public slots: void updateVetoElements(bool); + void updateVetoNuElements(bool); void updateTriggerElements(bool); void updatePreshowerElements(bool); void updateCalorimeterElements(bool); diff --git a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/VTI12WaveformSystems/WaveformSysController.h b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/VTI12WaveformSystems/WaveformSysController.h index ebb3c4c3..74a2191c 100644 --- a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/VTI12WaveformSystems/WaveformSysController.h +++ b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/VTI12WaveformSystems/WaveformSysController.h @@ -40,6 +40,7 @@ public: /////////////////////////////////// bool vetoEnabled() const; + bool vetoNuEnabled() const; bool triggerEnabled() const; bool preshowerEnabled() const; bool calorimeterEnabled() const; @@ -52,6 +53,7 @@ public: /////////////////////////////////////// signals: void vetoEnabledChanged(bool); + void vetoNuEnabledChanged(bool); void triggerEnabledChanged(bool); void preshowerEnabledChanged(bool); void calorimeterEnabledChanged(bool); @@ -65,6 +67,7 @@ private: private slots: void possibleChange_vetoEnabled(); + void possibleChange_vetoNuEnabled(); void possibleChange_triggerEnabled(); void possibleChange_preshowerEnabled(); void possibleChange_calorimeterEnabled(); diff --git a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/VP1WaveformHitSystem.cxx b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/VP1WaveformHitSystem.cxx index 7d0c07c9..c46089cf 100644 --- a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/VP1WaveformHitSystem.cxx +++ b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/VP1WaveformHitSystem.cxx @@ -46,6 +46,7 @@ public: VP1WaveformHitSystem *theclass; WaveformSysController * controller; std::vector<QChart*> vetoCharts; + std::vector<QChart*> vetoNuCharts; std::vector<QChart*> triggerCharts; std::vector<QChart*> preshowerCharts; std::vector<QChart*> calorimeterCharts; @@ -82,6 +83,7 @@ QWidget * VP1WaveformHitSystem::buildController() m_d->controller = new WaveformSysController(this); connect(m_d->controller,SIGNAL(vetoEnabledChanged(bool)),this,SLOT(updateVetoElements(bool))); + connect(m_d->controller,SIGNAL(vetoNuEnabledChanged(bool)),this,SLOT(updateVetoNuElements(bool))); connect(m_d->controller,SIGNAL(triggerEnabledChanged(bool)),this,SLOT(updateTriggerElements(bool))); connect(m_d->controller,SIGNAL(preshowerEnabledChanged(bool)),this,SLOT(updatePreshowerElements(bool))); connect(m_d->controller,SIGNAL(calorimeterEnabledChanged(bool)),this,SLOT(updateCalorimeterElements(bool))); @@ -99,6 +101,7 @@ void VP1WaveformHitSystem::buildEventItemCollection(StoreGateSvc* sg, VP1Graphic } m_d->vetoCharts.clear(); + m_d->vetoNuCharts.clear(); m_d->triggerCharts.clear(); m_d->preshowerCharts.clear(); m_d->calorimeterCharts.clear(); @@ -107,6 +110,7 @@ void VP1WaveformHitSystem::buildEventItemCollection(StoreGateSvc* sg, VP1Graphic // m_d->nCharts = 0; m_d->createCharts(sg, root, m_d->controller->vetoEnabled(), m_d->vetoCharts, "VetoWaveformHits"); + m_d->createCharts(sg, root, m_d->controller->vetoNuEnabled(), m_d->vetoNuCharts, "VetoNuWaveformHits"); m_d->createCharts(sg, root, m_d->controller->triggerEnabled(), m_d->triggerCharts, "TriggerWaveformHits"); m_d->createCharts(sg, root, m_d->controller->preshowerEnabled(), m_d->preshowerCharts, "PreshowerWaveformHits"); m_d->createCharts(sg, root, m_d->controller->calorimeterEnabled(), m_d->calorimeterCharts, "CaloWaveformHits"); @@ -264,6 +268,7 @@ QChart* VP1WaveformHitSystem::Imp::createChart(const std::vector<float>& times, void VP1WaveformHitSystem::Imp::getVisible() { visibleCharts.clear(); + getVisible(vetoNuCharts); getVisible(vetoCharts); getVisible(triggerCharts); getVisible(preshowerCharts); @@ -356,6 +361,16 @@ void VP1WaveformHitSystem::updateVetoElements(bool enabled) m_d->layoutCharts(); } +void VP1WaveformHitSystem::updateVetoNuElements(bool enabled) +{ + for (QChart* c : m_d->vetoNuCharts) + { + c->setVisible(enabled); + } + m_d->layoutCharts(); +} + + void VP1WaveformHitSystem::updateTriggerElements(bool enabled) { for (QChart* c : m_d->triggerCharts) diff --git a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/VP1WaveformSystem.cxx b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/VP1WaveformSystem.cxx index ffe6bd00..172bdebd 100644 --- a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/VP1WaveformSystem.cxx +++ b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/VP1WaveformSystem.cxx @@ -45,6 +45,7 @@ public: VP1WaveformSystem *theclass; WaveformSysController * controller; std::vector<QChart*> vetoCharts; + std::vector<QChart*> vetoNuCharts; std::vector<QChart*> triggerCharts; std::vector<QChart*> preshowerCharts; std::vector<QChart*> calorimeterCharts; @@ -80,6 +81,7 @@ QWidget * VP1WaveformSystem::buildController() m_d->controller = new WaveformSysController(this); connect(m_d->controller,SIGNAL(vetoEnabledChanged(bool)),this,SLOT(updateVetoElements(bool))); + connect(m_d->controller,SIGNAL(vetoNuEnabledChanged(bool)),this,SLOT(updateVetoNuElements(bool))); connect(m_d->controller,SIGNAL(triggerEnabledChanged(bool)),this,SLOT(updateTriggerElements(bool))); connect(m_d->controller,SIGNAL(preshowerEnabledChanged(bool)),this,SLOT(updatePreshowerElements(bool))); connect(m_d->controller,SIGNAL(calorimeterEnabledChanged(bool)),this,SLOT(updateCalorimeterElements(bool))); @@ -97,6 +99,7 @@ void VP1WaveformSystem::buildEventItemCollection(StoreGateSvc* sg, VP1GraphicsIt } m_d->vetoCharts.clear(); + m_d->vetoNuCharts.clear(); m_d->triggerCharts.clear(); m_d->preshowerCharts.clear(); m_d->calorimeterCharts.clear(); @@ -105,6 +108,7 @@ void VP1WaveformSystem::buildEventItemCollection(StoreGateSvc* sg, VP1GraphicsIt // m_d->nCharts = 0; m_d->createCharts(sg, root, m_d->controller->vetoEnabled(), m_d->vetoCharts, "VetoWaveforms"); + m_d->createCharts(sg, root, m_d->controller->vetoNuEnabled(), m_d->vetoNuCharts, "VetoNuWaveforms"); m_d->createCharts(sg, root, m_d->controller->triggerEnabled(), m_d->triggerCharts, "TriggerWaveforms"); m_d->createCharts(sg, root, m_d->controller->preshowerEnabled(), m_d->preshowerCharts, "PreshowerWaveforms"); m_d->createCharts(sg, root, m_d->controller->calorimeterEnabled(), m_d->calorimeterCharts, "CaloWaveforms"); @@ -194,6 +198,7 @@ void VP1WaveformSystem::Imp::getVisible() { visibleCharts.clear(); getVisible(vetoCharts); + getVisible(vetoNuCharts); getVisible(triggerCharts); getVisible(preshowerCharts); getVisible(calorimeterCharts); @@ -286,6 +291,15 @@ void VP1WaveformSystem::updateVetoElements(bool enabled) m_d->layoutCharts(); } +void VP1WaveformSystem::updateVetoNuElements(bool enabled) +{ + for (QChart* c : m_d->vetoNuCharts) + { + c->setVisible(enabled); + } + m_d->layoutCharts(); +} + void VP1WaveformSystem::updateTriggerElements(bool enabled) { for (QChart* c : m_d->triggerCharts) diff --git a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/WaveformSysController.cxx b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/WaveformSysController.cxx index 765ce0d4..856fc007 100644 --- a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/WaveformSysController.cxx +++ b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/WaveformSysController.cxx @@ -45,6 +45,7 @@ public: } bool last_vetoEnabled; + bool last_vetoNuEnabled; bool last_triggerEnabled; bool last_preshowerEnabled; bool last_calorimeterEnabled; @@ -62,6 +63,9 @@ WaveformSysController::WaveformSysController(IVP1System * sys) addUpdateSlot(SLOT(possibleChange_vetoEnabled())); connectToLastUpdateSlot(m_d->ui.checkBox_vetoEnabled); + addUpdateSlot(SLOT(possibleChange_vetoNuEnabled())); + connectToLastUpdateSlot(m_d->ui.checkBox_vetoNuEnabled); + addUpdateSlot(SLOT(possibleChange_triggerEnabled())); connectToLastUpdateSlot(m_d->ui.checkBox_triggerEnabled); @@ -91,6 +95,11 @@ bool WaveformSysController::vetoEnabled() const return m_d->ui.checkBox_vetoEnabled->isChecked(); } +bool WaveformSysController::vetoNuEnabled() const +{ + return m_d->ui.checkBox_vetoNuEnabled->isChecked(); +} + bool WaveformSysController::triggerEnabled() const { return m_d->ui.checkBox_triggerEnabled->isChecked(); @@ -126,6 +135,7 @@ void WaveformSysController::actualSaveSettings(VP1Serialise&s) const { s.save(m_d->ui.checkBox_vetoEnabled); + s.save(m_d->ui.checkBox_vetoNuEnabled); s.save(m_d->ui.checkBox_triggerEnabled); s.save(m_d->ui.checkBox_preshowerEnabled); s.save(m_d->ui.checkBox_calorimeterEnabled); @@ -143,6 +153,7 @@ void WaveformSysController::actualRestoreSettings(VP1Deserialise& s) } s.restore(m_d->ui.checkBox_vetoEnabled); + s.restore(m_d->ui.checkBox_vetoNuEnabled); s.restore(m_d->ui.checkBox_triggerEnabled); s.restore(m_d->ui.checkBox_preshowerEnabled); s.restore(m_d->ui.checkBox_calorimeterEnabled); @@ -157,6 +168,7 @@ void WaveformSysController::actualRestoreSettings(VP1Deserialise& s) #define VP1CONTROLLERCLASSNAME WaveformSysController #include "VP1Base/VP1ControllerMacros.h" POSSIBLECHANGE_IMP(vetoEnabled) +POSSIBLECHANGE_IMP(vetoNuEnabled) POSSIBLECHANGE_IMP(triggerEnabled) POSSIBLECHANGE_IMP(preshowerEnabled) POSSIBLECHANGE_IMP(calorimeterEnabled) diff --git a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/waveformcontrollerform.ui b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/waveformcontrollerform.ui index cb854170..a9093387 100644 --- a/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/waveformcontrollerform.ui +++ b/graphics/VTI12/VTI12Systems/VTI12WaveformSystems/src/waveformcontrollerform.ui @@ -32,6 +32,16 @@ <number>0</number> </property> <item row="0" column="0"> + <widget class="QCheckBox" name="checkBox_vetoNuEnabled"> + <property name="text"> + <string>VetoNu</string> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="1" column="0"> <widget class="QCheckBox" name="checkBox_vetoEnabled"> <property name="text"> <string>Veto</string> @@ -41,7 +51,7 @@ </property> </widget> </item> - <item row="1" column="0"> + <item row="2" column="0"> <widget class="QCheckBox" name="checkBox_triggerEnabled"> <property name="text"> <string>Trigger</string> @@ -51,7 +61,7 @@ </property> </widget> </item> - <item row="2" column="0"> + <item row="3" column="0"> <widget class="QCheckBox" name="checkBox_preshowerEnabled"> <property name="text"> <string>Preshower</string> @@ -61,7 +71,7 @@ </property> </widget> </item> - <item row="3" column="0"> + <item row="4" column="0"> <widget class="QCheckBox" name="checkBox_calorimeterEnabled"> <property name="text"> <string>Calorimeter</string> @@ -71,7 +81,7 @@ </property> </widget> </item> - <item row="4" column="0"> + <item row="5" column="0"> <widget class="QCheckBox" name="checkBox_clockEnabled"> <property name="text"> <string>Clock</string> @@ -81,7 +91,7 @@ </property> </widget> </item> - <item row="5" column="0"> + <item row="6" column="0"> <widget class="QCheckBox" name="checkBox_testEnabled"> <property name="text"> <string>Test</string> diff --git a/graphics/VTI12/VTI12Utils/VTI12Utils/VP1DetInfo.h b/graphics/VTI12/VTI12Utils/VTI12Utils/VP1DetInfo.h index ff521e60..46ae0c23 100644 --- a/graphics/VTI12/VTI12Utils/VTI12Utils/VP1DetInfo.h +++ b/graphics/VTI12/VTI12Utils/VTI12Utils/VP1DetInfo.h @@ -23,6 +23,7 @@ class StoreGateSvc; namespace NeutrinoDD { class EmulsionDetectorManager; } namespace TrackerDD { class SCT_DetectorManager; } namespace ScintDD { class VetoDetectorManager; } +namespace ScintDD { class VetoNuDetectorManager; } namespace ScintDD { class TriggerDetectorManager; } namespace ScintDD { class PreshowerDetectorManager; } namespace CaloDD { class EcalDetectorManager; } @@ -31,6 +32,7 @@ class FaserDetectorID; class EmulsionDetectorID; class ScintDetectorID; class VetoID; +class VetoNuID; class TriggerID; class PreshowerID; class FaserSCT_ID; @@ -51,6 +53,7 @@ public: static const NeutrinoDD::EmulsionDetectorManager * emulsionDetMgr(); static const ScintDD::VetoDetectorManager * vetoDetMgr(); + static const ScintDD::VetoNuDetectorManager * vetoNuDetMgr(); static const ScintDD::TriggerDetectorManager * triggerDetMgr(); static const ScintDD::PreshowerDetectorManager * preshowerDetMgr(); @@ -66,6 +69,7 @@ public: static const EmulsionID * emulsionIDHelper(); static const VetoID * vetoIDHelper(); + static const VetoNuID * vetoNuIDHelper(); static const TriggerID * triggerIDHelper(); static const PreshowerID * preshowerIDHelper(); diff --git a/graphics/VTI12/VTI12Utils/VTI12Utils/VP1JobConfigInfo.h b/graphics/VTI12/VTI12Utils/VTI12Utils/VP1JobConfigInfo.h index a9091090..97ae89cc 100644 --- a/graphics/VTI12/VTI12Utils/VTI12Utils/VP1JobConfigInfo.h +++ b/graphics/VTI12/VTI12Utils/VTI12Utils/VP1JobConfigInfo.h @@ -35,6 +35,7 @@ public: static bool hasEmulsionGeometry(); static bool hasVetoGeometry(); + static bool hasVetoNuGeometry(); static bool hasTriggerGeometry(); static bool hasPreshowerGeometry(); diff --git a/graphics/VTI12/VTI12Utils/src/VP1DetInfo.cxx b/graphics/VTI12/VTI12Utils/src/VP1DetInfo.cxx index ba2ecb3f..b92e7cf2 100644 --- a/graphics/VTI12/VTI12Utils/src/VP1DetInfo.cxx +++ b/graphics/VTI12/VTI12Utils/src/VP1DetInfo.cxx @@ -25,6 +25,7 @@ #include "NeutrinoReadoutGeometry/EmulsionDetectorManager.h" #include "ScintReadoutGeometry/VetoDetectorManager.h" +#include "ScintReadoutGeometry/VetoNuDetectorManager.h" #include "ScintReadoutGeometry/TriggerDetectorManager.h" #include "ScintReadoutGeometry/PreshowerDetectorManager.h" @@ -37,6 +38,7 @@ #include "NeutrinoIdentifier/EmulsionID.h" #include "ScintIdentifier/VetoID.h" +#include "ScintIdentifier/VetoNuID.h" #include "ScintIdentifier/TriggerID.h" #include "ScintIdentifier/PreshowerID.h" @@ -58,6 +60,7 @@ public: static const NeutrinoDD::EmulsionDetectorManager * m_emulsionDetMgr; static const ScintDD::VetoDetectorManager * m_vetoDetMgr; + static const ScintDD::VetoNuDetectorManager * m_vetoNuDetMgr; static const ScintDD::TriggerDetectorManager * m_triggerDetMgr; static const ScintDD::PreshowerDetectorManager * m_preshowerDetMgr; @@ -70,6 +73,7 @@ public: static const EmulsionID * m_emulsionIDHelper; static const VetoID * m_vetoIDHelper; + static const VetoNuID * m_vetoNuIDHelper; static const TriggerID * m_triggerIDHelper; static const PreshowerID * m_preshowerIDHelper; @@ -84,6 +88,7 @@ const char VP1DetInfo::Imp::m_badInitFlag = ' '; const NeutrinoDD::EmulsionDetectorManager * VP1DetInfo::Imp::m_emulsionDetMgr = 0; const ScintDD::VetoDetectorManager * VP1DetInfo::Imp::m_vetoDetMgr = 0; +const ScintDD::VetoNuDetectorManager * VP1DetInfo::Imp::m_vetoNuDetMgr = 0; const ScintDD::TriggerDetectorManager * VP1DetInfo::Imp::m_triggerDetMgr = 0; const ScintDD::PreshowerDetectorManager * VP1DetInfo::Imp::m_preshowerDetMgr = 0; @@ -96,6 +101,7 @@ const FaserDetectorID * VP1DetInfo::Imp::m_faserIDHelper = 0; const EmulsionID * VP1DetInfo::Imp::m_emulsionIDHelper = 0; const VetoID * VP1DetInfo::Imp::m_vetoIDHelper = 0; +const VetoNuID * VP1DetInfo::Imp::m_vetoNuIDHelper = 0; const TriggerID * VP1DetInfo::Imp::m_triggerIDHelper = 0; const PreshowerID * VP1DetInfo::Imp::m_preshowerIDHelper = 0; @@ -144,6 +150,7 @@ const T * VP1DetInfo::Imp::cachedRetrieve(const T*& cachedPtr, const char* prefe const NeutrinoDD::EmulsionDetectorManager * VP1DetInfo::emulsionDetMgr() { return Imp::cachedRetrieve(Imp::m_emulsionDetMgr,"Emulsion",VP1JobConfigInfo::hasEmulsionGeometry()); } const ScintDD::VetoDetectorManager * VP1DetInfo::vetoDetMgr() { return Imp::cachedRetrieve(Imp::m_vetoDetMgr,"Veto",VP1JobConfigInfo::hasVetoGeometry()); } +const ScintDD::VetoNuDetectorManager * VP1DetInfo::vetoNuDetMgr() { return Imp::cachedRetrieve(Imp::m_vetoNuDetMgr,"VetoNu",VP1JobConfigInfo::hasVetoNuGeometry()); } const ScintDD::TriggerDetectorManager * VP1DetInfo::triggerDetMgr() { return Imp::cachedRetrieve(Imp::m_triggerDetMgr,"Trigger",VP1JobConfigInfo::hasTriggerGeometry()); } const ScintDD::PreshowerDetectorManager * VP1DetInfo::preshowerDetMgr() { return Imp::cachedRetrieve(Imp::m_preshowerDetMgr,"Preshower",VP1JobConfigInfo::hasPreshowerGeometry()); } @@ -156,6 +163,7 @@ const FaserDetectorID * VP1DetInfo::faserIDHelper() { return Imp::cachedRetrieve const EmulsionID * VP1DetInfo::emulsionIDHelper() { return Imp::cachedRetrieve(Imp::m_emulsionIDHelper,"EmulsionID",VP1JobConfigInfo::hasEmulsionGeometry()); } const VetoID * VP1DetInfo::vetoIDHelper() { return Imp::cachedRetrieve(Imp::m_vetoIDHelper,"VetoID",VP1JobConfigInfo::hasVetoGeometry()); } +const VetoNuID * VP1DetInfo::vetoNuIDHelper() { return Imp::cachedRetrieve(Imp::m_vetoNuIDHelper,"VetoNuID",VP1JobConfigInfo::hasVetoNuGeometry()); } const TriggerID * VP1DetInfo::triggerIDHelper() { return Imp::cachedRetrieve(Imp::m_triggerIDHelper,"TriggerID",VP1JobConfigInfo::hasTriggerGeometry()); } const PreshowerID * VP1DetInfo::preshowerIDHelper() { return Imp::cachedRetrieve(Imp::m_preshowerIDHelper,"PreshowerID",VP1JobConfigInfo::hasPreshowerGeometry()); } @@ -179,6 +187,8 @@ bool VP1DetInfo::isUnsafe( const Identifier& id ) { if (idhelper->is_scint(id)) { if (!VP1JobConfigInfo::hasVetoGeometry() && idhelper->is_veto(id)) return true; + if (!VP1JobConfigInfo::hasVetoNuGeometry() && idhelper->is_vetonu(id)) + return true; if (!VP1JobConfigInfo::hasTriggerGeometry() && idhelper->is_trigger(id)) return true; if (!VP1JobConfigInfo::hasPreshowerGeometry() && idhelper->is_preshower(id)) diff --git a/graphics/VTI12/VTI12Utils/src/VP1JobConfigInfo.cxx b/graphics/VTI12/VTI12Utils/src/VP1JobConfigInfo.cxx index 03a305c6..f5723561 100644 --- a/graphics/VTI12/VTI12Utils/src/VP1JobConfigInfo.cxx +++ b/graphics/VTI12/VTI12Utils/src/VP1JobConfigInfo.cxx @@ -37,6 +37,7 @@ public: static bool hasGeoModelExperiment; static bool hasEmulsionGeometry; static bool hasVetoGeometry; + static bool hasVetoNuGeometry; static bool hasTriggerGeometry; static bool hasPreshowerGeometry; static bool hasSCTGeometry; @@ -52,6 +53,7 @@ bool VP1JobConfigInfo::Imp::initialised = false; bool VP1JobConfigInfo::Imp::hasGeoModelExperiment = false; bool VP1JobConfigInfo::Imp::hasEmulsionGeometry = false; bool VP1JobConfigInfo::Imp::hasVetoGeometry = false; +bool VP1JobConfigInfo::Imp::hasVetoNuGeometry = false; bool VP1JobConfigInfo::Imp::hasTriggerGeometry = false; bool VP1JobConfigInfo::Imp::hasPreshowerGeometry = false; bool VP1JobConfigInfo::Imp::hasSCTGeometry = false; @@ -64,6 +66,7 @@ void VP1JobConfigInfo::Imp::turnOffAll() hasGeoModelExperiment = false; hasEmulsionGeometry = false; hasVetoGeometry = false; + hasVetoNuGeometry = false; hasTriggerGeometry = false; hasPreshowerGeometry = false; hasSCTGeometry = false; @@ -89,6 +92,7 @@ void VP1JobConfigInfo::Imp::ensureInit() VP1Msg::messageVerbose("VTI12JobConfigInfo => hasGeoModelExperiment = "+QString(hasGeoModelExperiment?"On":"Off")); VP1Msg::messageVerbose("VTI12JobConfigInfo => hasEmulsionGeometry = "+QString(hasEmulsionGeometry?"On":"Off")); VP1Msg::messageVerbose("VTI12JobConfigInfo => hasVetoGeometry = "+QString(hasVetoGeometry?"On":"Off")); + VP1Msg::messageVerbose("VTI12JobConfigInfo => hasVetoNuGeometry = "+QString(hasVetoNuGeometry?"On":"Off")); VP1Msg::messageVerbose("VTI12JobConfigInfo => hasTriggerGeometry = "+QString(hasTriggerGeometry?"On":"Off")); VP1Msg::messageVerbose("VTI12JobConfigInfo => hasPreshowerGeometry = "+QString(hasPreshowerGeometry?"On":"Off")); @@ -103,6 +107,7 @@ void VP1JobConfigInfo::Imp::ensureInit() bool VP1JobConfigInfo::hasGeoModelExperiment() { if (!Imp::initialised) Imp::ensureInit(); return Imp::hasGeoModelExperiment; } bool VP1JobConfigInfo::hasEmulsionGeometry() { if (!Imp::initialised) Imp::ensureInit(); return Imp::hasEmulsionGeometry; } bool VP1JobConfigInfo::hasVetoGeometry() { if (!Imp::initialised) Imp::ensureInit(); return Imp::hasVetoGeometry; } +bool VP1JobConfigInfo::hasVetoNuGeometry() { if (!Imp::initialised) Imp::ensureInit(); return Imp::hasVetoNuGeometry; } bool VP1JobConfigInfo::hasTriggerGeometry() { if (!Imp::initialised) Imp::ensureInit(); return Imp::hasTriggerGeometry; } bool VP1JobConfigInfo::hasPreshowerGeometry() { if (!Imp::initialised) Imp::ensureInit(); return Imp::hasPreshowerGeometry; } @@ -159,6 +164,7 @@ bool VP1JobConfigInfo::Imp::actualInit( StoreGateSvc* detStore ) VP1Msg::message( QString { name.c_str() } ); if ( !hasEmulsionGeometry && name=="Emulsion") hasEmulsionGeometry = true; if ( !hasVetoGeometry && name=="Veto") hasVetoGeometry = true; + if ( !hasVetoNuGeometry && name=="VetoNu") hasVetoNuGeometry = true; if ( !hasTriggerGeometry && name=="Trigger") hasTriggerGeometry = true; if ( !hasPreshowerGeometry && name=="Preshower") hasPreshowerGeometry = true; if ( !hasSCTGeometry && name=="SCT") hasSCTGeometry = true; -- GitLab