Class RMGGeomBench¶
Defined in File RMGGeomBench.hh
Inheritance Relationships¶
Base Type¶
public RMGVGenerator(Class RMGVGenerator)
Class Documentation¶
-
class RMGGeomBench : public RMGVGenerator¶
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.
Public Functions
-
RMGGeomBench()¶
-
~RMGGeomBench()¶
-
RMGGeomBench(RMGGeomBench const&) = delete¶
-
RMGGeomBench &operator=(RMGGeomBench const&) = delete¶
-
RMGGeomBench(RMGGeomBench&&) = delete¶
-
RMGGeomBench &operator=(RMGGeomBench&&) = delete¶
-
virtual void GeneratePrimaries(G4Event *event) override¶
Shoot a geantino from the pixel currently being benchmarked.
-
inline virtual 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.
-
virtual void BeginOfRunAction(const G4Run *r) override¶
Compute the sampling grid from the user-specified increments and widths.
-
virtual void EndOfRunAction(const G4Run *r) override¶
Save aggregated timings to the output scheme.
-
RMGGeomBench()¶