From 8c99b07c2eac0be03ce3080afef1a3a45a7552e4 Mon Sep 17 00:00:00 2001 From: Markus Frank <Markus.Frank@cern.ch> Date: Tue, 11 Oct 2022 21:13:58 +0200 Subject: [PATCH] Fix python style errors --- DDCore/python/dd4hep_base.py | 4 +- DDDigi/include/DDDigi/DigiAction.h | 8 ++-- DDDigi/include/DDDigi/DigiActionSequence.h | 2 +- DDDigi/include/DDDigi/DigiAttenuator.h | 4 +- DDDigi/include/DDDigi/DigiContext.h | 6 +-- DDDigi/include/DDDigi/DigiData.h | 12 +++--- DDDigi/include/DDDigi/DigiExponentialNoise.h | 2 +- DDDigi/include/DDDigi/DigiFactories.h | 6 +-- DDDigi/include/DDDigi/DigiGaussianNoise.h | 2 +- DDDigi/include/DDDigi/DigiGrammars.h | 6 +-- DDDigi/include/DDDigi/DigiHandle.h | 4 +- DDDigi/include/DDDigi/DigiHitAttenuatorExp.h | 2 +- DDDigi/include/DDDigi/DigiKernel.h | 2 +- DDDigi/include/DDDigi/DigiLandauNoise.h | 2 +- DDDigi/include/DDDigi/DigiLockedAction.h | 2 +- DDDigi/include/DDDigi/DigiSignalProcessor.h | 4 +- .../DDDigi/DigiSignalProcessorSequence.h | 2 +- DDDigi/include/DDDigi/DigiStore.h | 4 +- DDDigi/include/DDDigi/DigiStoreDump.h | 2 +- DDDigi/include/DDDigi/DigiSynchronize.h | 4 +- DDDigi/include/DDDigi/DigiUniformNoise.h | 2 +- DDDigi/python/dddigi.py | 34 ++++++++++----- DDDigi/python/digitize.py | 2 +- DDDigi/src/DigiActionSequence.cpp | 6 +-- DDDigi/src/DigiContainerCombine.cpp | 8 ++-- DDDigi/src/DigiData.cpp | 18 +++++--- DDDigi/src/DigiEventAction.cpp | 4 +- DDDigi/src/DigiExponentialNoise.cpp | 8 ++-- DDDigi/src/DigiGaussianNoise.cpp | 8 ++-- DDDigi/src/DigiHandle.cpp | 20 ++++----- DDDigi/src/DigiHitAttenuatorExp.cpp | 8 ++-- DDDigi/src/DigiInputAction.cpp | 4 +- DDDigi/src/DigiKernel.cpp | 20 ++++----- DDDigi/src/DigiLandauNoise.cpp | 8 ++-- DDDigi/src/DigiRandomNoise.cpp | 4 +- DDDigi/src/DigiSegmentationSplitter.cpp | 41 +++++++++++++++---- DDDigi/src/DigiSignalProcessor.cpp | 4 +- DDDigi/src/DigiSignalProcessorSequence.cpp | 6 +-- DDDigi/src/DigiStore.cpp | 8 ++-- DDDigi/src/DigiStoreDump.cpp | 10 ++--- DDDigi/src/DigiSubdetectorSequence.cpp | 16 ++++---- DDDigi/src/DigiSynchronize.cpp | 8 ++-- DDDigi/src/DigiUniformNoise.cpp | 6 +-- examples/DDDigi/scripts/DigiTest.py | 15 +++---- examples/DDDigi/scripts/TestInput.py | 18 +++----- .../DDDigi/scripts/TestMultiInteractions.py | 1 - .../DDDigi/scripts/TestSegmentationSplit.py | 4 +- 47 files changed, 205 insertions(+), 166 deletions(-) diff --git a/DDCore/python/dd4hep_base.py b/DDCore/python/dd4hep_base.py index fac7caf26..b0921a864 100644 --- a/DDCore/python/dd4hep_base.py +++ b/DDCore/python/dd4hep_base.py @@ -156,6 +156,7 @@ import_namespace_item('detail', 'eval') # def evaluator(): return eval.instance() # def g4Evaluator(): return eval.g4instance() + # --------------------------------------------------------------------------- def import_detail(): import_namespace_item('detail', 'DD4hepUI') @@ -302,11 +303,12 @@ import_tgeo() import_geometry() import_detail() + # --------------------------------------------------------------------------- class Logger: """ Helper class to use the dd4hep printout functions from python - + \author M.Frank \version 1.0 """ diff --git a/DDDigi/include/DDDigi/DigiAction.h b/DDDigi/include/DDDigi/DigiAction.h index 8559bc353..7c6daae64 100644 --- a/DDDigi/include/DDDigi/DigiAction.h +++ b/DDDigi/include/DDDigi/DigiAction.h @@ -14,10 +14,10 @@ #define DDDIGI_DIGIACTION_H // Framework include files -#include "DD4hep/Printout.h" -#include "DD4hep/Callback.h" -#include "DD4hep/ComponentProperties.h" -#include "DDDigi/DigiContext.h" +#include <DD4hep/Printout.h> +#include <DD4hep/Callback.h> +#include <DD4hep/ComponentProperties.h> +#include <DDDigi/DigiContext.h> // C/C++ include files #include <string> diff --git a/DDDigi/include/DDDigi/DigiActionSequence.h b/DDDigi/include/DDDigi/DigiActionSequence.h index de1d9e08e..cefd19fac 100644 --- a/DDDigi/include/DDDigi/DigiActionSequence.h +++ b/DDDigi/include/DDDigi/DigiActionSequence.h @@ -14,7 +14,7 @@ #define DDDIGI_DIGIACTIONSEQUENCE_H // Framework include files -#include "DDDigi/DigiSynchronize.h" +#include <DDDigi/DigiSynchronize.h> /// Namespace for the AIDA detector description toolkit namespace dd4hep { diff --git a/DDDigi/include/DDDigi/DigiAttenuator.h b/DDDigi/include/DDDigi/DigiAttenuator.h index 640052697..8ab583498 100644 --- a/DDDigi/include/DDDigi/DigiAttenuator.h +++ b/DDDigi/include/DDDigi/DigiAttenuator.h @@ -14,8 +14,8 @@ #define DDDIGI_DIGIATTENUATOR_H /// Framework include files -#include "DDDigi/DigiAction.h" -#include "DDDigi/DigiSignalProcessor.h" +#include <DDDigi/DigiAction.h> +#include <DDDigi/DigiSignalProcessor.h> /// C/C++ include files #include <functional> diff --git a/DDDigi/include/DDDigi/DigiContext.h b/DDDigi/include/DDDigi/DigiContext.h index 2a9150bfd..398d3a75d 100644 --- a/DDDigi/include/DDDigi/DigiContext.h +++ b/DDDigi/include/DDDigi/DigiContext.h @@ -14,9 +14,9 @@ #define DDDIGI_DIGICONTEXT_H // Framework incloude files -#include "DD4hep/Primitives.h" -#include "DDDigi/DigiRandomGenerator.h" -#include "DDDigi/DigiData.h" +#include <DD4hep/Primitives.h> +#include <DDDigi/DigiData.h> +#include <DDDigi/DigiRandomGenerator.h> /// C/C++ include files #include <memory> diff --git a/DDDigi/include/DDDigi/DigiData.h b/DDDigi/include/DDDigi/DigiData.h index f12ae3a03..999520110 100644 --- a/DDDigi/include/DDDigi/DigiData.h +++ b/DDDigi/include/DDDigi/DigiData.h @@ -14,11 +14,11 @@ #define DDDIGI_DIGIDATA_H /// Framework include files -#include "DD4hep/config.h" -#include "DD4hep/Objects.h" -#include "DD4hep/Printout.h" -#include "DD4hep/Primitives.h" -#include "DD4hep/ObjectExtensions.h" +#include <DD4hep/config.h> +#include <DD4hep/Objects.h> +#include <DD4hep/Printout.h> +#include <DD4hep/Primitives.h> +#include <DD4hep/ObjectExtensions.h> /// C/C++ include files #include <functional> @@ -240,7 +240,7 @@ namespace dd4hep { /// <any> is not properly processed by cling. /// We need to exclude any reference to it. #if !defined(DD4HEP_INTERPRETER_MODE) -#include "DD4hep/Any.h" +#include <DD4hep/Any.h> #endif /// Namespace for the AIDA detector description toolkit diff --git a/DDDigi/include/DDDigi/DigiExponentialNoise.h b/DDDigi/include/DDDigi/DigiExponentialNoise.h index f06744dc1..1a489961c 100644 --- a/DDDigi/include/DDDigi/DigiExponentialNoise.h +++ b/DDDigi/include/DDDigi/DigiExponentialNoise.h @@ -14,7 +14,7 @@ #define DDDIGI_DIGIEXPONENTIALNOISE_H /// Framework include files -#include "DDDigi/DigiSignalProcessor.h" +#include <DDDigi/DigiSignalProcessor.h> /// Namespace for the AIDA detector description toolkit namespace dd4hep { diff --git a/DDDigi/include/DDDigi/DigiFactories.h b/DDDigi/include/DDDigi/DigiFactories.h index 726d97948..8a28d2c17 100644 --- a/DDDigi/include/DDDigi/DigiFactories.h +++ b/DDDigi/include/DDDigi/DigiFactories.h @@ -14,9 +14,9 @@ #define DDDIGI_DIGIFACTORIES_H // Framework include files -#include "DD4hep/Plugins.h" -#include "DD4hep/Detector.h" -#include "DD4hep/Primitives.h" +#include <DD4hep/Plugins.h> +#include <DD4hep/Detector.h> +#include <DD4hep/Primitives.h> // C/C++ include files #include <string> diff --git a/DDDigi/include/DDDigi/DigiGaussianNoise.h b/DDDigi/include/DDDigi/DigiGaussianNoise.h index 356c2aadc..177d2397a 100644 --- a/DDDigi/include/DDDigi/DigiGaussianNoise.h +++ b/DDDigi/include/DDDigi/DigiGaussianNoise.h @@ -14,7 +14,7 @@ #define DDDIGI_DIGIGAUSSIANNOISE_H /// Framework include files -#include "DDDigi/DigiSignalProcessor.h" +#include <DDDigi/DigiSignalProcessor.h> /// Namespace for the AIDA detector description toolkit namespace dd4hep { diff --git a/DDDigi/include/DDDigi/DigiGrammars.h b/DDDigi/include/DDDigi/DigiGrammars.h index 89e46dbef..7d2ae834d 100644 --- a/DDDigi/include/DDDigi/DigiGrammars.h +++ b/DDDigi/include/DDDigi/DigiGrammars.h @@ -10,8 +10,8 @@ // Author : M.Frank // //========================================================================== -#ifndef DDDIGI_GRAMMARS_H -#define DDDIGI_GRAMMARS_H +#ifndef DDDIGI_DIGIGRAMMARS_H +#define DDDIGI_DIGIGRAMMARS_H /// Namespace for the AIDA detector description toolkit namespace dd4hep { @@ -22,4 +22,4 @@ namespace dd4hep { } // End namespace digi } // End namespace dd4hep -#endif // DDDIGI_GRAMMARS_H +#endif // DDDIGI_DIGIGRAMMARS_H diff --git a/DDDigi/include/DDDigi/DigiHandle.h b/DDDigi/include/DDDigi/DigiHandle.h index dbafaaeb3..80ebf49f2 100644 --- a/DDDigi/include/DDDigi/DigiHandle.h +++ b/DDDigi/include/DDDigi/DigiHandle.h @@ -14,8 +14,8 @@ #define DDDIGI_DIGIHANDLE_H // Framework include files -#include "DD4hep/ComponentProperties.h" -#include "DD4hep/Detector.h" +#include <DD4hep/ComponentProperties.h> +#include <DD4hep/Detector.h> // C/C++ include files #include <string> diff --git a/DDDigi/include/DDDigi/DigiHitAttenuatorExp.h b/DDDigi/include/DDDigi/DigiHitAttenuatorExp.h index d4281fe75..598962b0e 100644 --- a/DDDigi/include/DDDigi/DigiHitAttenuatorExp.h +++ b/DDDigi/include/DDDigi/DigiHitAttenuatorExp.h @@ -14,7 +14,7 @@ #define DDDIGI_DIGIHITATTENUATOREXP_H // Framework include files -#include "DDDigi/DigiEventAction.h" +#include <DDDigi/DigiEventAction.h> /// Namespace for the AIDA detector description toolkit diff --git a/DDDigi/include/DDDigi/DigiKernel.h b/DDDigi/include/DDDigi/DigiKernel.h index edd680220..29fb36891 100644 --- a/DDDigi/include/DDDigi/DigiKernel.h +++ b/DDDigi/include/DDDigi/DigiKernel.h @@ -14,7 +14,7 @@ #define DDDIGI_DIGIKERNEL_H // Framework include files -#include "DDDigi/DigiEventAction.h" +#include <DDDigi/DigiEventAction.h> // C/C++ include files #include <mutex> diff --git a/DDDigi/include/DDDigi/DigiLandauNoise.h b/DDDigi/include/DDDigi/DigiLandauNoise.h index a40b7663a..42eaf0dc8 100644 --- a/DDDigi/include/DDDigi/DigiLandauNoise.h +++ b/DDDigi/include/DDDigi/DigiLandauNoise.h @@ -14,7 +14,7 @@ #define DDDIGI_DIGILANDAUNOISE_H /// Framework include files -#include "DDDigi/DigiSignalProcessor.h" +#include <DDDigi/DigiSignalProcessor.h> /// Namespace for the AIDA detector description toolkit namespace dd4hep { diff --git a/DDDigi/include/DDDigi/DigiLockedAction.h b/DDDigi/include/DDDigi/DigiLockedAction.h index e837e4ec4..034575359 100644 --- a/DDDigi/include/DDDigi/DigiLockedAction.h +++ b/DDDigi/include/DDDigi/DigiLockedAction.h @@ -14,7 +14,7 @@ #define DDDIGI_DIGILOCKEDACTION_H /// Framework include files -#include "DDDigi/DigiEventAction.h" +#include <DDDigi/DigiEventAction.h> /// C/C++ include files #include <mutex> diff --git a/DDDigi/include/DDDigi/DigiSignalProcessor.h b/DDDigi/include/DDDigi/DigiSignalProcessor.h index 6ae70c8ce..52251dc47 100644 --- a/DDDigi/include/DDDigi/DigiSignalProcessor.h +++ b/DDDigi/include/DDDigi/DigiSignalProcessor.h @@ -14,8 +14,8 @@ #define DDDIGI_DIGISIGNALPROCESSOR_H /// Framework include files -#include "DDDigi/DigiAction.h" -#include "DDDigi/DigiData.h" +#include <DDDigi/DigiAction.h> +#include <DDDigi/DigiData.h> /// Namespace for the AIDA detector description toolkit namespace dd4hep { diff --git a/DDDigi/include/DDDigi/DigiSignalProcessorSequence.h b/DDDigi/include/DDDigi/DigiSignalProcessorSequence.h index ee1c58aac..947ac6c0b 100644 --- a/DDDigi/include/DDDigi/DigiSignalProcessorSequence.h +++ b/DDDigi/include/DDDigi/DigiSignalProcessorSequence.h @@ -14,7 +14,7 @@ #define DDDIGI_DIGISIGNALPROCESSORSEQUENCE_H // Framework include files -#include "DDDigi/DigiSignalProcessor.h" +#include <DDDigi/DigiSignalProcessor.h> /// Namespace for the AIDA detector description toolkit namespace dd4hep { diff --git a/DDDigi/include/DDDigi/DigiStore.h b/DDDigi/include/DDDigi/DigiStore.h index 4c77f34f6..d34b8028e 100644 --- a/DDDigi/include/DDDigi/DigiStore.h +++ b/DDDigi/include/DDDigi/DigiStore.h @@ -14,8 +14,8 @@ #define DDDIGI_DIGISTORE_H // Framework incloude files -#include "DDDigi/DigiAction.h" -#include "DDDigi/DigiData.h" +#include <DDDigi/DigiAction.h> +#include <DDDigi/DigiData.h> #include <mutex> diff --git a/DDDigi/include/DDDigi/DigiStoreDump.h b/DDDigi/include/DDDigi/DigiStoreDump.h index 2cbf1e89a..ea814049a 100644 --- a/DDDigi/include/DDDigi/DigiStoreDump.h +++ b/DDDigi/include/DDDigi/DigiStoreDump.h @@ -14,7 +14,7 @@ #define DDDIGI_DIGISTOREDUMP_H /// Framework include files -#include "DDDigi/DigiEventAction.h" +#include <DDDigi/DigiEventAction.h> /// C/C++ include files #include <mutex> diff --git a/DDDigi/include/DDDigi/DigiSynchronize.h b/DDDigi/include/DDDigi/DigiSynchronize.h index db33a3742..9b69a0a05 100644 --- a/DDDigi/include/DDDigi/DigiSynchronize.h +++ b/DDDigi/include/DDDigi/DigiSynchronize.h @@ -13,8 +13,8 @@ #ifndef DDDIGI_DIGISYNCHRONIZE_H #define DDDIGI_DIGISYNCHRONIZE_H -// Framework incloude files -#include "DDDigi/DigiEventAction.h" +/// Framework incloude files +#include <DDDigi/DigiEventAction.h> /// Namespace for the AIDA detector description toolkit namespace dd4hep { diff --git a/DDDigi/include/DDDigi/DigiUniformNoise.h b/DDDigi/include/DDDigi/DigiUniformNoise.h index 03e7adc98..2b8dcceb1 100644 --- a/DDDigi/include/DDDigi/DigiUniformNoise.h +++ b/DDDigi/include/DDDigi/DigiUniformNoise.h @@ -14,7 +14,7 @@ #define DDDIGI_DIGIUNIFORMNOISE_H /// Framework include files -#include "DDDigi/DigiSignalProcessor.h" +#include <DDDigi/DigiSignalProcessor.h> /// Namespace for the AIDA detector description toolkit namespace dd4hep { diff --git a/DDDigi/python/dddigi.py b/DDDigi/python/dddigi.py index a6f3cc97d..8a08cb538 100644 --- a/DDDigi/python/dddigi.py +++ b/DDDigi/python/dddigi.py @@ -10,9 +10,9 @@ # ========================================================================== from __future__ import absolute_import, unicode_literals from dd4hep_base import * # noqa: F403 -import dd4hep_base.dd4hep_logger as dd4hep_logger +import dd4hep_base -logger = dd4hep_logger('dddigi') +logger = dd4hep_base.dd4hep_logger('dddigi') def loadDDDigi(): @@ -47,6 +47,7 @@ def loadDDDigi(): # We are nearly there .... current = __import__(__name__) + def _import_class(ns, nam): scope = getattr(current, ns) setattr(current, nam, getattr(scope, nam)) @@ -67,7 +68,9 @@ core = dd4hep digi = dd4hep.digi Kernel = digi.KernelHandle Interface = digi.DigiActionCreation -Detector = core.Detector +Detector = core.Detector + + # --------------------------------------------------------------------------- def _constant(self, name): return self.constantAsString(name) @@ -76,6 +79,7 @@ def _constant(self, name): Detector.globalVal = _constant # --------------------------------------------------------------------------- + """ Import the Detector constants into the dddigi namespace """ @@ -156,6 +160,8 @@ Kernel.__setattr__ = _setKernelProperty Kernel.terminate = _kernel_terminate # --------------------------------------------------------------------------- ActionHandle = digi.ActionHandle + + # --------------------------------------------------------------------------- def Action(kernel, nam, parallel=False): obj = Interface.createAction(kernel, str(nam)) @@ -219,14 +225,16 @@ def _get(self, name): def _set(self, name, value): """This function is called when properties are passed to the c++ objects.""" + import dd4hep as dd4hep a = Interface.toAction(self) - name = unicode_2_string(name) - value = unicode_2_string(value) + name = dd4hep.unicode_2_string(name) + value = dd4hep.unicode_2_string(value) if Interface.setProperty(a, name, value): return msg = 'DDDigiAction::SetProperty [Unhandled]: Cannot set ' + a.name() + '.' + name + ' = ' + value raise KeyError(msg) + def _props(obj, **extensions): _import_class('digi', obj) cls = getattr(current, obj) @@ -263,9 +271,15 @@ def adopt_sequence_action(self, name, **options): _props('DigiSynchronize') -_props('DigiActionSequence', adopt_action = adopt_sequence_action) -_props('DigiParallelActionSequence', adopt_action = adopt_sequence_action) -_props('DigiSequentialActionSequence', adopt_action = adopt_sequence_action) +_props('DigiActionSequence', adopt_action=adopt_sequence_action) +_props('DigiParallelActionSequence', adopt_action=adopt_sequence_action) +_props('DigiSequentialActionSequence', adopt_action=adopt_sequence_action) + -import digitize -Digitize = digitize.Digitize +# Need to import digitize late, since it cross includes dddigi +Digitize = None +try: + import digitize + Digitize = digitize.Digitize +except Exception as X: + pass diff --git a/DDDigi/python/digitize.py b/DDDigi/python/digitize.py index 5c63b7eee..fea211963 100644 --- a/DDDigi/python/digitize.py +++ b/DDDigi/python/digitize.py @@ -138,7 +138,7 @@ class Digitize(dd4hep.Logger): def activeDetectors(self): detectors = [] for i in self.description.detectors(): - o = DetElement(i.second.ptr()) # noqa: F405 + o = dd4hep.DetElement(i.second.ptr()) # noqa: F405 sd = self.description.sensitiveDetector(o.name()) if sd.isValid(): d = {'name': o.name(), 'type': sd.type(), 'detector': o, 'sensitive': sd} diff --git a/DDDigi/src/DigiActionSequence.cpp b/DDDigi/src/DigiActionSequence.cpp index b705e4953..4815074fb 100644 --- a/DDDigi/src/DigiActionSequence.cpp +++ b/DDDigi/src/DigiActionSequence.cpp @@ -11,9 +11,9 @@ // //========================================================================== -// Framework include files -#include "DD4hep/InstanceCount.h" -#include "DDDigi/DigiActionSequence.h" +/// Framework include files +#include <DD4hep/InstanceCount.h> +#include <DDDigi/DigiActionSequence.h> // C/C++ include files #include <stdexcept> diff --git a/DDDigi/src/DigiContainerCombine.cpp b/DDDigi/src/DigiContainerCombine.cpp index d5d4065d5..28d08d3b3 100644 --- a/DDDigi/src/DigiContainerCombine.cpp +++ b/DDDigi/src/DigiContainerCombine.cpp @@ -12,11 +12,11 @@ //========================================================================== // Framework include files -#include "DD4hep/InstanceCount.h" +#include <DD4hep/InstanceCount.h> -#include "DDDigi/DigiData.h" -#include "DDDigi/DigiContext.h" -#include "DDDigi/DigiContainerCombine.h" +#include <DDDigi/DigiData.h> +#include <DDDigi/DigiContext.h> +#include <DDDigi/DigiContainerCombine.h> using dd4hep::digi::DigiContainerCombine; diff --git a/DDDigi/src/DigiData.cpp b/DDDigi/src/DigiData.cpp index b3586757e..2f76d9c13 100644 --- a/DDDigi/src/DigiData.cpp +++ b/DDDigi/src/DigiData.cpp @@ -12,11 +12,11 @@ //========================================================================== // Framework include files -#include "DD4hep/Printout.h" -#include "DD4hep/Primitives.h" -#include "DD4hep/InstanceCount.h" +#include <DD4hep/Printout.h> +#include <DD4hep/Primitives.h> +#include <DD4hep/InstanceCount.h> #define G__ROOT -#include "DDDigi/DigiData.h" +#include <DDDigi/DigiData.h> // C/C++ include files #include <mutex> @@ -152,9 +152,17 @@ dd4hep::digi::DigiEvent::get_segment(const std::string& name) { case 'I': return this->inputs; case 'D': - return this->deposits; + switch(::toupper(name[1])) { + case 'E': + return this->deposits; + default: + return this->data; + } + break; case 'O': return this->data; + default: + return this->data; } throw std::runtime_error("Invalid segment name: "+name); } diff --git a/DDDigi/src/DigiEventAction.cpp b/DDDigi/src/DigiEventAction.cpp index 2c1eb5c62..3bd580848 100644 --- a/DDDigi/src/DigiEventAction.cpp +++ b/DDDigi/src/DigiEventAction.cpp @@ -12,8 +12,8 @@ //========================================================================== // Framework include files -#include "DD4hep/InstanceCount.h" -#include "DDDigi/DigiEventAction.h" +#include <DD4hep/InstanceCount.h> +#include <DDDigi/DigiEventAction.h> /// Standard constructor dd4hep::digi::DigiEventAction::DigiEventAction(const DigiKernel& krnl, const std::string& nam) diff --git a/DDDigi/src/DigiExponentialNoise.cpp b/DDDigi/src/DigiExponentialNoise.cpp index 2a3d279ed..ff456171f 100644 --- a/DDDigi/src/DigiExponentialNoise.cpp +++ b/DDDigi/src/DigiExponentialNoise.cpp @@ -12,10 +12,10 @@ //========================================================================== // Framework include files -#include "DD4hep/InstanceCount.h" -#include "DDDigi/DigiSegmentation.h" -#include "DDDigi/DigiRandomGenerator.h" -#include "DDDigi/DigiExponentialNoise.h" +#include <DD4hep/InstanceCount.h> +#include <DDDigi/DigiSegmentation.h> +#include <DDDigi/DigiRandomGenerator.h> +#include <DDDigi/DigiExponentialNoise.h> using namespace dd4hep::digi; diff --git a/DDDigi/src/DigiGaussianNoise.cpp b/DDDigi/src/DigiGaussianNoise.cpp index e86180f95..dc10c3aa9 100644 --- a/DDDigi/src/DigiGaussianNoise.cpp +++ b/DDDigi/src/DigiGaussianNoise.cpp @@ -12,10 +12,10 @@ //========================================================================== // Framework include files -#include "DD4hep/InstanceCount.h" -#include "DDDigi/DigiSegmentation.h" -#include "DDDigi/DigiRandomGenerator.h" -#include "DDDigi/DigiGaussianNoise.h" +#include <DD4hep/InstanceCount.h> +#include <DDDigi/DigiSegmentation.h> +#include <DDDigi/DigiRandomGenerator.h> +#include <DDDigi/DigiGaussianNoise.h> using namespace dd4hep::digi; diff --git a/DDDigi/src/DigiHandle.cpp b/DDDigi/src/DigiHandle.cpp index 2b6156331..1099d011d 100644 --- a/DDDigi/src/DigiHandle.cpp +++ b/DDDigi/src/DigiHandle.cpp @@ -12,15 +12,15 @@ //========================================================================== // Framework include files -#include "DD4hep/Detector.h" -#include "DD4hep/Plugins.h" -#include "DD4hep/Printout.h" +#include <DD4hep/Detector.h> +#include <DD4hep/Plugins.h> +#include <DD4hep/Printout.h> -#include "DDDigi/DigiHandle.h" -#include "DDDigi/DigiKernel.h" -#include "DDDigi/DigiInputAction.h" -#include "DDDigi/DigiEventAction.h" -#include "DDDigi/DigiSignalProcessor.h" +#include <DDDigi/DigiHandle.h> +#include <DDDigi/DigiKernel.h> +#include <DDDigi/DigiInputAction.h> +#include <DDDigi/DigiEventAction.h> +#include <DDDigi/DigiSignalProcessor.h> // C/C++ include files #include <stdexcept> @@ -187,8 +187,8 @@ namespace dd4hep { } } -#include "DDDigi/DigiSynchronize.h" -#include "DDDigi/DigiActionSequence.h" +#include <DDDigi/DigiSynchronize.h> +#include <DDDigi/DigiActionSequence.h> /// Namespace for the AIDA detector description toolkit namespace dd4hep { diff --git a/DDDigi/src/DigiHitAttenuatorExp.cpp b/DDDigi/src/DigiHitAttenuatorExp.cpp index 8b88fa2e2..1adda1b20 100644 --- a/DDDigi/src/DigiHitAttenuatorExp.cpp +++ b/DDDigi/src/DigiHitAttenuatorExp.cpp @@ -12,11 +12,11 @@ //========================================================================== // Framework include files -#include "DD4hep/InstanceCount.h" +#include <DD4hep/InstanceCount.h> -#include "DDDigi/DigiData.h" -#include "DDDigi/DigiContext.h" -#include "DDDigi/DigiHitAttenuatorExp.h" +#include <DDDigi/DigiData.h> +#include <DDDigi/DigiContext.h> +#include <DDDigi/DigiHitAttenuatorExp.h> class dd4hep::digi::DigiHitAttenuatorExp::internals_t { public: diff --git a/DDDigi/src/DigiInputAction.cpp b/DDDigi/src/DigiInputAction.cpp index 2352bed75..8b141e319 100644 --- a/DDDigi/src/DigiInputAction.cpp +++ b/DDDigi/src/DigiInputAction.cpp @@ -12,8 +12,8 @@ //========================================================================== // Framework include files -#include "DD4hep/InstanceCount.h" -#include "DDDigi/DigiInputAction.h" +#include <DD4hep/InstanceCount.h> +#include <DDDigi/DigiInputAction.h> // C/C++ include files #include <stdexcept> diff --git a/DDDigi/src/DigiKernel.cpp b/DDDigi/src/DigiKernel.cpp index 995f05459..e20a47183 100644 --- a/DDDigi/src/DigiKernel.cpp +++ b/DDDigi/src/DigiKernel.cpp @@ -12,19 +12,19 @@ //========================================================================== // Framework include files -#include "DD4hep/Detector.h" -#include "DD4hep/Memory.h" -#include "DD4hep/Plugins.h" -#include "DD4hep/Printout.h" -#include "DD4hep/Primitives.h" -#include "DD4hep/InstanceCount.h" +#include <DD4hep/Detector.h> +#include <DD4hep/Memory.h> +#include <DD4hep/Plugins.h> +#include <DD4hep/Printout.h> +#include <DD4hep/Primitives.h> +#include <DD4hep/InstanceCount.h> -#include "DDDigi/DigiKernel.h" -#include "DDDigi/DigiContext.h" -#include "DDDigi/DigiActionSequence.h" +#include <DDDigi/DigiKernel.h> +#include <DDDigi/DigiContext.h> +#include <DDDigi/DigiActionSequence.h> #ifdef DD4HEP_USE_TBB -#include "tbb/tbb.h" +#include <tbb/tbb.h> #endif // C/C++ include files diff --git a/DDDigi/src/DigiLandauNoise.cpp b/DDDigi/src/DigiLandauNoise.cpp index 61d527c75..11188203b 100644 --- a/DDDigi/src/DigiLandauNoise.cpp +++ b/DDDigi/src/DigiLandauNoise.cpp @@ -12,10 +12,10 @@ //========================================================================== // Framework include files -#include "DD4hep/InstanceCount.h" -#include "DDDigi/DigiLandauNoise.h" -#include "DDDigi/DigiSegmentation.h" -#include "DDDigi/DigiRandomGenerator.h" +#include <DD4hep/InstanceCount.h> +#include <DDDigi/DigiLandauNoise.h> +#include <DDDigi/DigiSegmentation.h> +#include <DDDigi/DigiRandomGenerator.h> using namespace dd4hep::digi; diff --git a/DDDigi/src/DigiRandomNoise.cpp b/DDDigi/src/DigiRandomNoise.cpp index 2cf3b0f25..458c0d7a8 100644 --- a/DDDigi/src/DigiRandomNoise.cpp +++ b/DDDigi/src/DigiRandomNoise.cpp @@ -12,8 +12,8 @@ //========================================================================== // Framework include files -#include "DD4hep/InstanceCount.h" -#include "DDDigi/DigiRandomNoise.h" +#include <DD4hep/InstanceCount.h> +#include <DDDigi/DigiRandomNoise.h> using namespace dd4hep::digi; diff --git a/DDDigi/src/DigiSegmentationSplitter.cpp b/DDDigi/src/DigiSegmentationSplitter.cpp index b94a2556b..e43e6fc2b 100644 --- a/DDDigi/src/DigiSegmentationSplitter.cpp +++ b/DDDigi/src/DigiSegmentationSplitter.cpp @@ -12,11 +12,13 @@ //========================================================================== // Framework include files -#include "DD4hep/InstanceCount.h" +#include <DD4hep/Detector.h> +#include <DD4hep/InstanceCount.h> -#include "DDDigi/DigiData.h" -#include "DDDigi/DigiContext.h" -#include "DDDigi/DigiSegmentationSplitter.h" +#include <DDDigi/DigiData.h> +#include <DDDigi/DigiKernel.h> +#include <DDDigi/DigiContext.h> +#include <DDDigi/DigiSegmentationSplitter.h> using dd4hep::digi::DigiSegmentationSplitter; @@ -29,15 +31,40 @@ public: /// Property: Input masks in the repository std::vector<int> masks; + const DigiKernel& kernel; + Detector& description; + DetElement detector; + SensitiveDetector sensitive; + IDDescriptor iddescriptor; + DigiSegmentationSplitter* split { nullptr }; + /// Flag to check the initialization bool inited { false }; + internals_t(const DigiKernel& krnl, DigiSegmentationSplitter* s) + : kernel(krnl), description(kernel.detectorDescription()), split(s) + { + + } + /// Initializing function: compute values which depend on properties void initialize(DigiContext& context) { if ( !this->inited ) { std::lock_guard<std::mutex> lock(context.initializer_lock()); if ( !this->inited ) { this->inited = true; + detector = description.detector(detector_name); + if ( !detector.isValid() ) { + split->except("FAILED: Cannot access subdetector %s from the detector description.", detector_name.c_str()); + } + sensitive = description.sensitiveDetector(detector_name); + if ( !sensitive.isValid() ) { + split->except("FAILED: Cannot access sensitive detector for %s.", detector_name.c_str()); + } + iddescriptor = sensitive.idSpec(); + if ( !iddescriptor.isValid() ) { + split->except("FAILED: Cannot access ID descriptor for detector %s.", detector_name.c_str()); + } } } } @@ -47,7 +74,7 @@ public: dd4hep::digi::DigiSegmentationSplitter::DigiSegmentationSplitter(const DigiKernel& krnl, const std::string& nam) : DigiEventAction(krnl, nam) { - this->internals = std::make_unique<internals_t>(); + this->internals = std::make_unique<internals_t>(m_kernel, this); declareProperty("input", this->internals->input_id = "deposits"); declareProperty("detector", this->internals->detector_name); declareProperty("masks", this->internals->masks); @@ -60,8 +87,8 @@ dd4hep::digi::DigiSegmentationSplitter::~DigiSegmentationSplitter() { } /// Split actions according to the segmentation -void dd4hep::digi::DigiSegmentationSplitter::split_segments(DigiEvent& event, - DigiEvent::container_map_t& data) const +void dd4hep::digi::DigiSegmentationSplitter::split_segments(DigiEvent& /* event */, + DigiEvent::container_map_t& /* data */) const { } diff --git a/DDDigi/src/DigiSignalProcessor.cpp b/DDDigi/src/DigiSignalProcessor.cpp index d24be895c..abbec5be6 100644 --- a/DDDigi/src/DigiSignalProcessor.cpp +++ b/DDDigi/src/DigiSignalProcessor.cpp @@ -12,8 +12,8 @@ //========================================================================== // Framework include files -#include "DD4hep/InstanceCount.h" -#include "DDDigi/DigiSignalProcessor.h" +#include <DD4hep/InstanceCount.h> +#include <DDDigi/DigiSignalProcessor.h> /// Standard constructor dd4hep::digi::DigiSignalProcessor::DigiSignalProcessor(const DigiKernel& krnl, const std::string& nam) diff --git a/DDDigi/src/DigiSignalProcessorSequence.cpp b/DDDigi/src/DigiSignalProcessorSequence.cpp index 7b03e1be3..b7001f8ad 100644 --- a/DDDigi/src/DigiSignalProcessorSequence.cpp +++ b/DDDigi/src/DigiSignalProcessorSequence.cpp @@ -12,9 +12,9 @@ //========================================================================== // Framework include files -#include "DD4hep/InstanceCount.h" -#include "DDDigi/DigiSegmentation.h" -#include "DDDigi/DigiSignalProcessorSequence.h" +#include <DD4hep/InstanceCount.h> +#include <DDDigi/DigiSegmentation.h> +#include <DDDigi/DigiSignalProcessorSequence.h> // C/C++ include files #include <stdexcept> diff --git a/DDDigi/src/DigiStore.cpp b/DDDigi/src/DigiStore.cpp index b588973f3..829444cba 100644 --- a/DDDigi/src/DigiStore.cpp +++ b/DDDigi/src/DigiStore.cpp @@ -12,10 +12,10 @@ //========================================================================== // Framework include files -#include "DD4hep/InstanceCount.h" -#include "DDDigi/DigiKernel.h" -#include "DDDigi/DigiContext.h" -#include "DDDigi/DigiStore.h" +#include <DD4hep/InstanceCount.h> +#include <DDDigi/DigiKernel.h> +#include <DDDigi/DigiContext.h> +#include <DDDigi/DigiStore.h> // C/C++ include files #include <stdexcept> diff --git a/DDDigi/src/DigiStoreDump.cpp b/DDDigi/src/DigiStoreDump.cpp index e15199e9c..774907bec 100644 --- a/DDDigi/src/DigiStoreDump.cpp +++ b/DDDigi/src/DigiStoreDump.cpp @@ -12,12 +12,12 @@ //========================================================================== // Framework include files -#include "DD4hep/InstanceCount.h" +#include <DD4hep/InstanceCount.h> -#include "DDDigi/DigiData.h" -#include "DDDigi/DigiKernel.h" -#include "DDDigi/DigiContext.h" -#include "DDDigi/DigiStoreDump.h" +#include <DDDigi/DigiData.h> +#include <DDDigi/DigiKernel.h> +#include <DDDigi/DigiContext.h> +#include <DDDigi/DigiStoreDump.h> /// Standard constructor dd4hep::digi::DigiStoreDump::DigiStoreDump(const DigiKernel& krnl, const std::string& nam) diff --git a/DDDigi/src/DigiSubdetectorSequence.cpp b/DDDigi/src/DigiSubdetectorSequence.cpp index 5ca83e495..97cb96b73 100644 --- a/DDDigi/src/DigiSubdetectorSequence.cpp +++ b/DDDigi/src/DigiSubdetectorSequence.cpp @@ -12,14 +12,14 @@ //========================================================================== // Framework include files -#include "DDDigi/DigiSubdetectorSequence.h" -#include "DDDigi/DigiSegmentation.h" -#include "DDDigi/DigiKernel.h" -#include "DD4hep/InstanceCount.h" -#include "DD4hep/Detector.h" -#include "DD4hep/IDDescriptor.h" -#include "DD4hep/detail/VolumeManagerInterna.h" -#include "TClass.h" +#include <DDDigi/DigiSubdetectorSequence.h> +#include <DDDigi/DigiSegmentation.h> +#include <DDDigi/DigiKernel.h> +#include <DD4hep/InstanceCount.h> +#include <DD4hep/Detector.h> +#include <DD4hep/IDDescriptor.h> +#include <DD4hep/detail/VolumeManagerInterna.h> +#include <TClass.h> // C/C++ include files #include <stdexcept> diff --git a/DDDigi/src/DigiSynchronize.cpp b/DDDigi/src/DigiSynchronize.cpp index bc836d85f..8f5a54fd6 100644 --- a/DDDigi/src/DigiSynchronize.cpp +++ b/DDDigi/src/DigiSynchronize.cpp @@ -12,10 +12,10 @@ //========================================================================== // Framework include files -#include "DD4hep/InstanceCount.h" -#include "DDDigi/DigiKernel.h" -#include "DDDigi/DigiContext.h" -#include "DDDigi/DigiSynchronize.h" +#include <DD4hep/InstanceCount.h> +#include <DDDigi/DigiKernel.h> +#include <DDDigi/DigiContext.h> +#include <DDDigi/DigiSynchronize.h> // C/C++ include files #include <stdexcept> diff --git a/DDDigi/src/DigiUniformNoise.cpp b/DDDigi/src/DigiUniformNoise.cpp index 22bab865e..d4dd6d190 100644 --- a/DDDigi/src/DigiUniformNoise.cpp +++ b/DDDigi/src/DigiUniformNoise.cpp @@ -12,9 +12,9 @@ //========================================================================== // Framework include files -#include "DD4hep/InstanceCount.h" -#include "DDDigi/DigiRandomGenerator.h" -#include "DDDigi/DigiUniformNoise.h" +#include <DD4hep/InstanceCount.h> +#include <DDDigi/DigiRandomGenerator.h> +#include <DDDigi/DigiUniformNoise.h> using namespace dd4hep::digi; diff --git a/examples/DDDigi/scripts/DigiTest.py b/examples/DDDigi/scripts/DigiTest.py index e2ddf6d28..0d50e4411 100644 --- a/examples/DDDigi/scripts/DigiTest.py +++ b/examples/DDDigi/scripts/DigiTest.py @@ -19,7 +19,7 @@ logger = logging.getLogger(__name__) """ 00C7A3C1 SiVertexEndcapHits : map<long long, EnergyDeposit> 00D16F45 EcalBarrelHits : map<long long, EnergyDeposit> - 0D3C3803 MCParticles : + 0D3C3803 MCParticles : 2E9082A9 HcalPlugHits : map<long long, EnergyDeposit> 3A89E02E HcalEndcapHits : map<long long, EnergyDeposit> 569C1C49 HcalBarrelHits : map<long long, EnergyDeposit> @@ -66,8 +66,7 @@ class Test(dddigi.Digitize): 'CLICSiD_2022-10-05_13-21.root', 'CLICSiD_2022-10-05_13-52.root', 'CLICSiD_2022-10-05_14-16.root', - 'CLICSiD_2022-10-05_14-40.root' - ] + 'CLICSiD_2022-10-05_14-40.root'] self.used_inputs = [] def check_creation(self, objs): @@ -88,11 +87,9 @@ class Test(dddigi.Digitize): return next def run_checked(self, num_events=5, num_threads=5, parallel=3): - evt_todo = num_events - evt_done = digi.run(num_events=evt_todo, num_threads=num_threads, parallel=parallel) - if evt_done == evt_todo: + result = "FAILED" + evt_done = self.run(num_events=num_events, num_threads=num_threads, parallel=parallel) + if evt_done == num_events: result = "PASSED" - else: - result = "FAILED" - self.always('%s Test finished after processing %d events.'%(result, digi.events_done(),)) + self.always('%s Test finished after processing %d events.'%(result, evt_done,)) self.always('Test done. Exiting') diff --git a/examples/DDDigi/scripts/TestInput.py b/examples/DDDigi/scripts/TestInput.py index 175ced536..6615e5d47 100644 --- a/examples/DDDigi/scripts/TestInput.py +++ b/examples/DDDigi/scripts/TestInput.py @@ -13,19 +13,11 @@ from __future__ import absolute_import def run(): import DigiTest - digi = DigiTest.Test(geometry=None) - reader = digi.input_action('DigiROOTInput/SignalReader', mask=0x1, input=['CLICSiD_2022-10-05_13-21.root']) - dump = digi.event_action('DigiStoreDump/StoreDump') - - if reader is None: digi.error('FAILED create DigiROOTInput') - if dump is None: digi.error('FAILED create DigiStoreDump') - - evt_todo = 5 - evt_done = digi.run(num_events=evt_todo, num_threads=5, parallel=3) - if evt_done == evt_todo: result = "PASSED" - else: result = "FAILED" - digi.always('%s Test finished after processing %d events.'%(result, digi.events_done(),)) - digi.always('Test done. Exiting') + digi = DigiTest.Test(geometry=None) + read = digi.input_action('DigiROOTInput/SignalReader', mask=0x1, input=['CLICSiD_2022-10-05_13-21.root']) + dump = digi.event_action('DigiStoreDump/StoreDump') + digi.check_creation([read, dump]) + digi.run_checked(num_events=5, num_threads=5, parallel=3) if __name__ == '__main__': diff --git a/examples/DDDigi/scripts/TestMultiInteractions.py b/examples/DDDigi/scripts/TestMultiInteractions.py index 836a3a80d..0637e1c97 100644 --- a/examples/DDDigi/scripts/TestMultiInteractions.py +++ b/examples/DDDigi/scripts/TestMultiInteractions.py @@ -14,7 +14,6 @@ from __future__ import absolute_import def run(): import DigiTest digi = DigiTest.Test(geometry=None) - attenuation = digi.attenuation input = digi.input_action('DigiParallelActionSequence/READER') # ======================================================================================================== diff --git a/examples/DDDigi/scripts/TestSegmentationSplit.py b/examples/DDDigi/scripts/TestSegmentationSplit.py index 22e349b54..b3c52db6f 100644 --- a/examples/DDDigi/scripts/TestSegmentationSplit.py +++ b/examples/DDDigi/scripts/TestSegmentationSplit.py @@ -24,10 +24,10 @@ def run(): event = digi.event_action('DigiSequentialActionSequence/EventAction') combine = event.adopt_action('DigiContainerCombine/Combine', masks=[0x0, 0x1, 0x2, 0x3], deposit_mask=0xFEED) combine.erase_combined = True # Not thread-safe! only do in SequentialActionSequence - splitter = event.adopt_action('DigiSegmentationSplitter/Splitter', + splitter = event.adopt_action('DigiSegmentationSplitter/Splitter', input='deposits', masks=[0xFEED], - detector='SiTrackerBarrel'); + detector='SiTrackerBarrel') dump = event.adopt_action('DigiStoreDump/StoreDump') digi.check_creation([combine, dump, splitter]) digi.info('Created event.dump') -- GitLab