diff --git a/Neutrino/NeutrinoDetDescr/NeutrinoIdDictFiles/data/IdDictNeutrino.xml b/Neutrino/NeutrinoDetDescr/NeutrinoIdDictFiles/data/IdDictNeutrino.xml index 45ef3be3ececee0b112b79ff949054b70c6fb2fd..79b72cd8bfac2d3357ee038dc97b9b174404ebbb 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 3aeca47b4aa0b8a04291f8a8a8deda462654900b..e84740160373a8176cf1f046ad48865cb0450421 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 39639714210ce7124b68ceade844fd233e0b3dec..5f55b759c5b7185dbc3cf52f7b3776bf4a65662d 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 59999048b4c8008cbd3b4f38e7bb9982d3ef0b31..c52c57ade9525961f4f8ad570cd0186114efe755 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); }