SourceXtractorPlusPlus
0.11
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 <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.
conf.filename
string filename
Definition:
conf.py:63
std::list
STL class.
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.5