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:
  • /home/docs/checkouts/readthedocs.org/user_builds/remage/checkouts/latest/include/RMGGeomBench.hh
  • /home/docs/checkouts/readthedocs.org/user_builds/remage/checkouts/latest/src/RMGGeomBench.cc