Analysis Software
Documentation for
sPHENIX
simulation software
Home page
Related Pages
Modules
Namespaces
Classes
Files
Examples
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
Fun4AllFileOutStream.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file Fun4AllFileOutStream.h
1
// Tell emacs that this is a C++ source
2
// -*- C++ -*-.
3
#ifndef FUN4ALLRAW_FUN4ALLFILEOUTSTREAM_H
4
#define FUN4ALLRAW_FUN4ALLFILEOUTSTREAM_H
5
6
#include "
Fun4AllEventOutStream.h
"
7
8
#include <Event/phenixTypes.h>
9
10
#include <iostream>
11
#include <string>
12
13
class
Event
;
14
class
oBuffer
;
15
16
class
Fun4AllFileOutStream
:
public
Fun4AllEventOutStream
17
{
18
public
:
19
static
const
unsigned
int
LENGTH
= (4 * 1024 * 1024);
20
Fun4AllFileOutStream
(
const
std::string
&frule =
"OUTDATA-%010d-%04d.PRDFF"
,
const
std::string
&
name
=
"FILEOUTSTREAM"
);
21
virtual
~Fun4AllFileOutStream
();
22
int
WriteEventOut
(
Event
*evt)
override
;
23
int
CloseOutStream
()
override
;
24
void
identify
(std::ostream &
os
= std::cout)
const
;
25
oBuffer
*
GetoBuffer
() {
return
m_ob
; }
26
void
SetoBuffer
(
oBuffer
*bf) {
m_ob
= bf; }
27
uint64_t
MaxSize
()
const
{
return
m_MaxSize
; }
28
void
DeleteoBuffer
();
29
std::string
FileRule
()
const
{
return
m_FileRule
; }
30
int
iSeq
()
const
{
return
m_iSeq
; }
31
void
iSeq
(
const
int
i
) {
m_iSeq
=
i
; }
32
uint64_t
BytesWritten
()
const
{
return
m_BytesWritten
; }
33
void
BytesWritten
(
const
uint64_t
i
) {
m_BytesWritten
=
i
; }
34
int
OutFileDescriptor
()
const
{
return
m_OutFileDesc
; }
35
void
OutFileDescriptor
(
const
int
i
) {
m_OutFileDesc
=
i
; }
36
PHDWORD
*
xb
() {
return
m_xb
; }
37
void
SetNEvents
(
unsigned
int
i
) {
m_nEvents
=
i
;}
38
unsigned
int
GetNEvents
()
const
{
return
m_nEvents
;}
39
40
private
:
41
std::string
m_FileRule
;
42
oBuffer
*
m_ob
{
nullptr
};
43
int
m_iSeq
{0};
44
PHDWORD
m_xb
[
LENGTH
]{};
45
int
m_OutFileDesc
{-1};
46
unsigned
int
m_nEvents
{0};
47
uint64_t
m_BytesWritten
{0};
48
uint64_t
m_MaxSize
{100000000000LL};
// 100GB
49
};
50
51
#endif
coresoftware
blob
master
offline
framework
fun4allraw
Fun4AllFileOutStream.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:04
using
1.8.2 with
sPHENIX GitHub integration