SourceXtractorPlusPlus
0.12
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 <vector>
31
#include <unordered_map>
32
33
#include <fitsio.h>
34
35
namespace
SourceXtractor
{
36
37
class
FitsFile;
38
39
class
FitsFileManager
:
public
std::enable_shared_from_this
<FitsFileManager> {
40
public
:
41
42
FitsFileManager
(
unsigned
int
max_open_files = 500);
43
virtual
~FitsFileManager
();
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
std::shared_ptr<FitsFile>
getFitsFile
(
const
std::string
&
filename
,
bool
writeable=
false
);
55
56
private
:
57
std::unordered_map<std::string, std::shared_ptr<FitsFile>
>
m_fits_files
;
58
59
unsigned
int
m_max_open_files
;
60
std::list<std::string>
m_open_files
;
61
62
static
std::shared_ptr<FitsFileManager>
s_instance
;
63
64
void
closeExtraFiles
();
65
};
66
67
}
68
69
#endif
/* _SEFRAMEWORK_FITS_FITSFILEMANAGER_H_ */
std::shared_ptr
SourceXtractor::FitsFileManager::getInstance
static std::shared_ptr< FitsFileManager > getInstance()
Definition:
FitsFileManager.h:47
SourceXtractor::FitsFileManager::getFitsFile
std::shared_ptr< FitsFile > getFitsFile(const std::string &filename, bool writeable=false)
Definition:
FitsFileManager.cpp:50
SourceXtractor::FitsFileManager::m_max_open_files
unsigned int m_max_open_files
Definition:
FitsFileManager.h:59
SourceXtractor::FitsFileManager::s_instance
static std::shared_ptr< FitsFileManager > s_instance
Definition:
FitsFileManager.h:62
std::string
STL class.
SourceXtractor
Definition:
Aperture.h:30
conf.filename
string filename
Definition:
conf.py:63
std::list< std::string >
SourceXtractor::FitsFileManager::m_open_files
std::list< std::string > m_open_files
Definition:
FitsFileManager.h:60
SourceXtractor::FitsFileManager::closeExtraFiles
void closeExtraFiles()
Definition:
FitsFileManager.cpp:66
std::enable_shared_from_this
SourceXtractor::FitsFileManager::~FitsFileManager
virtual ~FitsFileManager()
Definition:
FitsFileManager.cpp:40
SourceXtractor::FitsFileManager
Definition:
FitsFileManager.h:39
SourceXtractor::FitsFileManager::FitsFileManager
FitsFileManager(unsigned int max_open_files=500)
Definition:
FitsFileManager.cpp:37
SourceXtractor::FitsFileManager::m_fits_files
std::unordered_map< std::string, std::shared_ptr< FitsFile > > m_fits_files
Definition:
FitsFileManager.h:57
SourceXtractor::FitsFileManager::closeAllFiles
void closeAllFiles()
Definition:
FitsFileManager.cpp:44
std::unordered_map
STL class.
Generated by
1.8.14