uvex_transients.simulation.core#
Monte Carlo sampling of transient populations against a survey schedule.
SurveySimulator does exactly one job: given a collection of transient types, a
~uvex_transients.surveys.base.SurveySchedule, and a root seed, sample a Monte
Carlo realization of every registered transient type into an EventCatalog
(SurveySimulator.generate_events()). Real per-event synthetic photometry lives
one level down, on ~uvex_transients.simulation.event.Event
(simulate_photometry()) – it’s too
expensive to run over a whole freshly-sampled population, which is typically dominated
by events far too faint to ever matter. Two progressively more expensive screening
steps narrow the catalog down first: filter_by_limiting_magnitude never touches the
schedule at all (only “could this event, at its brightest, ever clear a fixed magnitude
limit” over a shared per-type phase grid); filter_by_snr does consult the schedule –
“is this event, at any observation the schedule actually made of it, ever detected
above a given SNR” – batched across many events at once the same way
Event.simulate_photometry batches across one event’s own observations.
Functions
|
Mark a SurveySimulator method as a named, registrable screening cut. |
Classes
|
Samples transient populations against a survey schedule. |