package model
- Source
- package.scala
- Alphabetic
- By Inheritance
- model
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- sealed abstract class Access extends Product with Serializable
A role can be reduced to an
AccessLevel
by discarding the NGO role's partner, leaving us with a simple enumerated (and thus ordered) type.A role can be reduced to an
AccessLevel
by discarding the NGO role's partner, leaving us with a simple enumerated (and thus ordered) type. Usually this is all we care about when checking whether a user is allowed to do something. - final case class AccessControlException(displayName: String, id: User.Id, role: Role, access: Access) extends Exception with Product with Serializable
- final case class CatalogInfo(catalog: CatalogName, id: NonEmptyString, objectType: Option[NonEmptyString]) extends Product with Serializable
- final case class ConstraintSet(imageQuality: ImageQuality, cloudExtinction: CloudExtinction, skyBackground: SkyBackground, waterVapor: WaterVapor, elevationRange: ElevationRange) extends Product with Serializable
Constraints for an observation.
- sealed trait ElevationRange extends Product with Serializable
- final case class EmissionLine[T](lineWidth: Quantity[PosBigDecimal, math.units.KilometersPerSecond], lineFlux: Of[Measure[PosBigDecimal], LineFlux[T]]) extends Product with Serializable
- sealed abstract case class Ephemeris extends Product with Serializable
Time-parameterized coordinates over a fixed interval, defined pairwise.
Time-parameterized coordinates over a fixed interval, defined pairwise. Coordinates that fall between known instants are interpolated.
- final case class EphemerisCoordinates(coord: Coordinates, delta: Offset) extends Product with Serializable
A coordinate along with a rate of change in RA and Dec for some time unit, expressed as an offset in p and q.
A coordinate along with a rate of change in RA and Dec for some time unit, expressed as an offset in p and q. In reality the velocity information comes from horizons and is always arcseconds per hour in horizons data.
- coord
coordinates
- delta
rate of change in RA and dec, where the delta(RA)/time has been multiplied by the cosine of the dec
- trait EphemerisCoordinatesOptics extends AnyRef
- trait EphemerisJson extends AnyRef
- sealed trait EphemerisKey extends Product with Serializable
Ephemeris data lookup key which uniquely identifies a non-sidereal object in the database.
- trait EphemerisOptics extends AnyRef
- sealed trait ExposureTimeMode extends Product with Serializable
- final case class GuestUser(id: User.Id) extends User with Product with Serializable
Guest users have the weakest
Role
and no identifying information. - type IntPercent = Refined[Int, ZeroTo100]
- final case class LocalObservingNight(toLocalDate: LocalDate) extends Product with Serializable
A local observing night is defined as the period of time starting at 14:00 (inclusive) on one day and ending at 14:00 (exclusive) the next day.
A local observing night is defined as the period of time starting at 14:00 (inclusive) on one day and ending at 14:00 (exclusive) the next day.
A
LocalObservingNight
is site-agnostic. UseatSite
to obtain precise start / end times in anObservingNight
. - trait LocalObservingNightOptics extends AnyRef
- trait Night extends AnyRef
Description of the start/end times for a night according to some criterion.
Description of the start/end times for a night according to some criterion. For example, the official observing night begins and ends at 2PM local time while twilight bounded nights start and end according to defined angles of the sun below the horizon.
- type NonNegDuration = Refined[Duration, NonNegative]
- final case class ObservingNight(site: Site, toLocalObservingNight: LocalObservingNight) extends Night with Product with Serializable
An observing night is defined as the period of time from 14:00 on one day until 14:00 on the following day.
An observing night is defined as the period of time from 14:00 on one day until 14:00 on the following day. In a timezone that honors daylight saving, it is sometimes longer and sometimes shorter than a period of 24 hours.
An
ObservingNight
pairs aSite
with aLocalObservingNight
to obtain precise start/endInstant
s. - trait ObservingNightOptics extends AnyRef
- sealed abstract case class OrcidId extends Product with Serializable
The ORCID iD is an https URI with a 16-digit number that is compatible with the ISO Standard (ISO 27729), also known as the International Standard Name Identifier (ISNI).
The ORCID iD is an https URI with a 16-digit number that is compatible with the ISO Standard (ISO 27729), also known as the International Standard Name Identifier (ISNI). The last digit is a checksum that is either 0-9, or X.
- See also
https://support.orcid.org/hc/en-us/articles/360006897674-Structure-of-the-ORCID-Identifier
- final case class OrcidProfile(orcidId: OrcidId, givenName: Option[String], familyName: Option[String], creditName: Option[String], primaryEmail: Option[String]) extends Product with Serializable
An ORCID profile is an OrcidId and a set of optional fields.
- sealed abstract class Partner extends Product with Serializable
NGO users are associated with a partner.
- sealed trait PosAngleConstraint extends Product with Serializable
Position Angle Constraint model.
Position Angle Constraint model. Defines how the position angle will be constrained.
- sealed trait PosAngleConstraintOptics extends AnyRef
- final case class Proposal(title: Option[NonEmptyString], proposalClass: ProposalClass, category: Option[TacCategory], toOActivation: ToOActivation, abstrakt: Option[NonEmptyString], partnerSplits: SortedMap[Partner, IntPercent]) extends Product with Serializable
- sealed trait ProposalClass extends AnyRef
- sealed abstract class Role extends AnyRef
Each user has a current
Role
and a set of other roles they may assume.Each user has a current
Role
and a set of other roles they may assume. A role has (at least) anAccess
level. - final case class Semester(year: Year, half: Half) extends Product with Serializable
A (Year, Half) pair.
- final case class ServiceRole(serviceName: String) extends Role with Product with Serializable
ServiceRole
is used only for inter-service communication. - final case class ServiceUser(id: User.Id, name: String) extends User with Product with Serializable
Service users have the strongest
Role
and represent services themselves. - final case class SiderealTracking(baseCoordinates: Coordinates, epoch: Epoch, properMotion: Option[ProperMotion], radialVelocity: Option[RadialVelocity], parallax: Option[Parallax]) extends Product with Serializable
Time-parameterized coordinates, based on an observed position at some point in time (called the
epoch
) and measured velocities in distance (radialVelocity
; i.e., doppler shift) and position (properMotion
) per year.Time-parameterized coordinates, based on an observed position at some point in time (called the
epoch
) and measured velocities in distance (radialVelocity
; i.e., doppler shift) and position (properMotion
) per year. Given this information we can compute the position at any instant in time. The references below are extremely helpful, so do check them out if you're trying to understand the implementation.- baseCoordinates
observed coordinates at
epoch
- epoch
time of the base observation; typically
Epoch.J2000
- properMotion
proper velocity per year in lucuma.core.math.RightAscension and lucuma.core.math.Declination, if any
- radialVelocity
radial velocity (km/y, positive if receding), if any
- parallax
parallax, if any
- trait SiderealTrackingOptics extends AnyRef
- sealed trait SourceProfile extends Product with Serializable
- sealed trait SpectralDefinition[T] extends AnyRef
- sealed abstract class StandardRole extends Role
The class of roles taken on by authenticated users.
- final case class StandardUser(id: User.Id, role: StandardRole, otherRoles: List[StandardRole], profile: OrcidProfile) extends User with Product with Serializable
Standard users are authenticated and have a current role and ORCID profile, as well as a set of other roles they can assume.
- sealed trait Target extends Product with Serializable
A target of observation.
- trait TargetOptics extends AnyRef
- sealed abstract case class TwilightBoundedNight extends Night with Product with Serializable
The start and end of a particular night at a lucuma.core.enums.Site.
- trait TwilightBoundedNightOptics extends AnyRef
- sealed trait UnnormalizedSED extends Product with Serializable
Unnormalized Spectral Energy Distribution.
Unnormalized Spectral Energy Distribution.
An unnormalized SED describes the shape of the SED across wavelengths. It's then normalized around a certain wavelength by using band brightnesses. By contrast, emission lines specify a normalized SED directly, without the need for band brightness information.
- sealed trait User extends Product with Serializable
A user has [at least] an identity and a role.
- type ZeroTo100 = And[GreaterEqual[0], LessEqual[100]]
Value Members
- implicit val nonNegDurationValidate: Plain[Duration, GreaterEqual[_0]]
- object Access extends Serializable
- object CatalogInfo extends Serializable
- object Configuration extends WithGid
- object ConstraintSet extends Serializable
- object Dataset extends WithGid
- object ElevationRange extends Serializable
- object EmissionLine extends Serializable
- object Ephemeris extends Serializable
- object EphemerisCoordinates extends EphemerisCoordinatesOptics with Serializable
- object EphemerisKey extends EphemerisOptics with EphemerisJson with Serializable
- object ExecutionEvent extends WithGid
- object ExposureTimeMode extends Serializable
- case object GuestRole extends Role with Product with Serializable
GuestRole
allows limited access to temporary programs. - object GuestUser extends Serializable
- object IntPercent extends RefinedTypeOps[IntPercent, Int]
- object LocalObservingNight extends LocalObservingNightOptics with Serializable
- object NonNegDuration extends RefinedTypeOps[NonNegDuration, Duration]
- object Observation extends WithGid
- object ObservingNight extends ObservingNightOptics with Serializable
- object OrcidId extends Serializable
- object OrcidProfile extends Serializable
- case object Partner extends Product with Serializable
- object PosAngleConstraint extends PosAngleConstraintOptics with Serializable
- object Program extends WithGid
- object Proposal extends Serializable
- object ProposalClass
- object Role
- object Semester extends Serializable
- object ServiceRole extends Serializable
- object ServiceUser extends Serializable
- object SiderealTracking extends SiderealTrackingOptics with Serializable
- object SourceProfile extends Serializable
- object SpectralDefinition
- object StandardRole extends WithGid
- object StandardUser extends Serializable
- object Target extends WithGid with TargetOptics with Serializable
- object TwilightBoundedNight extends TwilightBoundedNightOptics with Serializable
- object UnnormalizedSED extends Serializable
- object User extends WithGid with Serializable
- object Visit extends WithUid
- object implicits