SourceXtractorPlusPlus
0.10
Please provide a description of the project.
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_ */
SourceXtractor::FitsFileManager::~FitsFileManager
virtual ~FitsFileManager()
Definition:
FitsFileManager.cpp:38
SourceXtractor::FitsFileManager::FitsInfo::m_is_file_opened
bool m_is_file_opened
Definition:
FitsFileManager.h:61
std::string
STL class.
std::shared_ptr
STL class.
std::list< std::string >
conf.filename
string filename
Definition:
conf.py:63
SourceXtractor::FitsFileManager::m_max_open_files
unsigned int m_max_open_files
Definition:
FitsFileManager.h:67
SourceXtractor::FitsFileManager::m_open_files
std::list< std::string > m_open_files
Definition:
FitsFileManager.h:68
SourceXtractor::FitsFileManager::closeExtraFiles
void closeExtraFiles()
Definition:
FitsFileManager.cpp:81
SourceXtractor
Definition:
Aperture.h:30
SourceXtractor::FitsFileManager::FitsFileManager
FitsFileManager()
Definition:
FitsFileManager.cpp:35
SourceXtractor::FitsFileManager::getInstance
static std::shared_ptr< FitsFileManager > getInstance()
Definition:
FitsFileManager.h:47
SourceXtractor::FitsFileManager::openFitsFile
fitsfile * openFitsFile(const std::string &filename, bool writeable) const
Definition:
FitsFileManager.cpp:92
SourceXtractor::FitsFileManager::FitsInfo
Definition:
FitsFileManager.h:59
SourceXtractor::FitsFileManager::s_instance
static std::shared_ptr< FitsFileManager > s_instance
Definition:
FitsFileManager.h:70
SourceXtractor::FitsFileManager::closeAllFiles
void closeAllFiles()
Definition:
FitsFileManager.cpp:42
SourceXtractor::FitsFileManager
Definition:
FitsFileManager.h:37
SourceXtractor::FitsFileManager::FitsInfo::m_file_pointer
fitsfile * m_file_pointer
Definition:
FitsFileManager.h:60
SourceXtractor::FitsFileManager::closeFitsFile
void closeFitsFile(fitsfile *fptr) const
Definition:
FitsFileManager.cpp:105
SourceXtractor::FitsFileManager::FitsInfo::m_is_writeable
bool m_is_writeable
Definition:
FitsFileManager.h:62
SourceXtractor::FitsFileManager::m_fits_files
std::unordered_map< std::string, FitsInfo > m_fits_files
Definition:
FitsFileManager.h:65
std::unordered_map
STL class.
SourceXtractor::FitsFileManager::getFitsFile
fitsfile * getFitsFile(const std::string &filename, bool writeable=false)
Definition:
FitsFileManager.cpp:53
Generated by
1.8.17