diff --git a/DDCore/include/DD4hep/AlignmentsCalculator.h b/DDCore/include/DD4hep/AlignmentsCalculator.h index dcf363c20ae643e236f4541d6bb39a39099cc6f8..f461657bb933d2a04158b4fde675775dc2c9aa2a 100644 --- a/DDCore/include/DD4hep/AlignmentsCalculator.h +++ b/DDCore/include/DD4hep/AlignmentsCalculator.h @@ -107,17 +107,20 @@ namespace dd4hep { Scanner() = delete; /// Initializing constructor Scanner(cond::ConditionUpdateContext& m, OrderedDeltas& d) : context(m), deltas(d) {} + /// Initializing constructor with IOV specification Scanner(cond::ConditionUpdateContext& m, OrderedDeltas& d, IOV* i) : context(m), deltas(d), iov(i) {} /// Default move constructor is disabled Scanner(cond::ConditionUpdateContext& m, OrderedDeltas&& p) = delete; /// R-value copy from a temporary - Scanner(Scanner&& copy) = default; + Scanner(Scanner&& copy) = delete; /// Copy constructor - Scanner(const Scanner& copy) = default; + Scanner(const Scanner& copy) = delete; /// Default destructor ~Scanner() = default; /// Assignment operator - Scanner& operator=(const Scanner& copy) = default; + Scanner& operator=(Scanner&& copy) = delete; + /// Assignment operator + Scanner& operator=(const Scanner& copy) = delete; /// Callback to output alignments information int operator()(DetElement de, int) const; }; diff --git a/DDCore/include/DD4hep/detail/OpticalSurfaceManagerInterna.h b/DDCore/include/DD4hep/detail/OpticalSurfaceManagerInterna.h index aba07e75ca00834e462af3b541ce5f37dd3e0ca3..6f7598669c6b174e097af36cb16077a6b60274df 100644 --- a/DDCore/include/DD4hep/detail/OpticalSurfaceManagerInterna.h +++ b/DDCore/include/DD4hep/detail/OpticalSurfaceManagerInterna.h @@ -64,7 +64,7 @@ namespace dd4hep { /// Default destructor virtual ~OpticalSurfaceManagerObject(); /// No move assignment - OpticalSurfaceManagerObject& operator=(OpticalSurfaceManagerObject&& copy) = default; + OpticalSurfaceManagerObject& operator=(OpticalSurfaceManagerObject&& copy) = delete; /// No copy assignment OpticalSurfaceManagerObject& operator=(const OpticalSurfaceManagerObject& copy) = delete; }; diff --git a/DDDigi/include/DDDigi/DigiAction.h b/DDDigi/include/DDDigi/DigiAction.h index a752ead24704dedf133884aa0946a9922323e1ef..a279733e9bc781626153ab43ede5a23af9be08ac 100644 --- a/DDDigi/include/DDDigi/DigiAction.h +++ b/DDDigi/include/DDDigi/DigiAction.h @@ -91,6 +91,7 @@ namespace dd4hep { /// Property: Support parallel execution bool m_parallel = false; + protected: /// Functor to access elements by name diff --git a/DDDigi/include/DDDigi/DigiActionSequence.h b/DDDigi/include/DDDigi/DigiActionSequence.h index 50f43710e9cf237f89195ba461a954f6aa368f01..8364058333dae6a96cbcf9673a3f0f76702e861a 100644 --- a/DDDigi/include/DDDigi/DigiActionSequence.h +++ b/DDDigi/include/DDDigi/DigiActionSequence.h @@ -48,10 +48,14 @@ namespace dd4hep { CallbackSequence m_end; protected: - /// Inhibit copy constructor - DigiActionSequence() = default; + /// Inhibit public use of default constructor + DigiActionSequence() = delete; + /// Inhibit move constructor + DigiActionSequence(DigiActionSequence&& copy) = delete; /// Inhibit copy constructor DigiActionSequence(const DigiActionSequence& copy) = delete; + /// Inhibit move operator + DigiActionSequence& operator=(DigiActionSequence&& copy) = delete; /// Inhibit assignment operator DigiActionSequence& operator=(const DigiActionSequence& copy) = delete; diff --git a/DDDigi/include/DDDigi/DigiInputAction.h b/DDDigi/include/DDDigi/DigiInputAction.h index e43a174224c4412612f83a67baa1f7c22f3b854a..b37a9cb605803641806bfc7b923ce0bb4aa11686 100644 --- a/DDDigi/include/DDDigi/DigiInputAction.h +++ b/DDDigi/include/DDDigi/DigiInputAction.h @@ -39,7 +39,7 @@ namespace dd4hep { protected: /// Inhibit copy constructor - DigiInputAction() = default; + DigiInputAction() = delete; /// Inhibit copy constructor DigiInputAction(const DigiInputAction& copy) = delete; /// Inhibit assignment operator diff --git a/DDDigi/include/DDDigi/DigiLockedAction.h b/DDDigi/include/DDDigi/DigiLockedAction.h index 59e331503f1e2efd0c2ee1facc5b57a3f99ed119..4d4c97e5dc1771b81bd49a0c2d45ed90a252b0fb 100644 --- a/DDDigi/include/DDDigi/DigiLockedAction.h +++ b/DDDigi/include/DDDigi/DigiLockedAction.h @@ -44,7 +44,7 @@ namespace dd4hep { DigiAction* m_action = 0; protected: /// Inhibit copy constructor - DigiLockedAction() = default; + DigiLockedAction() = delete; /// Inhibit copy constructor DigiLockedAction(const DigiLockedAction& copy) = delete; /// Inhibit assignment operator diff --git a/DDDigi/include/DDDigi/DigiSynchronize.h b/DDDigi/include/DDDigi/DigiSynchronize.h index cf4216d670053971fd771ff98aee478c9bfe88e7..c7f4bee0bc36a7cbaf39c2c4b41e51ab67484269 100644 --- a/DDDigi/include/DDDigi/DigiSynchronize.h +++ b/DDDigi/include/DDDigi/DigiSynchronize.h @@ -36,6 +36,17 @@ namespace dd4hep { /// The list of action objects to be called Actors<DigiAction> m_actors; + /// Inhibit public use of default constructor + DigiSynchronize() = default; + /// Inhibit move constructor + DigiSynchronize(DigiSynchronize&& copy) = delete; + /// Inhibit copy constructor + DigiSynchronize(const DigiSynchronize& copy) = delete; + /// Inhibit move operator + DigiSynchronize& operator=(DigiSynchronize&& copy) = delete; + /// Inhibit assignment operator + DigiSynchronize& operator=(const DigiSynchronize& copy) = delete; + public: /// Standard constructor DigiSynchronize(const DigiKernel& kernel, const std::string& nam); diff --git a/DDDigi/plugins/DigiRandomNoise.cpp b/DDDigi/plugins/DigiRandomNoise.cpp index f6cc0f8f450a6db5d514ba7837bb5552eac3c324..5df242a4c8c6a6e50df82038c63eb6a2b7002f2e 100644 --- a/DDDigi/plugins/DigiRandomNoise.cpp +++ b/DDDigi/plugins/DigiRandomNoise.cpp @@ -42,7 +42,7 @@ namespace dd4hep { protected: /// Inhibit copy constructor - DigiRandomNoise() = default; + DigiRandomNoise() = delete; /// Inhibit copy constructor DigiRandomNoise(const DigiRandomNoise& copy) = delete; /// Inhibit assignment operator diff --git a/DDDigi/src/DigiKernel.cpp b/DDDigi/src/DigiKernel.cpp index 956145fbb44556a25ee4fecc75a0974ffda46717..c6924a1403e455dd9801c2f6fbe05941179f61b1 100644 --- a/DDDigi/src/DigiKernel.cpp +++ b/DDDigi/src/DigiKernel.cpp @@ -91,10 +91,10 @@ public: DigiAction* action = 0; Wrapper(DigiContext& c, DigiAction* a) : context(c), action(a) {} - Wrapper(Wrapper&& copy) = default; + Wrapper(Wrapper&& copy) = delete; Wrapper(const Wrapper& copy) = default; - Wrapper& operator=(Wrapper&& copy) = default; - Wrapper& operator=(const Wrapper& copy) = default; + Wrapper& operator=(Wrapper&& copy) = delete; + Wrapper& operator=(const Wrapper& copy) = delete; void operator()() const { action->execute(context); } @@ -111,7 +111,7 @@ class DigiKernel::Processor { DigiKernel& kernel; public: Processor(DigiKernel& k) : kernel(k) {} - Processor(Processor&& l) = default; + Processor(Processor&& l) = delete; Processor(const Processor& l) = default; void operator()() const { int todo = 1; diff --git a/DDG4/include/DDG4/Geant4Action.h b/DDG4/include/DDG4/Geant4Action.h index fa83db1e8db9bb60941f3f1740d530c6d80d7f3c..cfd0955758ea624e61e80aaff0175200d1eccda9 100644 --- a/DDG4/include/DDG4/Geant4Action.h +++ b/DDG4/include/DDG4/Geant4Action.h @@ -35,6 +35,26 @@ class G4UIdirectory; #include <string> #include <cstdarg> +#if defined(G__ROOT) || defined(__CLING__) || defined(__ROOTCLING__) +#define DDG4_DEFINE_ACTION_DEFAULT_CTOR(action) public: action() = default; +#else +#define DDG4_DEFINE_ACTION_DEFAULT_CTOR(action) protected: action() = delete; +#endif + +/// 1) Allow default constructor (necessary for ROOT) +/// 2) Inhibit move constructor +/// 3) Inhibit copy constructor +/// 4) Inhibit move operator +/// 5) Inhibit assignment operator +#define DDG4_DEFINE_ACTION_CONSTRUCTORS(action) \ + DDG4_DEFINE_ACTION_DEFAULT_CTOR(action) \ + protected: \ + action(action&& copy) = delete; \ + action(const action& copy) = delete; \ + action& operator=(action&& copy) = delete; \ + action& operator=(const action& copy) = delete + + /// Namespace for the AIDA detector description toolkit namespace dd4hep { @@ -240,12 +260,9 @@ namespace dd4hep { }; protected: - /// Inhibit default constructor - Geant4Action() = default; - /// Inhibit copy constructor - Geant4Action(const Geant4Action& copy) = delete; - /// Inhibit assignment operator - Geant4Action& operator=(const Geant4Action& copy) = delete; + + /// Define standard assignments and constructors + DDG4_DEFINE_ACTION_CONSTRUCTORS(Geant4Action); /// Default destructor virtual ~Geant4Action(); diff --git a/DDG4/include/DDG4/Geant4EventAction.h b/DDG4/include/DDG4/Geant4EventAction.h index 7027fc2859bf9fd12249997b5079b75f5f809ff3..983cf5669ceac111a527053d3dd3aacef02c428a 100644 --- a/DDG4/include/DDG4/Geant4EventAction.h +++ b/DDG4/include/DDG4/Geant4EventAction.h @@ -53,15 +53,10 @@ namespace dd4hep { class Geant4EventAction : public Geant4Action { public: typedef Geant4SharedEventAction shared_type; + protected: - /// Inhibit copy constructor - Geant4EventAction() = default; - /// Inhibit move constructor - Geant4EventAction(Geant4EventAction&& copy) = delete; - /// Inhibit copy constructor - Geant4EventAction(const Geant4EventAction& copy) = delete; - /// Inhibit assignment operator - Geant4EventAction& operator=(const Geant4EventAction& copy) = delete; + /// Define standard assignments and constructors + DDG4_DEFINE_ACTION_CONSTRUCTORS(Geant4EventAction); public: /// Standard constructor @@ -93,12 +88,8 @@ namespace dd4hep { Geant4EventAction* m_action = 0; protected: - /// Inhibit copy constructor - Geant4SharedEventAction() = default; - /// Inhibit copy constructor - Geant4SharedEventAction(const Geant4SharedEventAction& copy) = delete; - /// Inhibit assignment operator - Geant4SharedEventAction& operator=(const Geant4SharedEventAction& copy) = delete; + /// Define standard assignments and constructors + DDG4_DEFINE_ACTION_CONSTRUCTORS(Geant4SharedEventAction); public: /// Standard constructor @@ -140,14 +131,10 @@ namespace dd4hep { CallbackSequence m_final; /// The list of action objects to be called Actors<Geant4EventAction> m_actors; - + protected: - /// Inhibit copy constructor - Geant4EventActionSequence() = default; - /// Inhibit copy constructor - Geant4EventActionSequence(const Geant4EventActionSequence& copy) = delete; - /// Inhibit assignment operator - Geant4EventActionSequence& operator=(const Geant4EventActionSequence& copy) = delete; + /// Define standard assignments and constructors + DDG4_DEFINE_ACTION_CONSTRUCTORS(Geant4EventActionSequence); public: /// Standard constructor diff --git a/DDG4/include/DDG4/Geant4GeneratorAction.h b/DDG4/include/DDG4/Geant4GeneratorAction.h index f588a94de338720f88d3a66f52576cb1b1855ede..1f38a4a1494ac5023075e0e767b279f9bc496315 100644 --- a/DDG4/include/DDG4/Geant4GeneratorAction.h +++ b/DDG4/include/DDG4/Geant4GeneratorAction.h @@ -49,9 +49,10 @@ namespace dd4hep { typedef Geant4SharedGeneratorAction shared_type; protected: Callback m_calls; + + /// Define standard assignments and constructors + DDG4_DEFINE_ACTION_CONSTRUCTORS(Geant4GeneratorAction); public: - /// Default constructor - Geant4GeneratorAction() = default; /// Standard constructor Geant4GeneratorAction(Geant4Context* context, const std::string& name); /// Default destructor @@ -78,9 +79,10 @@ namespace dd4hep { protected: /// Reference to the shared action Geant4GeneratorAction* m_action = 0; + + /// Define standard assignments and constructors + DDG4_DEFINE_ACTION_CONSTRUCTORS(Geant4SharedGeneratorAction); public: - /// Default constructor - Geant4SharedGeneratorAction() = default; /// Standard constructor Geant4SharedGeneratorAction(Geant4Context* context, const std::string& nam); /// Default destructor @@ -116,9 +118,10 @@ namespace dd4hep { CallbackSequence m_calls; /// The list of action objects to be called Actors<Geant4GeneratorAction> m_actors; + + /// Define standard assignments and constructors + DDG4_DEFINE_ACTION_CONSTRUCTORS(Geant4GeneratorActionSequence); public: - /// Default constructor - Geant4GeneratorActionSequence() = default; /// Standard constructor Geant4GeneratorActionSequence(Geant4Context* context, const std::string& name); /// Default destructor diff --git a/DDG4/include/DDG4/Geant4RunAction.h b/DDG4/include/DDG4/Geant4RunAction.h index 92b2efb995e3c5f22c2a459dc1c6052f6beb4ccf..ad986e74ab8211d749b4f2a2edae21772155d2b4 100644 --- a/DDG4/include/DDG4/Geant4RunAction.h +++ b/DDG4/include/DDG4/Geant4RunAction.h @@ -47,12 +47,8 @@ namespace dd4hep { typedef Geant4SharedRunAction shared_type; protected: - /// Inhibit default constructor - Geant4RunAction() = default; - /// Inhibit copy constructor - Geant4RunAction(const Geant4RunAction& copy) = delete; - /// Inhibit assignment operator - Geant4RunAction& operator=(const Geant4RunAction& copy) = delete; + /// Define standard assignments and constructors + DDG4_DEFINE_ACTION_CONSTRUCTORS(Geant4RunAction); public: /// Standard constructor @@ -84,12 +80,8 @@ namespace dd4hep { Geant4RunAction* m_action = 0; protected: - /// Inhibit default constructor - Geant4SharedRunAction() = default; - /// Inhibit copy constructor - Geant4SharedRunAction(const Geant4SharedRunAction& copy) = delete; - /// Inhibit assignment operator - Geant4SharedRunAction& operator=(const Geant4SharedRunAction& copy) = delete; + /// Define standard assignments and constructors + DDG4_DEFINE_ACTION_CONSTRUCTORS(Geant4SharedRunAction); public: /// Inhibit default constructor @@ -133,12 +125,8 @@ namespace dd4hep { Actors<Geant4RunAction> m_actors; protected: - /// Inhibit default constructor - Geant4RunActionSequence() = default; - /// Inhibit copy constructor - Geant4RunActionSequence(const Geant4RunActionSequence& copy) = delete; - /// Inhibit assignment operator - Geant4RunActionSequence& operator=(const Geant4RunActionSequence& copy) = delete; + /// Define standard assignments and constructors + DDG4_DEFINE_ACTION_CONSTRUCTORS(Geant4RunActionSequence); public: /// Standard constructor diff --git a/DDG4/include/DDG4/Geant4SensDetAction.h b/DDG4/include/DDG4/Geant4SensDetAction.h index bd810de553a9b486592f968ed05bcf9f94c63ab6..16bde16dc14907841941c19303ca8bb9e9ccc2d1 100644 --- a/DDG4/include/DDG4/Geant4SensDetAction.h +++ b/DDG4/include/DDG4/Geant4SensDetAction.h @@ -56,6 +56,8 @@ namespace dd4hep { */ class Geant4ActionSD: virtual public Geant4Action { protected: + /// Define standard assignments and constructors + DDG4_DEFINE_ACTION_CONSTRUCTORS(Geant4ActionSD); /// Standard action constructor Geant4ActionSD(const std::string& name); /// Default destructor @@ -87,12 +89,8 @@ namespace dd4hep { */ class Geant4Filter: public Geant4Action { protected: - /// Inhibit copy constructor - Geant4Filter() = default; - /// Inhibit copy constructor - Geant4Filter(const Geant4Filter& copy) = delete; - /// Inhibit assignment operator - Geant4Filter& operator=(const Geant4Filter& copy) = delete; + /// Define standard assignments and constructors + DDG4_DEFINE_ACTION_CONSTRUCTORS(Geant4Filter); public: /// Standard constructor @@ -139,16 +137,13 @@ namespace dd4hep { /// The list of sensitive detector filter objects Actors<Geant4Filter> m_filters; - /// Protect the default constructor - Geant4Sensitive() = default; - /// Inhibit copy constructor - Geant4Sensitive(const Geant4Sensitive& copy) = delete; - /// Inhibit assignment operator - Geant4Sensitive& operator=(const Geant4Sensitive& copy) = delete; + /// Define standard assignments and constructors + DDG4_DEFINE_ACTION_CONSTRUCTORS(Geant4Sensitive); public: /// Constructor. The sensitive detector element is identified by the detector name Geant4Sensitive(Geant4Context* context, const std::string& name, DetElement det, Detector& description); + /// Standard destructor virtual ~Geant4Sensitive(); @@ -314,22 +309,16 @@ namespace dd4hep { } protected: - /// Protect the default constructor - Geant4SensDetActionSequence() = default; + /// Define standard assignments and constructors + DDG4_DEFINE_ACTION_CONSTRUCTORS(Geant4SensDetActionSequence); public: - /// Inhibit copy constructor - Geant4SensDetActionSequence(const Geant4SensDetActionSequence& copy) = delete; - /// Standard constructor Geant4SensDetActionSequence(Geant4Context* context, const std::string& name); /// Default destructor virtual ~Geant4SensDetActionSequence(); - /// Inhibit assignment operator - Geant4SensDetActionSequence& operator=(const Geant4SensDetActionSequence& copy) = delete; - /// Access to the sensitive type of the detector virtual const std::string& sensitiveType() const { return m_sensitiveType; @@ -488,8 +477,8 @@ namespace dd4hep { UserData m_userData; protected: - /// Protect the default constructor - Geant4SensitiveAction() = default; + /// Define standard assignments and constructors + DDG4_DEFINE_ACTION_CONSTRUCTORS(Geant4SensitiveAction); public: /// Standard , initializing constructor diff --git a/DDG4/include/DDG4/Geant4StackingAction.h b/DDG4/include/DDG4/Geant4StackingAction.h index 822f98a0d4f4896d7a3b55d73b4d2517b3c07f08..ea6a98d984803c898b4e8ca4eaceaea359cb8f58 100644 --- a/DDG4/include/DDG4/Geant4StackingAction.h +++ b/DDG4/include/DDG4/Geant4StackingAction.h @@ -36,6 +36,9 @@ namespace dd4hep { class Geant4StackingAction: public Geant4Action { public: typedef Geant4SharedStackingAction shared_type; + public: + /// Define standard assignments and constructors + DDG4_DEFINE_ACTION_CONSTRUCTORS(Geant4StackingAction); public: /// Standard constructor Geant4StackingAction(Geant4Context* ctxt, const std::string& name); @@ -66,6 +69,8 @@ namespace dd4hep { protected: /// Reference to the shared action Geant4StackingAction* m_action; + /// Define standard assignments and constructors + DDG4_DEFINE_ACTION_CONSTRUCTORS(Geant4SharedStackingAction); public: /// Standard constructor Geant4SharedStackingAction(Geant4Context* context, const std::string& nam); @@ -104,6 +109,9 @@ namespace dd4hep { CallbackSequence m_prepare; /// The list of action objects to be called Actors<Geant4StackingAction> m_actors; + + /// Define standard assignments and constructors + DDG4_DEFINE_ACTION_CONSTRUCTORS(Geant4StackingActionSequence); public: /// Standard constructor Geant4StackingActionSequence(Geant4Context* ctxt, const std::string& name); diff --git a/DDG4/include/DDG4/Geant4SteppingAction.h b/DDG4/include/DDG4/Geant4SteppingAction.h index 7e95ae3c10b1b47bb437bfb1a603259788c7d431..cf16dddfc60b744684b260bfbb24b25474567a09 100644 --- a/DDG4/include/DDG4/Geant4SteppingAction.h +++ b/DDG4/include/DDG4/Geant4SteppingAction.h @@ -40,11 +40,10 @@ namespace dd4hep { class Geant4SteppingAction: public Geant4Action { public: typedef Geant4SharedSteppingAction shared_type; + /// Define standard assignments and constructors + DDG4_DEFINE_ACTION_CONSTRUCTORS(Geant4SteppingAction); + public: - /// Default constructor - Geant4SteppingAction() = default; - /// Inhibit copy constructor - Geant4SteppingAction(const Geant4SteppingAction& copy) = default; /// Standard constructor Geant4SteppingAction(Geant4Context* context, const std::string& name); /// Default destructor @@ -70,11 +69,11 @@ namespace dd4hep { protected: /// Reference to the shared action Geant4SteppingAction* m_action = 0; + + /// Define standard assignments and constructors + DDG4_DEFINE_ACTION_CONSTRUCTORS(Geant4SharedSteppingAction); + public: - /// Default constructor - Geant4SharedSteppingAction() = default; - /// Inhibit copy constructor - Geant4SharedSteppingAction(const Geant4SteppingAction& copy) = delete; /// Standard constructor Geant4SharedSteppingAction(Geant4Context* context, const std::string& nam); /// Default destructor @@ -109,9 +108,10 @@ namespace dd4hep { /// The list of action objects to be called Actors<Geant4SteppingAction> m_actors; + /// Define standard assignments and constructors + DDG4_DEFINE_ACTION_CONSTRUCTORS(Geant4SteppingActionSequence); + public: - /// Inhibit copy constructor - Geant4SteppingActionSequence(const Geant4SteppingAction& copy) = delete; /// Standard constructor Geant4SteppingActionSequence(Geant4Context* context, const std::string& name); /// Default destructor diff --git a/DDG4/include/DDG4/Geant4TrackingAction.h b/DDG4/include/DDG4/Geant4TrackingAction.h index 721e85780736aa1c208713d3d91ccac4512ea89b..ddcad1066233571556d471907ee4a24a2befaeef 100644 --- a/DDG4/include/DDG4/Geant4TrackingAction.h +++ b/DDG4/include/DDG4/Geant4TrackingAction.h @@ -41,11 +41,10 @@ namespace dd4hep { class Geant4TrackingAction: public Geant4Action { public: typedef Geant4SharedTrackingAction shared_type; + + /// Define standard assignments and constructors + DDG4_DEFINE_ACTION_CONSTRUCTORS(Geant4TrackingAction); public: - /// Default constructor - Geant4TrackingAction() = default; - /// Inhibit copy constructor - Geant4TrackingAction(const Geant4TrackingAction& copy) = delete; /// Standard constructor Geant4TrackingAction(Geant4Context* context, const std::string& name = ""); /// Default destructor @@ -80,11 +79,9 @@ namespace dd4hep { /// Reference to the shared action Geant4TrackingAction* m_action = 0; + /// Define standard assignments and constructors + DDG4_DEFINE_ACTION_CONSTRUCTORS(Geant4SharedTrackingAction); public: - /// Default constructor - Geant4SharedTrackingAction() = default; - /// Inhibit copy constructor - Geant4SharedTrackingAction(const Geant4TrackingAction& copy) = delete; /// Standard constructor Geant4SharedTrackingAction(Geant4Context* context, const std::string& nam); /// Default destructor @@ -126,11 +123,12 @@ namespace dd4hep { CallbackSequence m_final; /// The list of action objects to be called Actors<Geant4TrackingAction> m_actors; + + + /// Define standard assignments and constructors + DDG4_DEFINE_ACTION_CONSTRUCTORS(Geant4TrackingActionSequence); + public: - /// Default constructor - Geant4TrackingActionSequence() = default; - /// Inhibit copy constructor - Geant4TrackingActionSequence(const Geant4TrackingActionSequence& copy) = delete; /// Standard constructor Geant4TrackingActionSequence(Geant4Context* context, const std::string& name); /// Default destructor