From 54f5a5e7e57d996f5757dba72e9e1383398712c9 Mon Sep 17 00:00:00 2001 From: Dave Casper <dcasper@uci.edu> Date: Sun, 8 Oct 2023 17:56:48 -0700 Subject: [PATCH] ID dictionary versioning for backward compatibility --- .../NeutrinoIdDictFiles/data/IdDictNeutrino.xml | 2 +- .../data/IdDictNeutrino_730.xml | 2 +- .../NeutrinoIdentifier/src/EmulsionID.cxx | 2 ++ .../NeutrinoSimEvent/src/NeutrinoHitIdHelper.cxx | 15 +++++++++++---- 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/Neutrino/NeutrinoDetDescr/NeutrinoIdDictFiles/data/IdDictNeutrino.xml b/Neutrino/NeutrinoDetDescr/NeutrinoIdDictFiles/data/IdDictNeutrino.xml index 45ef3be3e..79b72cd8b 100644 --- a/Neutrino/NeutrinoDetDescr/NeutrinoIdDictFiles/data/IdDictNeutrino.xml +++ b/Neutrino/NeutrinoDetDescr/NeutrinoIdDictFiles/data/IdDictNeutrino.xml @@ -1,4 +1,4 @@ -<IdDictionary name="Neutrino"> +<IdDictionary name="Neutrino" version="FASERNU-03-770"> <field name="part"> <label name="Emulsion" value="1" /> diff --git a/Neutrino/NeutrinoDetDescr/NeutrinoIdDictFiles/data/IdDictNeutrino_730.xml b/Neutrino/NeutrinoDetDescr/NeutrinoIdDictFiles/data/IdDictNeutrino_730.xml index 3aeca47b4..e84740160 100644 --- a/Neutrino/NeutrinoDetDescr/NeutrinoIdDictFiles/data/IdDictNeutrino_730.xml +++ b/Neutrino/NeutrinoDetDescr/NeutrinoIdDictFiles/data/IdDictNeutrino_730.xml @@ -1,4 +1,4 @@ -<IdDictionary name="Neutrino"> +<IdDictionary name="Neutrino" version="FASERNU-04-730"> <field name="part"> <label name="Emulsion" value="1" /> diff --git a/Neutrino/NeutrinoDetDescr/NeutrinoIdentifier/src/EmulsionID.cxx b/Neutrino/NeutrinoDetDescr/NeutrinoIdentifier/src/EmulsionID.cxx index 396397142..5f55b759c 100644 --- a/Neutrino/NeutrinoDetDescr/NeutrinoIdentifier/src/EmulsionID.cxx +++ b/Neutrino/NeutrinoDetDescr/NeutrinoIdentifier/src/EmulsionID.cxx @@ -246,6 +246,8 @@ EmulsionID::initialize_from_dictionary(const IdDictMgr& dict_mgr) << std::endl; } + FaserDetectorID::setDictVersion(dict_mgr, "Neutrino"); + return 0; } diff --git a/Neutrino/NeutrinoSimEvent/src/NeutrinoHitIdHelper.cxx b/Neutrino/NeutrinoSimEvent/src/NeutrinoHitIdHelper.cxx index 59999048b..c52c57ade 100644 --- a/Neutrino/NeutrinoSimEvent/src/NeutrinoHitIdHelper.cxx +++ b/Neutrino/NeutrinoSimEvent/src/NeutrinoHitIdHelper.cxx @@ -45,11 +45,18 @@ void NeutrinoHitIdHelper::Initialize() { const EmulsionID* pix; ServiceHandle<StoreGateSvc> detStore ("DetectorStore", "NeutrinoHitIdHelper"); if (detStore.retrieve().isSuccess()) { - if (detStore->retrieve(pix, "EmulsionID").isFailure()) { pix = 0; } + if (detStore->retrieve(pix, "EmulsionID").isFailure()) { pix = nullptr; } + } + if (pix == nullptr || pix->dictionaryVersion() == "FASERNU-03-770" || pix->dictionaryVersion() == "") + { + InitializeField("Module", 0, 34); + InitializeField("Base", 0, 21); + } + else // FASERNU-04-730 + { + InitializeField("Module", 0, 72); + InitializeField("Base", 0, 9); } - - InitializeField("Module", 0, 72); - InitializeField("Base", 0, 9); InitializeField("Film", 0, 1); } -- GitLab