From 203a76933a6f54d154a24622d6d9b4605f93b2da Mon Sep 17 00:00:00 2001 From: Marilena Bandieramonte <marilena.bandieramonte@cern.ch> Date: Tue, 21 Jun 2022 16:54:51 +0200 Subject: [PATCH] Add UserActions plugins interfaces --- FullSimLight/CMakeLists.txt | 7 +++++- .../include/FSLUserEventActionPlugin.h | 24 +++++++++++++++++++ FullSimLight/include/FSLUserRunActionPlugin.h | 24 +++++++++++++++++++ .../include/FSLUserStackingActionPlugin.h | 24 +++++++++++++++++++ .../include/FSLUserSteppingActionPlugin.h | 24 +++++++++++++++++++ .../include/FSLUserTrackingActionPlugin.h | 24 +++++++++++++++++++ 6 files changed, 126 insertions(+), 1 deletion(-) create mode 100644 FullSimLight/include/FSLUserEventActionPlugin.h create mode 100644 FullSimLight/include/FSLUserRunActionPlugin.h create mode 100644 FullSimLight/include/FSLUserStackingActionPlugin.h create mode 100644 FullSimLight/include/FSLUserSteppingActionPlugin.h create mode 100644 FullSimLight/include/FSLUserTrackingActionPlugin.h diff --git a/FullSimLight/CMakeLists.txt b/FullSimLight/CMakeLists.txt index 5d3624d97..5689c483a 100644 --- a/FullSimLight/CMakeLists.txt +++ b/FullSimLight/CMakeLists.txt @@ -295,7 +295,12 @@ install( TARGETS FullSimLight install(FILES include/FSLSensitiveDetectorPlugin.h include/MagFieldPlugin.h include/FSLUserActionPlugin.h - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/FullSimLight + include/FSLUserRunActionPlugin.h + include/FSLUserEventActionPlugin.h + include/FSLUserSteppingActionPlugin.h + include/FSLUserTrackingActionPlugin.h + include/FSLUserStackingActionPlugin.h + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/FullSimLight COMPONENT Development ) diff --git a/FullSimLight/include/FSLUserEventActionPlugin.h b/FullSimLight/include/FSLUserEventActionPlugin.h new file mode 100644 index 000000000..6e115304e --- /dev/null +++ b/FullSimLight/include/FSLUserEventActionPlugin.h @@ -0,0 +1,24 @@ +#ifndef _FSLUSEREVENTACTIONPLUGIN_H_ +#define _FSLUSEREVENTACTIONPLUGIN_H_ +class G4UserEventAction; +class FSLUserEventActionPlugin { + + public: + + // Constructor + FSLUserEventActionPlugin()=default; + + // Destructor + virtual ~FSLUserEventActionPlugin()=default; + + virtual G4UserEventAction *getUserEventAction() const=0; + + private: + + FSLUserEventActionPlugin (const FSLUserEventActionPlugin &)=delete; + + FSLUserEventActionPlugin & operator=(const FSLUserEventActionPlugin &)=delete; +}; + + +#endif diff --git a/FullSimLight/include/FSLUserRunActionPlugin.h b/FullSimLight/include/FSLUserRunActionPlugin.h new file mode 100644 index 000000000..e7627e26f --- /dev/null +++ b/FullSimLight/include/FSLUserRunActionPlugin.h @@ -0,0 +1,24 @@ +#ifndef _FSLUSERRUNACTIONPLUGIN_H_ +#define _FSLUSERRUNACTIONPLUGIN_H_ +class G4UserRunAction; +class FSLUserRunActionPlugin { + + public: + + // Constructor + FSLUserRunActionPlugin()=default; + + // Destructor + virtual ~FSLUserRunActionPlugin()=default; + + virtual G4UserRunAction *getUserRunAction() const=0; + + private: + + FSLUserRunActionPlugin (const FSLUserRunActionPlugin &)=delete; + + FSLUserRunActionPlugin & operator=(const FSLUserRunActionPlugin &)=delete; +}; + + +#endif diff --git a/FullSimLight/include/FSLUserStackingActionPlugin.h b/FullSimLight/include/FSLUserStackingActionPlugin.h new file mode 100644 index 000000000..f0088121b --- /dev/null +++ b/FullSimLight/include/FSLUserStackingActionPlugin.h @@ -0,0 +1,24 @@ +#ifndef _FSLUSERSTACKINGACTIONPLUGIN_H_ +#define _FSLUSERSTACKINGACTIONPLUGIN_H_ +class G4UserStackingAction; +class FSLUserStackingActionPlugin { + + public: + + // Constructor + FSLUserStackingActionPlugin()=default; + + // Destructor + virtual ~FSLUserStackingActionPlugin()=default; + + virtual G4UserStackingAction *getUserStackingAction() const=0; + + private: + + FSLUserStackingActionPlugin (const FSLUserStackingActionPlugin &)=delete; + + FSLUserStackingActionPlugin & operator=(const FSLUserStackingActionPlugin &)=delete; +}; + + +#endif diff --git a/FullSimLight/include/FSLUserSteppingActionPlugin.h b/FullSimLight/include/FSLUserSteppingActionPlugin.h new file mode 100644 index 000000000..90292df8d --- /dev/null +++ b/FullSimLight/include/FSLUserSteppingActionPlugin.h @@ -0,0 +1,24 @@ +#ifndef _FSLUSERSTEPPINGACTIONPLUGIN_H_ +#define _FSLUSERSTEPPINGACTIONPLUGIN_H_ +class G4UserSteppingAction; +class FSLUserSteppingActionPlugin { + + public: + + // Constructor + FSLUserSteppingActionPlugin()=default; + + // Destructor + virtual ~FSLUserSteppingActionPlugin()=default; + + virtual G4UserSteppingAction *getUserSteppingAction() const=0; + + private: + + FSLUserSteppingActionPlugin (const FSLUserSteppingActionPlugin &)=delete; + + FSLUserSteppingActionPlugin & operator=(const FSLUserSteppingActionPlugin &)=delete; +}; + + +#endif diff --git a/FullSimLight/include/FSLUserTrackingActionPlugin.h b/FullSimLight/include/FSLUserTrackingActionPlugin.h new file mode 100644 index 000000000..51a8bd0ed --- /dev/null +++ b/FullSimLight/include/FSLUserTrackingActionPlugin.h @@ -0,0 +1,24 @@ +#ifndef _FSLUSERTRACKINGACTIONPLUGIN_H_ +#define _FSLUSERTRACKINGACTIONPLUGIN_H_ +class G4UserTrackingAction; +class FSLUserTrackingActionPlugin { + + public: + + // Constructor + FSLUserTrackingActionPlugin()=default; + + // Destructor + virtual ~FSLUserTrackingActionPlugin()=default; + + virtual G4UserTrackingAction *getUserTrackingAction() const=0; + + private: + + FSLUserTrackingActionPlugin (const FSLUserTrackingActionPlugin &)=delete; + + FSLUserTrackingActionPlugin & operator=(const FSLUserTrackingActionPlugin &)=delete; +}; + + +#endif -- GitLab