McStas Readout Master 0.8.0
Loading...
Searching...
No Matches
ReplayConfig Struct Reference
Collaboration diagram for ReplayConfig:

Public Attributes

std::optional< double > counting_time {std::nullopt}
 Counting time in seconds. When set, a stored readout with rate-weight w in a point with simulated-ray normalization N is sent n ~ Poisson(w / N * counting_time) times; when unset every stored readout is sent exactly once.
 
uint32_t seed {0}
 Seed for the sampling and shuffling generator; 0 selects a non-deterministic seed.
 
bool random_order {false}
 Shuffle events within each (point, collector group) before sending.
 
SenderConfigs senders {}
 Per-(detector, readout) EFU endpoints; groups without an entry use the default address/port.
 
std::string default_address {"127.0.0.1"}
 
int default_port {9000}
 
size_t chunk_size {65536}
 Number of stored readouts per HDF5 read.
 
std::optional< ReplaySubset > subset {std::nullopt}
 
double pulse_rate {14.0}
 Pulse (reference time) repetition rate in Hz; packet pulse times march forward on this grid, as at a continuously pulsed source (ESS: 14 Hz)
 
bool fold_tof {false}
 Stamp each event at pulse + (tof % period) instead of pulse + tof, so long-time-of-flight events wrap into the frame they would be detected in.
 
size_t pulses_per_point {0}
 Spread each point's events over this many pulses, each sampled event going to one of them at random, then send as many empty pulses after the last point. 0 sends a point's events as fast as they can go, under whichever pulses the wall clock passes. Set it to an EFU's histogram aggregation (ESS beam monitors: 14) for one histogram per point; a point then takes pulses_per_point / pulse_rate seconds to replay. The EFU starts a histogram only where it published the last, so the histograms are a replay's points only if the EFU was started fresh or has only been shown replays paced the same way: the empty pulses at the end leave it ready for the next.
 
const std::atomic< bool > * stop {nullptr}
 When non-null, replay polls this flag at point and chunk boundaries and returns early (cleanly) once it is set. Caller-owned; must outlive replay().
 

Detailed Description

Definition at line 77 of file replay.h.

Member Data Documentation

◆ chunk_size

size_t ReplayConfig::chunk_size {65536}

Number of stored readouts per HDF5 read.

Definition at line 91 of file replay.h.

◆ counting_time

std::optional<double> ReplayConfig::counting_time {std::nullopt}

Counting time in seconds. When set, a stored readout with rate-weight w in a point with simulated-ray normalization N is sent n ~ Poisson(w / N * counting_time) times; when unset every stored readout is sent exactly once.

Definition at line 81 of file replay.h.

◆ default_address

std::string ReplayConfig::default_address {"127.0.0.1"}

Definition at line 88 of file replay.h.

◆ default_port

int ReplayConfig::default_port {9000}

Definition at line 89 of file replay.h.

◆ fold_tof

bool ReplayConfig::fold_tof {false}

Stamp each event at pulse + (tof % period) instead of pulse + tof, so long-time-of-flight events wrap into the frame they would be detected in.

Definition at line 98 of file replay.h.

◆ pulse_rate

double ReplayConfig::pulse_rate {14.0}

Pulse (reference time) repetition rate in Hz; packet pulse times march forward on this grid, as at a continuously pulsed source (ESS: 14 Hz)

Definition at line 95 of file replay.h.

◆ pulses_per_point

size_t ReplayConfig::pulses_per_point {0}

Spread each point's events over this many pulses, each sampled event going to one of them at random, then send as many empty pulses after the last point. 0 sends a point's events as fast as they can go, under whichever pulses the wall clock passes. Set it to an EFU's histogram aggregation (ESS beam monitors: 14) for one histogram per point; a point then takes pulses_per_point / pulse_rate seconds to replay. The EFU starts a histogram only where it published the last, so the histograms are a replay's points only if the EFU was started fresh or has only been shown replays paced the same way: the empty pulses at the end leave it ready for the next.

Definition at line 107 of file replay.h.

◆ random_order

bool ReplayConfig::random_order {false}

Shuffle events within each (point, collector group) before sending.

Definition at line 85 of file replay.h.

◆ seed

uint32_t ReplayConfig::seed {0}

Seed for the sampling and shuffling generator; 0 selects a non-deterministic seed.

Definition at line 83 of file replay.h.

◆ senders

SenderConfigs ReplayConfig::senders {}

Per-(detector, readout) EFU endpoints; groups without an entry use the default address/port.

Definition at line 87 of file replay.h.

◆ stop

const std::atomic<bool>* ReplayConfig::stop {nullptr}

When non-null, replay polls this flag at point and chunk boundaries and returns early (cleanly) once it is set. Caller-owned; must outlive replay().

Definition at line 110 of file replay.h.

◆ subset

std::optional<ReplaySubset> ReplayConfig::subset {std::nullopt}

Definition at line 92 of file replay.h.


The documentation for this struct was generated from the following file: