Citlali
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
RawObs Struct Reference

The raw obs struct This represents a single observation that contains a set of data items and calibration items. More...

#include <io.h>

Inheritance diagram for RawObs:
Inheritance graph
Collaboration diagram for RawObs:
Collaboration graph

Classes

struct  ArrayPropTable
 
struct  AstrometryCalibInfo
 
struct  CalItem
 @breif a generic cal item holder More...
 
struct  DataItem
 The DataItem struct This represent a single data item that belongs to a particular observation. More...
 
struct  PhotometryCalibInfo
 

Public Types

using Base = ConfigMapper< RawObs >
 
using CalItemTypes = tula::meta::cases< CalItemType::array_prop_table, CalItemType::photometry, CalItemType::astrometry, CalItemType::unresolved >
 
template<auto type>
using cal_item_t = tula::meta::switch_t< type, tula::meta::case_t< CalItemType::array_prop_table, ArrayPropTable >, tula::meta::case_t< CalItemType::photometry, PhotometryCalibInfo >, tula::meta::case_t< CalItemType::astrometry, AstrometryCalibInfo >, tula::meta::case_t< CalItemType::unresolved, CalItem > >
 
using cal_item_var_t = std::variant< std::monostate, cal_item_t< CalItemType::array_prop_table >, cal_item_t< CalItemType::photometry >, cal_item_t< CalItemType::astrometry > >
 
using Base = ConfigMapper< RawObs >
 
using CalItemTypes = meta::cases< CalItemType::array_prop_table, CalItemType::unresolved >
 
template<auto type>
using cal_item_t = meta::switch_t< type, meta::case_t< CalItemType::array_prop_table, ArrayPropTable >, meta::case_t< CalItemType::unresolved, CalItem > >
 
using cal_item_var_t = std::variant< std::monostate, cal_item_t< CalItemType::array_prop_table > >
 

Public Member Functions

 TULA_ENUM_DECL (CalItemType, int, array_prop_table, photometry, astrometry, unresolved)
 
 RawObs (config_t config)
 
const std::string & name () const
 
auto n_data_items () const
 
const std::vector< DataItem > & data_items () const
 
const DataItemteldata () const
 
std::optional< DataItemhwpdata () const
 
auto kidsdata () const -> decltype(auto)
 
auto n_cal_items () const
 
const std::vector< CalItem > & cal_items () const
 
const ArrayPropTablearray_prop_table () const
 
const PhotometryCalibInfophotometry_calib_info () const
 
const AstrometryCalibInfoastrometry_calib_info () const
 
 META_ENUM (CalItemType, int, array_prop_table, unresolved)
 
 RawObs (config_t config)
 
const std::string & name () const
 
auto n_data_items () const
 
const std::vector< DataItem > & data_items () const
 
const DataItemteldata () const
 
auto kidsdata () const -> decltype(auto)
 
auto n_cal_items () const
 
const std::vector< CalItem > & cal_items () const
 
const ArrayPropTablearray_prop_table () const
 

Static Public Member Functions

static auto check_config (const config_t &config) -> std::optional< std::string >
 
static auto check_config (const config_t &config) -> std::optional< std::string >
 

Private Member Functions

void collect_data_items ()
 
void collect_cal_items ()
 
void collect_data_items ()
 
void collect_cal_items ()
 

Private Attributes

std::string m_name
 
std::vector< DataItemm_data_items {}
 
std::vector< std::size_t > m_kidsdata_indices {}
 
std::optional< std::size_t > m_teldata_index {std::nullopt}
 
std::optional< std::size_t > m_hwpdata_index {std::nullopt}
 
std::vector< CalItemm_cal_items {}
 
std::optional< std::size_t > m_apt_index {std::nullopt}
 
std::optional< std::size_t > m_phot_cal_index {std::nullopt}
 
std::optional< std::size_t > m_astro_cal_index {std::nullopt}
 

Static Private Attributes

static const std::regex re_interface_kidsdata {"toltec\\d{1,2}"}
 
static const std::regex re_interface_teldata {"lmt"}
 
static const std::regex re_interface_hwpdata {"hwpr"}
 

Friends

template<typename OStream >
auto operator<< (OStream &os, const RawObs &obs) -> decltype(auto)
 

Detailed Description

The raw obs struct This represents a single observation that contains a set of data items and calibration items.

Member Typedef Documentation

◆ Base [1/2]

◆ Base [2/2]

◆ cal_item_t [1/2]

template<auto type>
using RawObs::cal_item_t = tula::meta::switch_t< type, tula::meta::case_t<CalItemType::array_prop_table, ArrayPropTable>, tula::meta::case_t<CalItemType::photometry, PhotometryCalibInfo>, tula::meta::case_t<CalItemType::astrometry, AstrometryCalibInfo>, tula::meta::case_t<CalItemType::unresolved, CalItem> >

◆ cal_item_t [2/2]

template<auto type>
using RawObs::cal_item_t = meta::switch_t< type, meta::case_t<CalItemType::array_prop_table, ArrayPropTable>, meta::case_t<CalItemType::unresolved, CalItem> >

◆ cal_item_var_t [1/2]

using RawObs::cal_item_var_t = std::variant< std::monostate, cal_item_t<CalItemType::array_prop_table>, cal_item_t<CalItemType::photometry>, cal_item_t<CalItemType::astrometry> >

◆ cal_item_var_t [2/2]

using RawObs::cal_item_var_t = std::variant<std::monostate, cal_item_t<CalItemType::array_prop_table> >

◆ CalItemTypes [1/2]

using RawObs::CalItemTypes = tula::meta::cases<CalItemType::array_prop_table, CalItemType::photometry, CalItemType::astrometry, CalItemType::unresolved>

◆ CalItemTypes [2/2]

using RawObs::CalItemTypes = meta::cases<CalItemType::array_prop_table, CalItemType::unresolved>

Constructor & Destructor Documentation

◆ RawObs() [1/2]

RawObs::RawObs ( config_t  config)
inline
Here is the call graph for this function:

◆ RawObs() [2/2]

RawObs::RawObs ( config_t  config)
inline
Here is the call graph for this function:

Member Function Documentation

◆ array_prop_table() [1/2]

const ArrayPropTable & RawObs::array_prop_table ( ) const
inline
Here is the caller graph for this function:

◆ array_prop_table() [2/2]

const ArrayPropTable & RawObs::array_prop_table ( ) const
inline

◆ astrometry_calib_info()

const AstrometryCalibInfo & RawObs::astrometry_calib_info ( ) const
inline

◆ cal_items() [1/2]

const std::vector< CalItem > & RawObs::cal_items ( ) const
inline
Here is the caller graph for this function:

◆ cal_items() [2/2]

const std::vector< CalItem > & RawObs::cal_items ( ) const
inline

◆ check_config() [1/2]

static auto RawObs::check_config ( const config_t &  config) -> std::optional<std::string>
inlinestatic

◆ check_config() [2/2]

static auto RawObs::check_config ( const config_t &  config) -> std::optional<std::string>
inlinestatic

◆ collect_cal_items() [1/2]

void RawObs::collect_cal_items ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ collect_cal_items() [2/2]

void RawObs::collect_cal_items ( )
inlineprivate
Here is the call graph for this function:

◆ collect_data_items() [1/2]

void RawObs::collect_data_items ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ collect_data_items() [2/2]

void RawObs::collect_data_items ( )
inlineprivate
Here is the call graph for this function:

◆ data_items() [1/2]

const std::vector< DataItem > & RawObs::data_items ( ) const
inline
Here is the caller graph for this function:

◆ data_items() [2/2]

const std::vector< DataItem > & RawObs::data_items ( ) const
inline

◆ hwpdata()

std::optional< DataItem > RawObs::hwpdata ( ) const
inline

◆ kidsdata() [1/2]

auto RawObs::kidsdata ( ) const -> decltype(auto)
inline
Here is the caller graph for this function:

◆ kidsdata() [2/2]

auto RawObs::kidsdata ( ) const -> decltype(auto)
inline

◆ META_ENUM()

RawObs::META_ENUM ( CalItemType  ,
int  ,
array_prop_table  ,
unresolved   
)

◆ n_cal_items() [1/2]

auto RawObs::n_cal_items ( ) const
inline
Here is the caller graph for this function:

◆ n_cal_items() [2/2]

auto RawObs::n_cal_items ( ) const
inline

◆ n_data_items() [1/2]

auto RawObs::n_data_items ( ) const
inline
Here is the caller graph for this function:

◆ n_data_items() [2/2]

auto RawObs::n_data_items ( ) const
inline

◆ name() [1/2]

const std::string & RawObs::name ( ) const
inline

◆ name() [2/2]

const std::string & RawObs::name ( ) const
inline

◆ photometry_calib_info()

const PhotometryCalibInfo & RawObs::photometry_calib_info ( ) const
inline

◆ teldata() [1/2]

const DataItem & RawObs::teldata ( ) const
inline
Here is the caller graph for this function:

◆ teldata() [2/2]

const DataItem & RawObs::teldata ( ) const
inline

◆ TULA_ENUM_DECL()

RawObs::TULA_ENUM_DECL ( CalItemType  ,
int  ,
array_prop_table  ,
photometry  ,
astrometry  ,
unresolved   
)

Friends And Related Symbol Documentation

◆ operator<<

template<typename OStream >
auto operator<< ( OStream &  os,
const RawObs obs 
) -> decltype(auto)
friend

Member Data Documentation

◆ m_apt_index

std::optional< std::size_t > RawObs::m_apt_index {std::nullopt}
private

◆ m_astro_cal_index

std::optional<std::size_t> RawObs::m_astro_cal_index {std::nullopt}
private

◆ m_cal_items

std::vector< CalItem > RawObs::m_cal_items {}
private

◆ m_data_items

std::vector< DataItem > RawObs::m_data_items {}
private

◆ m_hwpdata_index

std::optional<std::size_t> RawObs::m_hwpdata_index {std::nullopt}
private

◆ m_kidsdata_indices

std::vector< std::size_t > RawObs::m_kidsdata_indices {}
private

◆ m_name

std::string RawObs::m_name
private

◆ m_phot_cal_index

std::optional<std::size_t> RawObs::m_phot_cal_index {std::nullopt}
private

◆ m_teldata_index

std::optional< std::size_t > RawObs::m_teldata_index {std::nullopt}
private

◆ re_interface_hwpdata

const std::regex RawObs::re_interface_hwpdata {"hwpr"}
inlinestaticprivate

◆ re_interface_kidsdata

static const std::regex RawObs::re_interface_kidsdata {"toltec\\d{1,2}"}
inlinestaticprivate

◆ re_interface_teldata

static const std::regex RawObs::re_interface_teldata {"lmt"}
inlinestaticprivate

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