EIC Software
Reference for
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
beambeamsystem.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file beambeamsystem.h
1
2
//
3
// Copyright 2010
4
//
5
// This file is part of starlight.
6
//
7
// starlight is free software: you can redistribute it and/or modify
8
// it under the terms of the GNU General Public License as published by
9
// the Free Software Foundation, either version 3 of the License, or
10
// (at your option) any later version.
11
//
12
// starlight is distributed in the hope that it will be useful,
13
// but WITHOUT ANY WARRANTY; without even the implied warranty of
14
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
// GNU General Public License for more details.
16
//
17
// You should have received a copy of the GNU General Public License
18
// along with starlight. If not, see <http://www.gnu.org/licenses/>.
19
//
21
//
22
// File and Version Information:
23
// $Rev:: 213 $: revision of last commit
24
// $Author:: butter $: author of last commit
25
// $Date:: 2015-08-15 22:08:02 +0100 #$: date of last commit
26
//
27
// Description:
28
// this class covers a coliding beam system SK
29
//
30
//
31
//
33
34
35
#ifndef BEAMBEAMSYSTEM_H
36
#define BEAMBEAMSYSTEM_H
37
38
39
#include "
nucleus.h
"
40
#include "
beam.h
"
41
#include <vector>
42
#include "
inputParameters.h
"
43
44
class
beamBeamSystem
45
{
46
47
public
:
48
49
beamBeamSystem
(
const
inputParameters
& input,
50
const
beam
&
electronBeam
,
51
const
beam
&
targetBeam
);
52
beamBeamSystem
(
const
inputParameters
& input);
53
~beamBeamSystem
();
54
55
const
beam
&
electronBeam
()
const
{
return
_electronBeam
; }
56
const
beam
&
targetBeam
()
const
{
return
_targetBeam
; }
57
58
double
probabilityOfBreakup
(
const
double
D)
const
;
59
60
double
cmsBoost
()
const
{
return
_cmsBoost
; }
61
62
double
beamLorentzGamma
()
const
{
return
_beamLorentzGamma
; }
63
64
void
init
();
65
66
private
:
67
void
generateBreakupProbabilities
();
68
double
probabilityOfHadronBreakup
(
const
double
impactparameter);
69
double
probabilityOfPhotonBreakup
(
const
double
impactparameter,
const
int
mode);
70
71
double
_pHadronBreakup
;
72
double
_pPhotonBreakup
;
73
74
double
_beamLorentzGamma
;
75
const
double
_electronBeamLorentzGamma
;
76
const
double
_targetBeamLorentzGamma
;
77
const
int
_beamBreakupMode
;
78
79
80
81
82
83
84
85
beam
_electronBeam
;
86
beam
_targetBeam
;
87
88
double
_cmsBoost
;
89
90
std::vector<double>
_breakupProbabilities
;
91
// double _breakupImpactParameterStep; ///< Step size in the calculation of the breakup probs
92
// double _breakupCutOff; ///< Cut off for minimum impact parameter probability
93
};
94
95
96
#endif // BEAMBEAMSYSTEM_H
estarlight
blob
master
include
beambeamsystem.h
Built by
Jin Huang
. updated:
Mon Jan 22 2024 12:43:38
using
1.8.2 with
EIC GitHub integration