IOPool
Streamer
src
StreamerFileIO.cc
Go to the documentation of this file.
1
#include "
IOPool/Streamer/interface/StreamerFileIO.h
"
2
#include <fstream>
3
#include <iostream>
4
#include "
FWCore/Utilities/interface/Adler32Calculator.h
"
5
#include "
FWCore/Utilities/interface/Exception.h
"
6
7
OutputFile::OutputFile
(
const
std::string
&
name
)
8
: current_offset_(1),
9
do_adler_(
false
),
10
adlera_(1),
11
adlerb_(0),
12
ost_(new
std
::ofstream(
name
.c_str(),
std
::ios_base::binary |
std
::ios_base::
out
)),
13
filename_(
name
) {
14
if
(!
ost_
->is_open()) {
15
throw
cms::Exception
(
"OutputFile"
,
"OutputFile"
) <<
"Error Opening Output File: "
<<
name
<<
"\n"
;
16
}
17
ost_
->rdbuf()->pubsetbuf(
nullptr
, 0);
18
}
19
20
OutputFile::~OutputFile
() {
ost_
->close(); }
21
22
bool
OutputFile::write
(
const
char
* ptr,
size_t
n
) {
23
ost_
->write(ptr,
n
);
24
if
(!
ost_
->fail()) {
25
current_offset_
+= (
uint64
)(
n
);
26
if
(
do_adler_
)
27
cms::Adler32
(ptr,
n
,
adlera_
,
adlerb_
);
28
return
false
;
29
}
30
return
true
;
31
}
32
33
void
OutputFile::close
() {
ost_
->close(); }
OutputFile::~OutputFile
~OutputFile()
Definition:
StreamerFileIO.cc:20
OutputFile::adlera_
uint32 adlera_
Definition:
StreamerFileIO.h:43
funct::false
false
Definition:
Factorize.h:29
dqmiodumpmetadata.n
n
Definition:
dqmiodumpmetadata.py:28
OutputFile::OutputFile
OutputFile(const std::string &name)
Definition:
StreamerFileIO.cc:7
OutputFile::do_adler_
bool do_adler_
Definition:
StreamerFileIO.h:42
StreamerFileIO.h
OutputFile::write
bool write(const char *ptr, size_t n)
Definition:
StreamerFileIO.cc:22
cms::Adler32
void Adler32(char const *data, size_t len, uint32_t &a, uint32_t &b)
Definition:
Adler32Calculator.cc:10
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
OutputFile::current_offset_
uint64 current_offset_
Definition:
StreamerFileIO.h:40
std
Definition:
JetResolutionObject.h:76
OutputFile::ost_
edm::propagate_const< std::shared_ptr< std::ofstream > > ost_
Definition:
StreamerFileIO.h:46
Exception
Definition:
hltDiff.cc:245
uint64
unsigned long long uint64
Definition:
MsgTools.h:14
Adler32Calculator.h
Skims_PA_cff.name
name
Definition:
Skims_PA_cff.py:17
Exception.h
MillePedeFileConverter_cfg.out
out
Definition:
MillePedeFileConverter_cfg.py:31
OutputFile::close
void close()
Definition:
StreamerFileIO.cc:33
OutputFile::adlerb_
uint32 adlerb_
Definition:
StreamerFileIO.h:44
Generated for CMSSW Reference Manual by
1.8.16