ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
Fun4AllOutputManager.cc
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file Fun4AllOutputManager.cc
1
#include "
Fun4AllOutputManager.h
"
2
3
#include <iostream>
4
#include <string>
5
#include <vector>
6
7
using namespace
std;
8
9
Fun4AllOutputManager::Fun4AllOutputManager
(
const
string
&
name
)
10
:
Fun4AllBase
(name)
11
, m_NEvents(0)
12
{
13
}
14
15
Fun4AllOutputManager::Fun4AllOutputManager
(
const
string
&
name
,
const
string
&outfname)
16
:
Fun4AllBase
(name)
17
, m_NEvents(0)
18
,
m_OutFileName
(outfname)
19
{
20
}
21
22
//___________________________________________________________________
23
int
Fun4AllOutputManager::AddEventSelector
(
const
string
&recomodule)
24
{
25
string
newselector = recomodule;
26
for
(
string
evtsel :
m_EventSelectorsVector
)
27
{
28
if
(evtsel == newselector)
29
{
30
cout <<
"Event Selector "
<< newselector <<
" allready in list"
<< endl;
31
return
-1;
32
}
33
}
34
cout <<
"EventSelector: "
<< &m_EventSelectorsVector << endl;
35
m_EventSelectorsVector.push_back(newselector);
36
return
0;
37
}
38
39
//___________________________________________________________________
40
int
Fun4AllOutputManager::WriteGeneric
(
PHCompositeNode
*startNode)
41
{
42
m_NEvents
++;
43
int
iret =
Write
(startNode);
44
return
iret;
45
}
46
47
//___________________________________________________________________
48
void
Fun4AllOutputManager::Print
(
const
string
&what)
const
49
{
50
if
(what ==
"ALL"
|| what ==
"EVENTSELECTOR"
)
51
{
52
unsigned
icnt = 0;
53
for
(
string
evtsel :
m_EventSelectorsVector
)
54
{
55
cout <<
Name
() <<
": Reco Module "
<< evtsel <<
" select Events"
<< endl;
56
cout <<
Name
() <<
": Reco Module Index: "
<<
m_RecoModuleIndexVector
[icnt] << endl;
57
icnt++;
58
}
59
}
60
if
(what ==
"ALL"
|| what ==
"EVENTSWRITTEN"
)
61
{
62
cout <<
Name
() <<
" wrote "
<<
EventsWritten
() <<
" Events"
<< endl;
63
}
64
return
;
65
}
66
67
//___________________________________________________________________
68
int
Fun4AllOutputManager::DoNotWriteEvent
(vector<int> *retcodes)
const
69
{
70
int
iret = 0;
71
for
(
unsigned
int
index :
m_RecoModuleIndexVector
)
72
{
73
iret += (*retcodes)[index];
74
}
75
return
iret;
76
}
coresoftware
blob
master
offline
framework
fun4all
Fun4AllOutputManager.cc
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:24:33
using
1.8.2 with
ECCE GitHub integration