BOSS
7.1.2
BESIII Offline Software System
Loading...
Searching...
No Matches
raw_ifstream.h
Go to the documentation of this file.
1
#ifndef BESIII_RAW_IFSTREAM_H
2
#define BESIII_RAW_IFSTREAM_H
3
4
#include "
RawFile/RawFileUtil.h
"
5
#include <stdint.h>
6
#include <fstream>
7
#include <vector>
8
#include <string>
9
#include <pthread.h>
10
#include <assert.h>
11
12
13
class
raw_ifstream
:
virtual
public
std::ifstream
14
{
15
public :
16
17
static
raw_ifstream
*
instance
(
const
std::vector<std::string>& fnames);
18
static
void
release
();
19
20
static
void
lock
() {
21
int
lstat = pthread_mutex_lock( &_pthread_lock );
22
assert( lstat == 0 );
23
};
24
static
void
unlock
() {
25
int
lstat = pthread_mutex_unlock( &_pthread_lock );
26
assert( lstat == 0 );
27
};
28
29
std::string
currentFile
()
const
{
return
*m_curFile; }
30
31
void
next_file
();
32
33
uint32_t
runNo
();
34
35
raw_ifstream
(
const
std::vector<std::string>& fnames);
36
virtual
~raw_ifstream
();
37
38
private
:
39
40
void
init_fstream();
41
42
raw_ifstream
();
//stop default
43
44
45
private
:
46
47
bool
m_isOpen;
48
49
FileStartRecord
m_fileStartRecord;
50
FileNameStrings
m_fileNameStrings;
51
RunParametersRecord
m_runParametersRecord;
52
53
std::vector<std::string> m_fnames;
54
std::vector<std::string>::iterator m_curFile;
55
56
static
int
_nHandler;
57
static
raw_ifstream
* _instance;
58
static
pthread_mutex_t _pthread_lock;
59
};
60
61
#endif
private
#define private
Definition
McEventDict_dict.cpp:6
RawFileUtil.h
FileNameStrings
Definition
RawFileUtil.h:64
FileStartRecord
Definition
RawFileUtil.h:39
RunParametersRecord
Definition
RawFileUtil.h:99
raw_ifstream
Definition
raw_ifstream.h:14
raw_ifstream::next_file
void next_file()
Definition
raw_ifstream.cxx:61
raw_ifstream::unlock
static void unlock()
Definition
raw_ifstream.h:24
raw_ifstream::lock
static void lock()
Definition
raw_ifstream.h:20
raw_ifstream::release
static void release()
Definition
raw_ifstream.cxx:30
raw_ifstream::instance
static raw_ifstream * instance(const std::vector< std::string > &fnames)
Definition
raw_ifstream.cxx:15
raw_ifstream::~raw_ifstream
virtual ~raw_ifstream()
Definition
raw_ifstream.cxx:57
raw_ifstream::runNo
uint32_t runNo()
Definition
raw_ifstream.cxx:75
raw_ifstream::currentFile
std::string currentFile() const
Definition
raw_ifstream.h:29
7.1.2
Event
RawFile
RawFile-00-01-00
RawFile
raw_ifstream.h
Generated by
1.12.0