Primary generator that benchmarks geometry navigation on a regular 3D grid. More...
#include <RMGGeomBench.hh>


Public Member Functions | |
| RMGGeomBench (RMGGeomBench const &)=delete | |
| RMGGeomBench & | operator= (RMGGeomBench const &)=delete |
| RMGGeomBench (RMGGeomBench &&)=delete | |
| RMGGeomBench & | operator= (RMGGeomBench &&)=delete |
| void | GeneratePrimaries (G4Event *event) override |
| Shoot a geantino from the pixel currently being benchmarked. | |
| void | SetParticlePosition (G4ThreeVector) override |
| No-op: vertex sampling is driven by the benchmark grid. | |
| void | RecordBatchTime (int pixel_idx, double batch_time) |
| Append a batch timing to the running median for the given pixel. | |
| void | SaveAllPixels () |
| Flush per-pixel median timings to the benchmark output scheme. | |
| void | BeginOfRunAction (const G4Run *r) override |
| Compute the sampling grid from the user-specified increments and widths. | |
| void | EndOfRunAction (const G4Run *r) override |
| Save aggregated timings to the output scheme. | |
Public Member Functions inherited from RMGVGenerator | |
| RMGVGenerator (std::string name) | |
| RMGVGenerator (RMGVGenerator const &)=delete | |
| RMGVGenerator & | operator= (RMGVGenerator const &)=delete |
| RMGVGenerator (RMGVGenerator &&)=delete | |
| RMGVGenerator & | operator= (RMGVGenerator &&)=delete |
| void | SetReportingFrequency (int freq) |
| std::string | GetGeneratorName () |
Additional Inherited Members | |
Protected Attributes inherited from RMGVGenerator | |
| std::string | fGeneratorName |
| std::unique_ptr< G4UImessenger > | fMessenger |
| int | fReportingFrequency = 1000 |
Primary generator that benchmarks geometry navigation on a regular 3D grid.
Shoots geantinos from pixels of three orthogonal sampling planes covering the world volume and measures how long the geometry navigator takes to step through each pixel. Per-pixel timings are aggregated and written by RMGGeomBenchOutputScheme.
|
overridevirtual |
Compute the sampling grid from the user-specified increments and widths.
Reimplemented from RMGVGenerator.
|
overridevirtual |
Save aggregated timings to the output scheme.
Reimplemented from RMGVGenerator.
|
overridevirtual |
Shoot a geantino from the pixel currently being benchmarked.
Implements RMGVGenerator.
|
inlineoverridevirtual |
No-op: vertex sampling is driven by the benchmark grid.
Implements RMGVGenerator.