SourceXtractorPlusPlus
0.10
Please provide a description of the project.
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
SEFramework
SEFramework
FITS
FitsFileManager.h
Go to the documentation of this file.
1
17
/*
18
* FitsFileManager.h
19
*
20
* Created on: Sep 19, 2019
21
* Author: mschefer
22
*/
23
24
#ifndef _SEFRAMEWORK_FITS_FITSFILEMANAGER_H_
25
#define _SEFRAMEWORK_FITS_FITSFILEMANAGER_H_
26
27
#include <memory>
28
#include <string>
29
#include <list>
30
#include <unordered_map>
31
32
#include <fitsio.h>
33
34
35
namespace
SourceXtractor {
36
37
class
FitsFileManager
{
38
public
:
39
40
FitsFileManager
();
41
virtual
~FitsFileManager
();
42
43
fitsfile*
getFitsFile
(
const
std::string
&
filename
,
bool
writeable =
false
);
44
45
void
closeAllFiles
();
46
47
static
std::shared_ptr<FitsFileManager>
getInstance
() {
48
if
(
s_instance
==
nullptr
) {
49
s_instance
= std::make_shared<FitsFileManager>();
50
}
51
return
s_instance
;
52
}
53
54
private
:
55
fitsfile*
openFitsFile
(
const
std::string
& filename,
bool
writeable)
const
;
56
void
closeFitsFile
(fitsfile* fptr)
const
;
57
void
closeExtraFiles
();
58
59
struct
FitsInfo
{
60
fitsfile*
m_file_pointer
;
61
bool
m_is_file_opened
;
62
bool
m_is_writeable
;
63
};
64
65
std::unordered_map<std::string, FitsInfo>
m_fits_files
;
66
67
unsigned
int
m_max_open_files
;
68
std::list<std::string>
m_open_files
;
69
70
static
std::shared_ptr<FitsFileManager>
s_instance
;
71
};
72
73
}
74
75
#endif
/* _SEFRAMEWORK_FITS_FITSFILEMANAGER_H_ */
std::shared_ptr
SourceXtractor::FitsFileManager::m_fits_files
std::unordered_map< std::string, FitsInfo > m_fits_files
Definition:
FitsFileManager.h:65
SourceXtractor::FitsFileManager::FitsInfo
Definition:
FitsFileManager.h:59
SourceXtractor::FitsFileManager::getInstance
static std::shared_ptr< FitsFileManager > getInstance()
Definition:
FitsFileManager.h:47
SourceXtractor::FitsFileManager::m_max_open_files
unsigned int m_max_open_files
Definition:
FitsFileManager.h:67
SourceXtractor::FitsFileManager::closeFitsFile
void closeFitsFile(fitsfile *fptr) const
Definition:
FitsFileManager.cpp:105
SourceXtractor::FitsFileManager::s_instance
static std::shared_ptr< FitsFileManager > s_instance
Definition:
FitsFileManager.h:70
std::string
STL class.
conf.filename
string filename
Definition:
conf.py:63
SourceXtractor::FitsFileManager::FitsInfo::m_file_pointer
fitsfile * m_file_pointer
Definition:
FitsFileManager.h:60
std::list
STL class.
SourceXtractor::FitsFileManager::m_open_files
std::list< std::string > m_open_files
Definition:
FitsFileManager.h:68
SourceXtractor::FitsFileManager::FitsFileManager
FitsFileManager()
Definition:
FitsFileManager.cpp:35
SourceXtractor::FitsFileManager::getFitsFile
fitsfile * getFitsFile(const std::string &filename, bool writeable=false)
Definition:
FitsFileManager.cpp:53
SourceXtractor::FitsFileManager::closeExtraFiles
void closeExtraFiles()
Definition:
FitsFileManager.cpp:81
SourceXtractor::FitsFileManager::~FitsFileManager
virtual ~FitsFileManager()
Definition:
FitsFileManager.cpp:38
SourceXtractor::FitsFileManager
Definition:
FitsFileManager.h:37
SourceXtractor::FitsFileManager::FitsInfo::m_is_writeable
bool m_is_writeable
Definition:
FitsFileManager.h:62
SourceXtractor::FitsFileManager::openFitsFile
fitsfile * openFitsFile(const std::string &filename, bool writeable) const
Definition:
FitsFileManager.cpp:92
SourceXtractor::FitsFileManager::closeAllFiles
void closeAllFiles()
Definition:
FitsFileManager.cpp:42
std::unordered_map
STL class.
SourceXtractor::FitsFileManager::FitsInfo::m_is_file_opened
bool m_is_file_opened
Definition:
FitsFileManager.h:61
Generated by
1.8.5