Description:
Introduce an Experiment type to represent collider and multi-beam experiments within the LaserExperiments.jl package.
An experiment combines one or more beams (e.g. an AbstractLaserBeam and/or an ElectronBeam) and may exist as either a generic or a deployed instance.
Requirements:
Proposed API:
# Generic experiment definition
exp = Experiment(
name = "GammaRaySource",
beams = [laserbeam(...), electronbeam(...)],
kind = :generic
)
# Deployed experiment linked to a facility
exp_deployed = Experiment(
name = "GammaRaySource_HiBEF",
beams = [laserbeam(...), electronbeam(...)],
kind = :deployed,
facility = "HiBEF",
status = :running
)
Tasks:
Notes:
This structure should generalize to any number of participating beams, allowing the same API to describe both collider and multi-laser setups.
Description:
Introduce an
Experimenttype to represent collider and multi-beam experiments within theLaserExperiments.jlpackage.An experiment combines one or more beams (e.g. an
AbstractLaserBeamand/or anElectronBeam) and may exist as either a generic or a deployed instance.Requirements:
Each experiment must have:
name(unique identifier)list of participating beams(Vector{AbstractBeam}; could include lasers or electrons)For deployed experiments:
"commissioned","running","finished")Proposed API:
Tasks:
Experimentstruct and related constructorsNotes:
This structure should generalize to any number of participating beams, allowing the same API to describe both collider and multi-laser setups.