Analysis Software
Documentation for
sPHENIX
simulation software
Home page
Related Pages
Modules
Namespaces
Classes
Files
Examples
External Links
File List
File Members
Analysis Software
Deprecated List
Modules
Namespaces
Classes
Files
File List
acts
acts-fatras
analysis
analysis_tpc_prototype
coresoftware
blob
master
calibrations
generators
FermiMotionAfterburner
flowAfterburner
hijing
HIJINGFlipAfterburner
JETSCAPE
JEWEL
phhepmc
Fun4AllHepMCInputManager.cc
Fun4AllHepMCInputManager.h
Fun4AllHepMCOutputManager.cc
Fun4AllHepMCOutputManager.h
Fun4AllHepMCPileupInputManager.cc
Fun4AllHepMCPileupInputManager.h
Fun4AllOscarInputManager.cc
Fun4AllOscarInputManager.h
HepMCFlowAfterBurner.cc
HepMCFlowAfterBurner.h
PHGenIntegral.cc
PHGenIntegral.h
PHGenIntegralLinkDef.h
PHGenIntegralv1.cc
PHGenIntegralv1.h
PHGenIntegralv1LinkDef.h
PHHepMC_ioLinkDef.h
PHHepMCGenEvent.cc
PHHepMCGenEvent.h
PHHepMCGenEventLinkDef.h
PHHepMCGenEventMap.cc
PHHepMCGenEventMap.h
PHHepMCGenEventMapLinkDef.h
PHHepMCGenEventv1.cc
PHHepMCGenEventv1.h
PHHepMCGenEventv1LinkDef.h
PHHepMCGenHelper.cc
PHHepMCGenHelper.h
PHHepMCParticleSelectorDecayProductChain.cc
PHHepMCParticleSelectorDecayProductChain.h
PHPythia6
PHPythia8
PHSartre
ReactionPlaneAfterburner
sHEPGen
sHijing
offline
simulation
validation
Doxygen_Assist
g4exampledetector
GenFit
JETSCAPE
KFParticle
macros
online_distribution
OnlMon
prototype
pythia6
rcdaq
RDBC
tutorials
doxygen_mainpage.h
File Members
Examples
External Links
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
Fun4AllHepMCInputManager.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file Fun4AllHepMCInputManager.h
1
#ifndef PHHEPMC_FUN4ALLHEPMCINPUTMANAGER_H
2
#define PHHEPMC_FUN4ALLHEPMCINPUTMANAGER_H
3
4
#include "
PHHepMCGenHelper.h
"
5
6
#include <
fun4all/Fun4AllInputManager.h
>
7
#include <
fun4all/Fun4AllReturnCodes.h
>
8
9
#include <boost/iostreams/filtering_streambuf.hpp>
10
11
#include <fstream>
12
#include <string>
13
#include <vector>
14
15
class
PHCompositeNode
;
16
class
SyncObject
;
17
18
// forward declaration of classes in namespace
19
namespace
HepMC
20
{
21
class
IO_GenEvent;
22
class
GenEvent;
23
}
// namespace HepMC
24
25
class
Fun4AllHepMCInputManager
:
public
Fun4AllInputManager
,
public
PHHepMCGenHelper
26
{
27
public
:
28
Fun4AllHepMCInputManager
(
const
std::string
&
name
=
"DUMMY"
,
const
std::string
&nodename =
"DST"
,
const
std::string
&topnodename =
"TOP"
);
29
~Fun4AllHepMCInputManager
()
override
;
30
int
fileopen
(
const
std::string
&filenam)
override
;
31
// cppcheck-suppress virtualCallInConstructor
32
int
fileclose
()
override
;
33
int
run
(
const
int
nevents
= 0)
override
;
34
int
ResetEvent
()
override
;
35
void
ReadOscar
(
const
int
i
) {
m_ReadOscarFlag
=
i
; }
36
int
ReadOscar
()
const
{
return
m_ReadOscarFlag
; }
37
void
Print
(
const
std::string
&what =
"ALL"
)
const override
;
38
int
PushBackEvents
(
const
int
i
)
override
;
39
40
// Effectivly turn off the synchronization checking
41
//
42
int
SyncIt
(
const
SyncObject
*
/*mastersync*/
)
override
{
return
Fun4AllReturnCodes::SYNC_OK
; }
43
int
GetSyncObject
(
SyncObject
**
/*mastersync*/
)
override
{
return
Fun4AllReturnCodes::SYNC_NOOBJECT
; }
44
int
NoSyncPushBackEvents
(
const
int
nevt)
override
{
return
PushBackEvents
(nevt); }
45
HepMC::GenEvent *
ConvertFromOscar
();
46
47
int
SkipForThisManager
(
const
int
nevents
)
override
{
return
PushBackEvents
(-nevents); }
48
int
MyCurrentEvent
(
const
unsigned
int
index
= 0)
const
;
49
50
protected
:
51
HepMC::GenEvent *
evt
=
nullptr
;
52
53
int
events_total
= 0;
54
int
events_thisfile
= 0;
55
int
m_EventPushedBackFlag
= 0;
56
57
HepMC::IO_GenEvent *
ascii_in
=
nullptr
;
58
59
std::string
m_HepMCTmpFile
;
60
61
private
:
62
PHCompositeNode
*
topNode
=
nullptr
;
63
64
// some pointers for use in decompression handling
65
std::ifstream *
filestream
=
nullptr
;
// holds compressed filestream
66
std::istream *
unzipstream
=
nullptr
;
// feed into HepMc
67
68
int
m_ReadOscarFlag
= 0;
69
70
std::vector<int>
m_MyEvent
;
71
72
boost::iostreams::filtering_streambuf<boost::iostreams::input>
zinbuffer
;
73
74
std::ifstream
theOscarFile
;
75
76
std::string
filename
;
77
std::string
topNodeName
;
78
};
79
80
#endif
/* PHHEPMC_FUN4ALLHEPMCINPUTMANAGER_H */
coresoftware
blob
master
generators
phhepmc
Fun4AllHepMCInputManager.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:03
using
1.8.2 with
sPHENIX GitHub integration