Source code for lsst.sims.ocs.configuration.proposal.general_scheduling

import lsst.pex.config as pexConfig

from lsst.sims.ocs.configuration.proposal import Scheduling

__all__ = ["GeneralScheduling"]

[docs]class GeneralScheduling(Scheduling): """Configuration for a general proposal's scheduling needs. """ restrict_grouped_visits = pexConfig.Field('Flag to restrict the number of grouped visits per night to ' 'the requested number.', bool) time_interval = pexConfig.Field('Time (units=seconds) between subsequent visits for a field/filter ' 'combination. Must be non-zero if number of grouped visits is greater ' 'than one.', float) time_window_start = pexConfig.Field('Relative time when the window opens for subsequent grouped visits.', float) time_window_max = pexConfig.Field('Relative time when the window reaches maximum rank for subsequent ' 'grouped visits.', float) time_window_end = pexConfig.Field('Relative time when the window ends for subsequent grouped visits.', float) time_weight = pexConfig.Field('Weighting factor for scaling the shape of the time window.', float)
[docs] def setDefaults(self): """Default specification for scheduling information. """ Scheduling.setDefaults(self) self.restrict_grouped_visits = True self.time_interval = 0.0 self.time_window_start = 0.0 self.time_window_max = 0.0 self.time_window_end = 0.0 self.time_weight = 0.0