SourceXtractorPlusPlus  0.11
Please provide a description of the project.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
SourceXtractor::FitsFile Class Reference

represents access to a whole FITS file and handles loading and caching FITS headers More...

#include <FitsFile.h>

Collaboration diagram for SourceXtractor::FitsFile:
[legend]

Public Member Functions

virtual ~FitsFile ()
 
fitsfile * getFitsFilePtr ()
 
const std::vector< int > & getImageHdus () const
 
const std::map< std::string,
MetadataEntry > & 
getHDUHeaders (int hdu) const
 
void setWriteMode ()
 
void open ()
 
void close ()
 

Protected Member Functions

 FitsFile (const std::string &filename, bool writeable, std::shared_ptr< FitsFileManager > manager)
 

Private Member Functions

void openFirstTime ()
 
void reopen ()
 
std::map< std::string,
MetadataEntry
loadFitsHeader (fitsfile *fptr)
 
void loadHeaders ()
 
void loadHeadFile ()
 

Private Attributes

std::string m_filename
 
fitsfile * m_file_pointer
 
bool m_is_file_opened
 
bool m_is_writeable
 
bool m_was_opened_before
 
std::vector< int > m_image_hdus
 
std::vector< std::map
< std::string, MetadataEntry > > 
m_headers
 
std::shared_ptr< FitsFileManagerm_manager
 

Friends

class FitsFileManager
 

Detailed Description

represents access to a whole FITS file and handles loading and caching FITS headers

Definition at line 44 of file FitsFile.h.

Constructor & Destructor Documentation

SourceXtractor::FitsFile::FitsFile ( const std::string filename,
bool  writeable,
std::shared_ptr< FitsFileManager manager 
)
protected

Definition at line 89 of file FitsFile.cpp.

SourceXtractor::FitsFile::~FitsFile ( )
virtual

Definition at line 98 of file FitsFile.cpp.

References close().

Here is the call graph for this function:

Member Function Documentation

void SourceXtractor::FitsFile::close ( )

Definition at line 174 of file FitsFile.cpp.

References m_file_pointer, and m_is_file_opened.

Referenced by setWriteMode(), and ~FitsFile().

fitsfile* SourceXtractor::FitsFile::getFitsFilePtr ( )
inline

Definition at line 52 of file FitsFile.h.

References m_file_pointer, m_is_file_opened, and open().

Here is the call graph for this function:

const std::map<std::string, MetadataEntry>& SourceXtractor::FitsFile::getHDUHeaders ( int  hdu) const
inline

Definition at line 63 of file FitsFile.h.

References m_headers.

const std::vector<int>& SourceXtractor::FitsFile::getImageHdus ( ) const
inline

Definition at line 59 of file FitsFile.h.

References m_image_hdus.

std::map< std::string, MetadataEntry > SourceXtractor::FitsFile::loadFitsHeader ( fitsfile *  fptr)
private

Definition at line 209 of file FitsFile.cpp.

References std::map< K, T >::emplace(), std::strncmp(), and SourceXtractor::valueAutoCast().

Referenced by loadHeaders().

Here is the call graph for this function:

void SourceXtractor::FitsFile::loadHeaders ( )
private

Definition at line 191 of file FitsFile.cpp.

References loadFitsHeader(), m_file_pointer, and m_headers.

Referenced by openFirstTime().

Here is the call graph for this function:

void SourceXtractor::FitsFile::loadHeadFile ( )
private

Definition at line 235 of file FitsFile.cpp.

References std::vector< T >::begin(), std::vector< T >::end(), conf::filename, std::getline(), std::ifstream::good(), std::ifstream::is_open(), m_filename, m_headers, m_image_hdus, std::ifstream::open(), std::string::size(), and SourceXtractor::valueAutoCast().

Referenced by openFirstTime().

Here is the call graph for this function:

void SourceXtractor::FitsFile::open ( )

Definition at line 163 of file FitsFile.cpp.

References m_file_pointer, m_is_file_opened, m_was_opened_before, openFirstTime(), and reopen().

Referenced by getFitsFilePtr(), and setWriteMode().

Here is the call graph for this function:

void SourceXtractor::FitsFile::openFirstTime ( )
private

Definition at line 102 of file FitsFile.cpp.

References std::string::c_str(), std::vector< T >::clear(), std::vector< T >::emplace_back(), loadHeaders(), loadHeadFile(), m_file_pointer, m_filename, m_headers, m_image_hdus, m_is_file_opened, m_is_writeable, and m_was_opened_before.

Referenced by open().

Here is the call graph for this function:

void SourceXtractor::FitsFile::reopen ( )
private

Definition at line 154 of file FitsFile.cpp.

References std::string::c_str(), m_file_pointer, m_filename, m_is_file_opened, and m_is_writeable.

Referenced by open().

Here is the call graph for this function:

void SourceXtractor::FitsFile::setWriteMode ( )

Definition at line 183 of file FitsFile.cpp.

References close(), m_is_writeable, and open().

Here is the call graph for this function:

Friends And Related Function Documentation

friend class FitsFileManager
friend

Definition at line 92 of file FitsFile.h.

Member Data Documentation

fitsfile* SourceXtractor::FitsFile::m_file_pointer
private

Definition at line 81 of file FitsFile.h.

Referenced by close(), getFitsFilePtr(), loadHeaders(), open(), openFirstTime(), and reopen().

std::string SourceXtractor::FitsFile::m_filename
private

Definition at line 80 of file FitsFile.h.

Referenced by loadHeadFile(), openFirstTime(), and reopen().

std::vector<std::map<std::string, MetadataEntry> > SourceXtractor::FitsFile::m_headers
private

Definition at line 88 of file FitsFile.h.

Referenced by getHDUHeaders(), loadHeaders(), loadHeadFile(), and openFirstTime().

std::vector<int> SourceXtractor::FitsFile::m_image_hdus
private

Definition at line 86 of file FitsFile.h.

Referenced by getImageHdus(), loadHeadFile(), and openFirstTime().

bool SourceXtractor::FitsFile::m_is_file_opened
private

Definition at line 82 of file FitsFile.h.

Referenced by close(), getFitsFilePtr(), open(), openFirstTime(), and reopen().

bool SourceXtractor::FitsFile::m_is_writeable
private

Definition at line 83 of file FitsFile.h.

Referenced by openFirstTime(), reopen(), and setWriteMode().

std::shared_ptr<FitsFileManager> SourceXtractor::FitsFile::m_manager
private

Definition at line 90 of file FitsFile.h.

bool SourceXtractor::FitsFile::m_was_opened_before
private

Definition at line 84 of file FitsFile.h.

Referenced by open(), and openFirstTime().


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