g4display
g4display.h
Go to the documentation of this file.
1 #ifndef G4DISPLAY_H
2 #define G4DISPLAY_H 1
3 
4 // Standard Library
5 #include <memory> // Required for std::unique_ptr
6 
7 // gemc
8 #include "glogger.h" // Provides logging capabilities
9 #include "goptions.h" // Provides application options/configuration
10 
11 // qt
12 #include <QtWidgets/QWidget> // Required for QWidget parent parameter
13 
14 
24 class G4Display : public QWidget {
25 
26 public:
32  explicit G4Display(GOptions *gopt, QWidget *parent = nullptr);
33 
37  ~G4Display() override; // Use override for virtual destructors
38 
39  // Disable copy constructor and assignment operator to prevent slicing
40  // and issues with unique_ptr ownership.
41  G4Display(const G4Display&) = delete;
42  G4Display& operator=(const G4Display&) = delete;
43 
44 private:
45  std::shared_ptr<GLogger> log;
46 
47 };
48 
49 #endif // G4DISPLAY_H
The main widget for controlling Geant4 visualization.
Definition: g4display.h:24
~G4Display() override
Destructor. Manages the lifetime of owned resources (like the logger).
Definition: g4display.cc:37
G4Display(GOptions *gopt, QWidget *parent=nullptr)
Constructs the G4Display widget.
Definition: g4display.cc:10
G4Display(const G4Display &)=delete
G4Display & operator=(const G4Display &)=delete