From d7d2bae240e1f6668c6826e572749c354d6b50fc Mon Sep 17 00:00:00 2001
From: atlas <boudreau@pitt.edu>
Date: Tue, 14 Jun 2022 17:15:53 +0200
Subject: [PATCH] new interface class for magnetic field plugin

---
 FullSimLight/CMakeLists.txt           |  5 +++--
 FullSimLight/include/MagFieldPlugin.h | 24 ++++++++++++++++++++++++
 2 files changed, 27 insertions(+), 2 deletions(-)
 create mode 100644 FullSimLight/include/MagFieldPlugin.h

diff --git a/FullSimLight/CMakeLists.txt b/FullSimLight/CMakeLists.txt
index 817403132..b96f91fb4 100644
--- a/FullSimLight/CMakeLists.txt
+++ b/FullSimLight/CMakeLists.txt
@@ -293,7 +293,8 @@ install( TARGETS FullSimLight
 
    
 install(FILES include/FSLSensitiveDetectorPlugin.h 
-   DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/FullSimLight
-   COMPONENT Development )
+              include/MagFieldPlugin.h 
+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/FullSimLight
+  COMPONENT Development )
 
 
diff --git a/FullSimLight/include/MagFieldPlugin.h b/FullSimLight/include/MagFieldPlugin.h
new file mode 100644
index 000000000..7bd6cf15d
--- /dev/null
+++ b/FullSimLight/include/MagFieldPlugin.h
@@ -0,0 +1,24 @@
+#ifndef _MAGFIELDPLUGIN_H_
+#define _MAGFIELDPLUGIN_H_
+class G4MagneticField;
+class MagFieldPlugin {
+
+ public:
+
+  // Constructor
+  MagFieldPlugin()=default;
+  
+  // Destructor
+  virtual ~MagFieldPlugin()=default;
+  
+  virtual const G4MagneticField *getField() const=0;
+  
+ private:
+  
+  MagFieldPlugin (const MagFieldPlugin &)=delete;
+
+  MagFieldPlugin & operator=(const MagFieldPlugin &)=delete;
+};
+
+
+#endif
-- 
GitLab