|
Celeritas 0.7+28f01d9
|
Load a GDML file and construct sensitive detectors. More...
#include <DetectorConstruction.hh>

Public Types | |
Type aliases | |
| using | UPSD = std::unique_ptr< G4VSensitiveDetector > |
| using | SDBuilder = std::function< UPSD(std::string const &)> |
| using | SPGeoParams = std::shared_ptr< GeantGeoParams > |
Public Member Functions | |
| DetectorConstruction (std::string const &filename, SDBuilder build_worker_sd) | |
| Set up Celeritas SD options during construction. | |
| G4VPhysicalVolume * | Construct () override |
| Load geometry and sensitive detector volumes. | |
| void | ConstructSDandField () override |
| Construct thread-local sensitive detectors and field. | |
| std::string const & | filename () const |
| Get the filename used by the GDML loader. | |
| SPGeoParams const & | geo () const |
| Access the constructed geometry etc. | |
Load a GDML file and construct sensitive detectors.
Construct on the main thread, load the GDML file (including detectors) and construct a Celeritas geometry wrapperConstructSDandField on each worker thread, call the SDBuilder for each distinct SD name, for all LVs that share the SD name| celeritas::DetectorConstruction::DetectorConstruction | ( | std::string const & | filename, |
| SDBuilder | build_worker_sd | ||
| ) |
Set up Celeritas SD options during construction.
This should be done only during the main/serial thread.
|
override |
Load geometry and sensitive detector volumes.
This should only be called once from the main thread, toward the very beginning of the program.