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
G4VPolarizedCrossSection.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4VPolarizedCrossSection.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
//
26
//
27
// File name: G4VPolarizedCrossSection
28
//
29
// Author: Andreas Schaelicke
30
//
31
// Creation date: 15.05.2005
32
//
33
// Modifications:
34
//
35
// Class Description:
36
// (pure virtual) interface class
37
//
38
// provides readable but efficient routines to determine
39
// polarization for the final state of a given process
40
// empoying the differential cross section
41
//
42
43
#ifndef G4VPolarizedCrossSection_h
44
#define G4VPolarizedCrossSection_h 1
45
46
#include "
G4StokesVector.hh
"
47
48
49
class
G4VPolarizedCrossSection
50
{
51
public
:
52
G4VPolarizedCrossSection
();
53
virtual
~G4VPolarizedCrossSection
();
54
55
public
:
56
virtual
void
Initialize
(
G4double
,
G4double
,
G4double
,
57
const
G4StokesVector
& p0,
const
G4StokesVector
& p1,
58
G4int
flag=0);
59
virtual
G4double
XSection
(
const
G4StokesVector
& pol2,
const
G4StokesVector
& pol3) = 0;
60
virtual
G4double
TotalXSection
(
G4double
xmin
,
G4double
xmax
,
G4double
y
,
61
const
G4StokesVector
& pol0,
62
const
G4StokesVector
& pol1);
63
64
// return expected mean polarisation
65
virtual
G4StokesVector
GetPol2
();
66
virtual
G4StokesVector
GetPol3
();
67
68
// return basic kinematics properties
69
// minimal gamma value in TotalXSection
70
inline
G4double
GetYmin
() {
return
fYmin
; }
71
// minimal energy fraction in TotalXSection
72
virtual
G4double
GetXmin
(
G4double
y);
73
// maximal energy fraction in TotalXSection
74
virtual
G4double
GetXmax
(
G4double
y);
75
76
// return appropriate distribute polarisation states;
77
// void DicePolarization();
78
// G4StokesVector DicedPol2();
79
// G4StokesVector DicedPol3();
80
inline
void
SetMaterial
(
G4double
A
,
G4double
Z
,
G4double
coul)
81
{
theA
=
A
;
theZ
=
Z
;
fCoul
=coul; }
82
protected
:
83
// define kinematics properties
84
inline
void
SetXmin
(
G4double
xmin) {
fXmin
=
xmin
;}
85
inline
void
SetXmax
(
G4double
xmax) {
fXmax
=
xmax
;}
86
inline
void
SetYmin
(
G4double
ymin
) {
fYmin
=
ymin
;}
87
88
// kinematic properties
89
G4double
fXmin
,
fXmax
,
fYmin
;
90
// material properties
91
G4double
theA
,
theZ
;
92
G4double
fCoul
;
93
};
94
95
96
#endif
geant4
tree
geant4-10.6-release
source
processes
electromagnetic
polarisation
include
G4VPolarizedCrossSection.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:33
using
1.8.2 with
ECCE GitHub integration