SourceXtractorPlusPlus  0.10
Please provide a description of the project.
Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
SourceXtractor::FitsFileManager Class Reference

#include <FitsFileManager.h>

Collaboration diagram for SourceXtractor::FitsFileManager:
[legend]

Classes

struct  FitsInfo
 

Public Member Functions

 FitsFileManager ()
 
virtual ~FitsFileManager ()
 
fitsfile * getFitsFile (const std::string &filename, bool writeable=false)
 
void closeAllFiles ()
 

Static Public Member Functions

static std::shared_ptr< FitsFileManagergetInstance ()
 

Private Member Functions

fitsfile * openFitsFile (const std::string &filename, bool writeable) const
 
void closeFitsFile (fitsfile *fptr) const
 
void closeExtraFiles ()
 

Private Attributes

std::unordered_map< std::string, FitsInfom_fits_files
 
unsigned int m_max_open_files
 
std::list< std::stringm_open_files
 

Static Private Attributes

static std::shared_ptr< FitsFileManagers_instance
 

Detailed Description

Definition at line 37 of file FitsFileManager.h.

Constructor & Destructor Documentation

◆ FitsFileManager()

SourceXtractor::FitsFileManager::FitsFileManager ( )

Definition at line 35 of file FitsFileManager.cpp.

◆ ~FitsFileManager()

SourceXtractor::FitsFileManager::~FitsFileManager ( )
virtual

Definition at line 38 of file FitsFileManager.cpp.

References closeAllFiles().

Here is the call graph for this function:

Member Function Documentation

◆ closeAllFiles()

void SourceXtractor::FitsFileManager::closeAllFiles ( )

Definition at line 42 of file FitsFileManager.cpp.

References closeFitsFile(), and m_fits_files.

Referenced by ~FitsFileManager().

Here is the call graph for this function:

◆ closeExtraFiles()

void SourceXtractor::FitsFileManager::closeExtraFiles ( )
private

Definition at line 81 of file FitsFileManager.cpp.

References std::list< T >::back(), closeFitsFile(), m_fits_files, m_max_open_files, m_open_files, std::list< T >::pop_back(), and std::list< T >::size().

Referenced by getFitsFile().

Here is the call graph for this function:

◆ closeFitsFile()

void SourceXtractor::FitsFileManager::closeFitsFile ( fitsfile *  fptr) const
private

Definition at line 105 of file FitsFileManager.cpp.

Referenced by closeAllFiles(), closeExtraFiles(), and getFitsFile().

◆ getFitsFile()

fitsfile * SourceXtractor::FitsFileManager::getFitsFile ( const std::string filename,
bool  writeable = false 
)

Definition at line 53 of file FitsFileManager.cpp.

References closeExtraFiles(), closeFitsFile(), conf::filename, SourceXtractor::FitsFileManager::FitsInfo::m_file_pointer, m_fits_files, SourceXtractor::FitsFileManager::FitsInfo::m_is_file_opened, SourceXtractor::FitsFileManager::FitsInfo::m_is_writeable, m_open_files, openFitsFile(), and std::list< T >::push_front().

Here is the call graph for this function:

◆ getInstance()

static std::shared_ptr<FitsFileManager> SourceXtractor::FitsFileManager::getInstance ( )
inlinestatic

Definition at line 47 of file FitsFileManager.h.

References s_instance.

Referenced by SEMain::mainMethod().

◆ openFitsFile()

fitsfile * SourceXtractor::FitsFileManager::openFitsFile ( const std::string filename,
bool  writeable 
) const
private

Definition at line 92 of file FitsFileManager.cpp.

References conf::filename.

Referenced by getFitsFile().

Member Data Documentation

◆ m_fits_files

std::unordered_map<std::string, FitsInfo> SourceXtractor::FitsFileManager::m_fits_files
private

Definition at line 65 of file FitsFileManager.h.

Referenced by closeAllFiles(), closeExtraFiles(), and getFitsFile().

◆ m_max_open_files

unsigned int SourceXtractor::FitsFileManager::m_max_open_files
private

Definition at line 67 of file FitsFileManager.h.

Referenced by closeExtraFiles().

◆ m_open_files

std::list<std::string> SourceXtractor::FitsFileManager::m_open_files
private

Definition at line 68 of file FitsFileManager.h.

Referenced by closeExtraFiles(), and getFitsFile().

◆ s_instance

std::shared_ptr< FitsFileManager > SourceXtractor::FitsFileManager::s_instance
staticprivate

Definition at line 70 of file FitsFileManager.h.

Referenced by getInstance().


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