All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Member Functions | Public Attributes | List of all members
icarus::trigger::FixBeamGateInfo::BeamChangeRecipe Struct Reference

All directions to change a beam gate. More...

Classes

struct  ChangeRecipe_t
 Set of instructions for a change. More...
 
struct  GateSelector_t
 

Public Member Functions

bool empty () const
 
bool valid () const
 

Public Attributes

GateSelector_t selectGates
 Which gates to apply this recipe on. More...
 
std::optional< ChangeRecipe_t
< simulation_time > > const 
start
 Instructions on how to change the gate start. More...
 
std::optional< ChangeRecipe_t
< simulation_time::interval_t >
> const 
width
 Instructions on how to change the gate width. More...
 

Detailed Description

All directions to change a beam gate.

Definition at line 102 of file FixBeamGateInfo_module.cc.

Member Function Documentation

bool icarus::trigger::FixBeamGateInfo::BeamChangeRecipe::empty ( ) const
inline

Definition at line 130 of file FixBeamGateInfo_module.cc.

131  { return (!width || width->empty()) && (!start || start->empty()); }
std::optional< ChangeRecipe_t< simulation_time::interval_t > > const width
Instructions on how to change the gate width.
std::optional< ChangeRecipe_t< simulation_time > > const start
Instructions on how to change the gate start.
bool icarus::trigger::FixBeamGateInfo::BeamChangeRecipe::valid ( ) const
inline

Definition at line 132 of file FixBeamGateInfo_module.cc.

133  {
134  // validity checks
135  if (!selectGates.isValid()) return false;
136  if (start && !start->valid()) return false;
137  if (width && !width->valid()) return false;
138  // minimum requirement checks
139  if (!start && !width) return false;
140  return true;
141  }
std::optional< ChangeRecipe_t< simulation_time::interval_t > > const width
Instructions on how to change the gate width.
std::optional< ChangeRecipe_t< simulation_time > > const start
Instructions on how to change the gate start.
GateSelector_t selectGates
Which gates to apply this recipe on.

Member Data Documentation

GateSelector_t icarus::trigger::FixBeamGateInfo::BeamChangeRecipe::selectGates

Which gates to apply this recipe on.

Definition at line 122 of file FixBeamGateInfo_module.cc.

std::optional<ChangeRecipe_t<simulation_time> > const icarus::trigger::FixBeamGateInfo::BeamChangeRecipe::start

Instructions on how to change the gate start.

Definition at line 125 of file FixBeamGateInfo_module.cc.

std::optional<ChangeRecipe_t<simulation_time::interval_t> > const icarus::trigger::FixBeamGateInfo::BeamChangeRecipe::width

Instructions on how to change the gate width.

Definition at line 128 of file FixBeamGateInfo_module.cc.


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