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
HepMCG4PythiaInterface.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file HepMCG4PythiaInterface.hh
1
//
2
// ********************************************************************
3
// * License and Disclaimer *
4
// * *
5
// * The Geant4 software is copyright of the Copyright Holders of *
6
// * the Geant4 Collaboration. It is provided under the terms and *
7
// * conditions of the Geant4 Software License, included in the file *
8
// * LICENSE and available at http://cern.ch/geant4/license . These *
9
// * include a list of copyright holders. *
10
// * *
11
// * Neither the authors of this software system, nor their employing *
12
// * institutes,nor the agencies providing financial support for this *
13
// * work make any representation or warranty, express or implied, *
14
// * regarding this software system or assume any liability for its *
15
// * use. Please see the license in the file LICENSE and URL above *
16
// * for the full disclaimer and the limitation of liability. *
17
// * *
18
// * This code implementation is the result of the scientific and *
19
// * technical work of the GEANT4 collaboration. *
20
// * By using, copying, modifying or distributing the software (or *
21
// * any work based on the software) you agree to acknowledge its *
22
// * use in resulting scientific publications, and indicate your *
23
// * acceptance of all terms of the Geant4 Software license. *
24
// ********************************************************************
25
//
28
//
29
//
30
31
#ifndef HEPMC_G4_PYTHIA_INTERFACE_H
32
#define HEPMC_G4_PYTHIA_INTERFACE_H
33
34
#include "
HepMCG4Interface.hh
"
35
#include "HepMC/IO_HEPEVT.h"
36
37
class
HepMCG4PythiaMessenger
;
38
40
41
class
HepMCG4PythiaInterface
:
public
HepMCG4Interface
{
42
protected
:
43
G4int
verbose
;
44
G4int
mpylist
;
45
HepMC::IO_HEPEVT
hepevtio
;
46
47
HepMCG4PythiaMessenger
*
messenger
;
48
49
// In default, this is automatic conversion, Pythia->HEPEVT->HepMC,
50
// by HepMC utilities.
51
virtual
HepMC::GenEvent*
GenerateHepMCEvent
();
52
53
public
:
54
HepMCG4PythiaInterface
();
55
~HepMCG4PythiaInterface
();
56
57
// set/get methods
58
void
SetVerboseLevel
(
G4int
i);
59
G4int
GetVerboseLevel
()
const
;
60
61
void
SetPylist
(
G4int
i);
62
G4int
GetPylist
()
const
;
63
64
// call pyxxx
65
void
CallPyinit
(
G4String
frame,
G4String
beam,
G4String
target
,
66
G4double
win);
67
void
CallPystat
(
G4int
istat);
68
69
// random numbers operations
70
void
SetRandomSeed
(
G4int
iseed);
71
void
CallPygive
(
G4String
par);
72
void
CallPyrget
(
G4int
lun,
G4int
move);
73
void
CallPyrset
(
G4int
lun,
G4int
move);
74
void
PrintRandomStatus
(std::ostream& ostr=G4cout)
const
;
75
76
// setup user parameters (empty in default).
77
// Implement your parameters in a delived class if you want.
78
virtual
void
SetUserParameters
();
79
80
virtual
void
Print
()
const
;
81
};
82
83
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
84
inline
void
HepMCG4PythiaInterface::SetVerboseLevel
(
G4int
i)
85
{
86
verbose
= i;
87
}
88
89
inline
G4int
HepMCG4PythiaInterface::GetVerboseLevel
()
const
90
{
91
return
verbose
;
92
}
93
94
inline
void
HepMCG4PythiaInterface::SetPylist
(
G4int
i)
95
{
96
mpylist
= i;
97
}
98
99
inline
G4int
HepMCG4PythiaInterface::GetPylist
()
const
100
{
101
return
mpylist
;
102
}
103
104
#endif
geant4
tree
geant4-10.6-release
examples
extended
eventgenerator
HepMC
HepMCEx02
include
HepMCG4PythiaInterface.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:04
using
1.8.2 with
ECCE GitHub integration