28#include "G4FieldManager.hh"
29#include "G4LogicalVolume.hh"
30#include "G4VPhysicalVolume.hh"
69 [[nodiscard]] G4VSolid*
getSolid() const noexcept {
return solidVolume; }
75 [[nodiscard]] G4LogicalVolume*
getLogical() const noexcept {
return logicalVolume; }
81 [[nodiscard]] G4VPhysicalVolume*
getPhysical() const noexcept {
return physicalVolume; }
94 void setSolid(G4VSolid* s,
const std::shared_ptr<GLogger>& log);
105 void setLogical(G4LogicalVolume* l,
const std::shared_ptr<GLogger>& log);
116 void setPhysical(G4VPhysicalVolume* p,
const std::shared_ptr<GLogger>& log);
134 G4VSolid* solidVolume{
nullptr};
137 G4LogicalVolume* logicalVolume{
nullptr};
140 G4VPhysicalVolume* physicalVolume{
nullptr};
Convenience container holding a Geant4 solid, logical, and physical volume.
void setLogical(G4LogicalVolume *l, const std::shared_ptr< GLogger > &log)
Store a G4LogicalVolume pointer and log the assignment.
G4VSolid * getSolid() const noexcept
Return the stored G4VSolid pointer.
void setPhysical(G4VPhysicalVolume *p, const std::shared_ptr< GLogger > &log)
Store a G4VPhysicalVolume pointer and log the assignment.
G4VPhysicalVolume * getPhysical() const noexcept
Return the stored G4VPhysicalVolume pointer.
G4LogicalVolume * getLogical() const noexcept
Return the stored G4LogicalVolume pointer.
void setFieldManager(G4FieldManager *fm, bool forceToAllDaughters)
Attach a G4FieldManager to the stored logical volume, if present.
~G4Volume()=default
Destructor (no-op).
void setSolid(G4VSolid *s, const std::shared_ptr< GLogger > &log)
Store a G4VSolid pointer and log the assignment.
G4Volume()=default
Default construct an empty wrapper (all pointers set to nullptr).