#include #include "MainWindow.h" #include "Math/ContainerBox.h" #include #include "HEP/Detectors/DetectorChamber.h" #include "Vtk/HEP/Detectors/vtkDetectorChamber.h" #include #include #include #include #include #include #include #include "Math/Units.h" #include using namespace uLib; using namespace uLib::literals; int main(int argc, char** argv) { QApplication app(argc, argv); std::cout << "Starting gcompose Qt application..." << std::endl; ContainerBox world_box(Vector3f(1, 1, 1)); world_box.Scale(Vector3f(20_mm, 20_mm, 20_mm)); DetectorChamber d1, d2; d1.SetSize(Vector3f(1, 1, 1)); d1.SetPosition(Vector3f(0, 0, 0)); d1.Scale(Vector3f(5, 10, 2)); d1.Translate(Vector3f(0, 0, 0)); d2.SetSize(Vector3f(1, 1, 1)); d2.SetPosition(Vector3f(0, 0, 0)); d2.Scale(Vector3f(5, 10, 2)); d2.Translate(Vector3f(0, 0, 10)); Geant::Scene scene; scene.ConstructWorldBox(&world_box, "G4_AIR"); scene.Initialize(); // 2. Initialize MainWindow (contains embedded VTK QViewport) MainWindow window; Vtk::QViewport* viewport = window.getViewport(); Vtk::vtkDetectorChamber vtk_d1(&d1); viewport->AddPuppet(vtk_d1); Vtk::vtkDetectorChamber vtk_d2(&d2); viewport->AddPuppet(vtk_d2); Vtk::vtkContainerBox vtk_box(&world_box); viewport->AddPuppet(vtk_box); viewport->ZoomAuto(); std::cout << "Geant4 and VTK scenes are ready." << std::endl; window.show(); return app.exec(); }