Main Page
Namespaces
Classes
Package Documentation
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
{
15
if
(!
ost_
->is_open()) {
16
throw
cms::Exception
(
"OutputFile"
,
"OutputFile"
)
17
<<
"Error Opening Output File: "
<<name<<
"\n"
;
18
}
19
ost_
->rdbuf()->pubsetbuf(
nullptr
,0);
20
}
21
22
OutputFile::~OutputFile
()
23
{
24
ost_
->close();
25
}
26
27
bool
OutputFile::write
(
const
char
*ptr,
size_t
n
)
28
{
29
ost_
->write(ptr,n);
30
if
(!
ost_
->fail()) {
31
current_offset_
+= (
uint64
)(n);
32
if
(
do_adler_
)
33
cms::Adler32
(ptr,n,
adlera_
,
adlerb_
);
34
return
false
;
35
}
36
return
true
;
37
}
38
OutputFile::current_offset_
uint64 current_offset_
Definition:
StreamerFileIO.h:39
StreamerFileIO.h
OutputFile::do_adler_
bool do_adler_
Definition:
StreamerFileIO.h:41
OutputFile::~OutputFile
~OutputFile()
Definition:
StreamerFileIO.cc:22
Exception
Definition:
hltDiff.cc:292
funct::false
false
Definition:
Factorize.h:35
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:255
std
Definition:
JetResolutionObject.h:76
OutputFile::OutputFile
OutputFile(const std::string &name)
Definition:
StreamerFileIO.cc:7
OutputFile::write
bool write(const char *ptr, size_t n)
Definition:
StreamerFileIO.cc:27
cms::Adler32
void Adler32(char const *data, size_t len, uint32_t &a, uint32_t &b)
Definition:
Adler32Calculator.cc:11
Exception.h
MillePedeFileConverter_cfg.out
out
Definition:
MillePedeFileConverter_cfg.py:31
uint64
unsigned long long uint64
Definition:
MsgTools.h:14
OutputFile::ost_
edm::propagate_const< std::shared_ptr< std::ofstream > > ost_
Definition:
StreamerFileIO.h:45
gen::n
int n
Definition:
Cascade2Hadronizer.cc:79
Adler32Calculator.h
dataset.name
name
Definition:
dataset.py:45
OutputFile::adlerb_
uint32 adlerb_
Definition:
StreamerFileIO.h:43
OutputFile::adlera_
uint32 adlera_
Definition:
StreamerFileIO.h:42
Generated for CMSSW Reference Manual by
1.8.11