CGEM BOSS
6.6.5.h
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
36
private
:
37
38
raw_ifstream
(
const
std::vector<std::string>& fnames);
39
virtual
~raw_ifstream
();
40
41
void
init_fstream();
42
43
raw_ifstream
();
//stop default
44
45
46
private
:
47
48
bool
m_isOpen;
49
50
FileStartRecord
m_fileStartRecord;
51
FileNameStrings
m_fileNameStrings;
52
RunParametersRecord
m_runParametersRecord;
53
54
std::vector<std::string> m_fnames;
55
std::vector<std::string>::iterator m_curFile;
56
57
static
int
_nHandler;
58
static
raw_ifstream
* _instance;
59
static
pthread_mutex_t _pthread_lock;
60
};
61
62
#endif
RawFileUtil.h
private
#define private
Definition
RootEventData_rootcint.cxx:11
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:57
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:26
raw_ifstream::instance
static raw_ifstream * instance(const std::vector< std::string > &fnames)
Definition
raw_ifstream.cxx:11
raw_ifstream::runNo
uint32_t runNo()
Definition
raw_ifstream.cxx:71
raw_ifstream::currentFile
std::string currentFile() const
Definition
raw_ifstream.h:29
6.6.5.h
Event
RawFile
RawFile-00-00-10
RawFile
raw_ifstream.h
Generated by
1.12.0