g4display
g4display.h
Go to the documentation of this file.
1 #pragma once
2 
3 // Standard Library
4 #include <memory> // Required for std::unique_ptr
5 
6 // gemc
7 #include "glogger.h" // Provides logging capabilities
8 #include "goptions.h" // Provides application options/configuration
9 
10 // qt
11 #include <QtWidgets/QWidget> // Required for QWidget parent parameter
12 
13 
23 class G4Display : public QWidget {
24 
25 public:
31  explicit G4Display(GOptions *gopt, QWidget *parent = nullptr);
32 
36  ~G4Display() override; // Use override for virtual destructors
37 
38  // Disable copy constructor and assignment operator to prevent slicing
39  // and issues with unique_ptr ownership.
40  G4Display(const G4Display&) = delete;
41  G4Display& operator=(const G4Display&) = delete;
42 
43 private:
44  std::shared_ptr<GLogger> log;
45 
46 };
The main widget for controlling Geant4 visualization.
Definition: g4display.h:23
~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