Alexandria  2.16
Please provide a description of the project.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Types | Public Member Functions | Private Attributes | List of all members
Euclid::SourceCatalog::Photometry Class Reference

#include <Photometry.h>

Inheritance diagram for Euclid::SourceCatalog::Photometry:
[legend]
Collaboration diagram for Euclid::SourceCatalog::Photometry:
[legend]

Classes

class  PhotometryIterator
 

Public Types

typedef PhotometryIterator< true > const_iterator
 
typedef PhotometryIterator< false > iterator
 

Public Member Functions

 Photometry (std::shared_ptr< std::vector< std::string >> filter_name_vector_ptr, std::vector< FluxErrorPair > value_vector)
 Constructor which should never be called directly. Use the PhotometryAttributeHandler to build Photometry objects. More...
 
virtual ~Photometry ()=default
 default destructor More...
 
const_iterator cbegin () const
 
const_iterator cend () const
 
const_iterator begin () const
 
const_iterator end () const
 
iterator begin ()
 
iterator end ()
 
std::size_t size () const
 Return the size of the photometry map. More...
 
std::unique_ptr< FluxErrorPairfind (std::string filter_name) const
 Return a photometry measurement through the specified filter. The current implementation of this method is relatively slow as it is not expected to be used very intensively. More...
 
const std::shared_ptr
< std::vector< std::string > > & 
getFilterNames () const
 
- Public Member Functions inherited from Euclid::SourceCatalog::Attribute
virtual ~Attribute ()
 

Private Attributes

std::shared_ptr< std::vector
< std::string > > 
m_filter_name_vector_ptr
 Shared pointer to the common list of filter names. More...
 
std::vector< FluxErrorPairm_value_vector
 The photometry map. More...
 

Detailed Description

The Photometry class is design to store a set of photometric flux measurements obtained through different filters (filterName). The flux and value and the associated error are stored in a vector of ValuePair, while the list of filter names is kept in a vector that is common to all objects (which only keep a shared_ptr to it). In this way, their is no waste of memory to keep the filter information in each Photometry object and the consistency of the relationship between filter and the corresponding values (flux and error) is ensure through the code.

The user must however provide a ValuePair vector which matches the vector of FilterName. This is why the Photometry constructor should never be called directly. Always use the PhotometryAttributeHandler to build Photometry objects.

Definition at line 67 of file Photometry.h.

Member Typedef Documentation

Definition at line 144 of file Photometry.h.

Definition at line 145 of file Photometry.h.

Constructor & Destructor Documentation

Euclid::SourceCatalog::Photometry::Photometry ( std::shared_ptr< std::vector< std::string >>  filter_name_vector_ptr,
std::vector< FluxErrorPair value_vector 
)
inline

Constructor which should never be called directly. Use the PhotometryAttributeHandler to build Photometry objects.

Parameters
filter_name_vector_ptra shared pointer to the vector of filter names
value_vectorthe vector of ValuePair, i..e, the flux values with their errors

Definition at line 158 of file Photometry.h.

virtual Euclid::SourceCatalog::Photometry::~Photometry ( )
virtualdefault

default destructor

Member Function Documentation

const_iterator Euclid::SourceCatalog::Photometry::begin ( ) const
inline

Definition at line 183 of file Photometry.h.

iterator Euclid::SourceCatalog::Photometry::begin ( )
inline

Definition at line 191 of file Photometry.h.

const_iterator Euclid::SourceCatalog::Photometry::cbegin ( ) const
inline

Definition at line 175 of file Photometry.h.

const_iterator Euclid::SourceCatalog::Photometry::cend ( ) const
inline

Definition at line 179 of file Photometry.h.

const_iterator Euclid::SourceCatalog::Photometry::end ( ) const
inline

Definition at line 187 of file Photometry.h.

iterator Euclid::SourceCatalog::Photometry::end ( )
inline

Definition at line 195 of file Photometry.h.

unique_ptr< FluxErrorPair > Euclid::SourceCatalog::Photometry::find ( std::string  filter_name) const

Return a photometry measurement through the specified filter. The current implementation of this method is relatively slow as it is not expected to be used very intensively.

Parameters
filter_nameThe filter name
Returns
A pair containing a value and the corresponding error

Definition at line 36 of file Photometry.cpp.

const std::shared_ptr< std::vector< std::string > > & Euclid::SourceCatalog::Photometry::getFilterNames ( ) const

Definition at line 56 of file Photometry.cpp.

std::size_t Euclid::SourceCatalog::Photometry::size ( ) const
inline

Return the size of the photometry map.

Definition at line 203 of file Photometry.h.

Member Data Documentation

std::shared_ptr<std::vector<std::string> > Euclid::SourceCatalog::Photometry::m_filter_name_vector_ptr
private

Shared pointer to the common list of filter names.

Definition at line 223 of file Photometry.h.

std::vector<FluxErrorPair> Euclid::SourceCatalog::Photometry::m_value_vector
private

The photometry map.

Definition at line 226 of file Photometry.h.


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