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
Fun4AllHepMCPileupInputManager.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file Fun4AllHepMCPileupInputManager.h
1
#ifndef PHHEPMC_FUN4ALLHEPMCPILEUPINPUTMANAGER_H
2
#define PHHEPMC_FUN4ALLHEPMCPILEUPINPUTMANAGER_H
3
4
#include "
Fun4AllHepMCInputManager.h
"
5
6
#include <gsl/gsl_rng.h>
7
8
#include <map>
9
#include <string>
10
14
class
Fun4AllHepMCPileupInputManager
:
public
Fun4AllHepMCInputManager
15
{
16
public
:
17
Fun4AllHepMCPileupInputManager
(
const
std::string
&
name
=
"DUMMY"
,
18
const
std::string
&nodename =
"DST"
,
19
const
std::string
&topnodename =
"TOP"
);
20
~Fun4AllHepMCPileupInputManager
()
override
;
21
22
int
run
(
const
int
nevents
= 0)
override
{
return
run
(
nevents
,
false
); }
23
24
int
run
(
const
int
nevents
,
const
bool
skip
);
25
int
ResetEvent
()
override
;
27
void
set_time_window
(
double
past_nsec,
double
future_nsec)
28
{
29
_min_integration_time
= past_nsec;
30
_max_integration_time
= future_nsec;
31
}
32
34
void
set_collision_rate
(
double
Hz) {
_collision_rate
= Hz; }
36
void
set_time_between_crossings
(
double
nsec) {
_time_between_crossings
= nsec; }
37
38
int
SkipForThisManager
(
const
int
nevents
)
override
;
39
void
SignalInputManager
(
Fun4AllHepMCInputManager
*
in
) {
m_SignalInputManager
=
in
; }
40
int
PushBackEvents
(
const
int
i
)
override
;
41
42
private
:
43
int
InsertEvent
(HepMC::GenEvent *
evt
,
const
double
crossing_time);
44
45
Fun4AllHepMCInputManager
*
m_SignalInputManager
=
nullptr
;
46
gsl_rng *
RandomGenerator
=
nullptr
;
47
48
int
m_SignalEventNumber
= 0;
50
double
_min_integration_time
= -17500.0;
51
double
_max_integration_time
= 17500.0;
53
double
_collision_rate
= 100.0e3;
55
double
_time_between_crossings
= 106.0;
56
57
//derived parameters
58
double
_ave_coll_per_crossing
= 1.;
59
int
_min_crossing
= 0;
60
int
_max_crossing
= 0;
61
62
bool
_first_run
=
true
;
63
64
std::map<int, double>
m_EventNumberMap
;
65
};
66
67
#endif
/* PHHEPMC_FUN4ALLHEPMCINPUTMANAGER_H */
coresoftware
blob
master
generators
phhepmc
Fun4AllHepMCPileupInputManager.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:03
using
1.8.2 with
sPHENIX GitHub integration