remage
Simulation framework for HPGe-based experiments
 
Loading...
Searching...
No Matches
RMGGeomBench Class Reference

Primary generator that benchmarks geometry navigation on a regular 3D grid. More...

#include <RMGGeomBench.hh>

Inheritance diagram for RMGGeomBench:
Collaboration diagram for RMGGeomBench:

Public Member Functions

 RMGGeomBench (RMGGeomBench const &)=delete
 
RMGGeomBenchoperator= (RMGGeomBench const &)=delete
 
 RMGGeomBench (RMGGeomBench &&)=delete
 
RMGGeomBenchoperator= (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
 
RMGVGeneratoroperator= (RMGVGenerator const &)=delete
 
 RMGVGenerator (RMGVGenerator &&)=delete
 
RMGVGeneratoroperator= (RMGVGenerator &&)=delete
 
void SetReportingFrequency (int freq)
 
std::string GetGeneratorName ()
 

Additional Inherited Members

- Protected Attributes inherited from RMGVGenerator
std::string fGeneratorName
 
std::unique_ptr< G4UImessengerfMessenger
 
int fReportingFrequency = 1000
 

Detailed Description

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.

Member Function Documentation

◆ BeginOfRunAction()

void RMGGeomBench::BeginOfRunAction ( const G4Run * r)
overridevirtual

Compute the sampling grid from the user-specified increments and widths.

Reimplemented from RMGVGenerator.

◆ EndOfRunAction()

void RMGGeomBench::EndOfRunAction ( const G4Run * r)
overridevirtual

Save aggregated timings to the output scheme.

Reimplemented from RMGVGenerator.

◆ GeneratePrimaries()

void RMGGeomBench::GeneratePrimaries ( G4Event * event)
overridevirtual

Shoot a geantino from the pixel currently being benchmarked.

Implements RMGVGenerator.

◆ SetParticlePosition()

void RMGGeomBench::SetParticlePosition ( G4ThreeVector )
inlineoverridevirtual

No-op: vertex sampling is driven by the benchmark grid.

Implements RMGVGenerator.


The documentation for this class was generated from the following files: