IAP GITLAB
Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
corsika
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Issue analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Air Shower Physics
corsika
Commits
75d99e4b
Commit
75d99e4b
authored
4 years ago
by
Maximilian Reininghaus
Committed by
ralfulrich
4 years ago
Browse files
Options
Downloads
Patches
Plain Diff
seemingly working CONEX source feed
parent
0cf0f66c
No related branches found
No related tags found
2 merge requests
!234
WIP: Initial example of python as script language from C++
,
!232
Conex EM
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
Processes/CONEXSourceCut/CONEXSourceCut.cc
+78
-80
78 additions, 80 deletions
Processes/CONEXSourceCut/CONEXSourceCut.cc
Processes/CONEXSourceCut/CONEXSourceCut.h
+8
-2
8 additions, 2 deletions
Processes/CONEXSourceCut/CONEXSourceCut.h
with
86 additions
and
82 deletions
Processes/CONEXSourceCut/CONEXSourceCut.cc
+
78
−
80
View file @
75d99e4b
...
@@ -9,9 +9,11 @@
...
@@ -9,9 +9,11 @@
*/
*/
#include
<corsika/process/conex_source_cut/CONEXSourceCut.h>
#include
<corsika/process/conex_source_cut/CONEXSourceCut.h>
#include
<corsika/process/conex_source_cut/CONEX_f.h>
#include
<corsika/random/RNGManager.h>
#include
<corsika/random/RNGManager.h>
#include
<corsika/units/PhysicalConstants.h>
#include
<corsika/units/PhysicalConstants.h>
#include
<algorithm>
#include
<algorithm>
#include
<fstream>
#include
<iomanip>
#include
<iomanip>
#include
<utility>
#include
<utility>
...
@@ -23,7 +25,6 @@ using namespace corsika::setup;
...
@@ -23,7 +25,6 @@ using namespace corsika::setup;
corsika
::
process
::
EProcessReturn
CONEXSourceCut
::
DoSecondaries
(
corsika
::
process
::
EProcessReturn
CONEXSourceCut
::
DoSecondaries
(
corsika
::
setup
::
StackView
&
vS
)
{
corsika
::
setup
::
StackView
&
vS
)
{
auto
p
=
vS
.
begin
();
auto
p
=
vS
.
begin
();
HEPEnergyType
const
energy
=
p
.
GetEnergy
();
while
(
p
!=
vS
.
end
())
{
while
(
p
!=
vS
.
end
())
{
Code
const
pid
=
p
.
GetPID
();
Code
const
pid
=
p
.
GetPID
();
...
@@ -34,91 +35,39 @@ corsika::process::EProcessReturn CONEXSourceCut::DoSecondaries(
...
@@ -34,91 +35,39 @@ corsika::process::EProcessReturn CONEXSourceCut::DoSecondaries(
continue
;
// no EM particle
continue
;
// no EM particle
}
}
auto
const
&
position
=
p
.
GetPosition
();
auto
const
direction
=
p
.
GetMomentum
().
normalized
();
int
egs_pid
=
it
->
second
;
int
egs_pid
=
it
->
second
;
double
E
=
addParticle
(
egs_pid
,
p
.
GetEnergy
(),
p
.
GetPosition
(),
p
.
GetMomentum
().
normalized
(),
energy
/
1
_MeV
;
// total energy, TODO: check if maybe kinetic should be used
p
.
GetTime
());
auto
coords
=
position
.
GetCoordinates
(
conexObservationCS_
)
/
1
_m
;
double
x
=
coords
[
0
].
magnitude
();
double
y
=
coords
[
1
].
magnitude
();
double
altitude
=
((
position
-
center_
).
norm
()
-
conex
::
earthRadius
)
/
1
_m
;
double
slantDistance
=
(
position
-
showerAxis_
.
GetStart
()).
dot
(
showerAxis_
.
GetDirection
())
/
1
_m
;
// lateral coordinates in CONEX shower frame
auto
const
d
=
position
-
showerAxis_
.
GetStart
();
auto
const
dShowerPlane
=
d
-
d
.
parallelProjectionOnto
(
showerAxis_
.
GetDirection
());
double
lateralX
=
dShowerPlane
.
dot
(
x_sf_
)
/
1
_m
;
double
lateralY
=
dShowerPlane
.
dot
(
y_sf_
)
/
1
_m
;
double
slantX
=
showerAxis_
.
projectedX
(
position
)
*
(
1
_cm
*
1
_cm
/
1
_g
);
double
time
=
(
p
.
GetTime
()
*
units
::
constants
::
c
-
groundDist_
)
/
1
_m
;
// fill u,v,w momentum direction in EGS frame
double
u
=
direction
.
dot
(
y_sf_
).
magnitude
();
double
v
=
direction
.
dot
(
x_sf_
).
magnitude
();
double
w
=
direction
.
dot
(
showerAxis_
.
GetDirection
()).
magnitude
();
int
iri
=
2
;
// EGS medium air
double
weight
=
1
;
int
latchin
=
1
;
// generation, we don't have the actual value...
std
::
cout
<<
"CONEXSourceCut: removing "
<<
pid
<<
" "
<<
std
::
scientific
<<
energy
<<
std
::
endl
;
p
.
Delete
();
// conex_.Shower(egs_pid, E, x, y, altitude, slantDistance, lateralX, lateralY,
// slantX,
// time, u, v, w, iri, weight, latchin);
conex
::
show_
(
egs_pid
,
E
,
x
,
y
,
altitude
,
slantDistance
,
lateralX
,
lateralY
,
slantX
,
time
,
u
,
v
,
w
,
iri
,
weight
,
latchin
);
}
}
return
corsika
::
process
::
EProcessReturn
::
eOk
;
return
corsika
::
process
::
EProcessReturn
::
eOk
;
}
}
void
CONEXSourceCut
::
dummyAddPhoton
()
{
void
CONEXSourceCut
::
addParticle
(
int
egs_pid
,
HEPEnergyType
energy
,
HEPEnergyType
const
energy
=
1
_TeV
;
geometry
::
Point
const
&
position
,
geometry
::
Vector
<
dimensionless_d
>
const
&
direction
,
geometry
::
Point
position
(
center_
.
GetCoordinateSystem
(),
0
_m
,
0
_m
,
TimeType
t
)
{
20
_km
+
conex
::
earthRadius
);
std
::
cout
<<
"position conexObs: "
<<
position
.
GetCoordinates
(
conexObservationCS_
)
std
::
cout
<<
"position conexObs: "
<<
position
.
GetCoordinates
(
conexObservationCS_
)
<<
std
::
endl
;
<<
std
::
endl
;
auto
const
direction
=
showerAxis_
.
GetDirection
();
int
egs_pid
=
0
;
double
E
=
energy
/
1
_MeV
;
// total energy, TODO: check if maybe kinetic should be used
auto
coords
=
position
.
GetCoordinates
(
conexObservationCS_
)
/
1
_m
;
auto
coords
=
position
.
GetCoordinates
(
conexObservationCS_
)
/
1
_m
;
double
x
=
coords
[
0
].
magnitude
();
double
x
=
coords
[
0
].
magnitude
();
double
y
=
coords
[
1
].
magnitude
();
double
y
=
coords
[
1
].
magnitude
();
double
altitude
=
((
position
-
center_
).
norm
()
-
conex
::
earthRadius
)
/
1
_m
;
double
altitude
=
((
position
-
center_
).
norm
()
-
conex
::
earthRadius
)
/
1
_m
;
auto
const
d
=
position
-
showerCore_
;
double
slantDistance
=
// distance from core to particle projected along shower axis
(
position
-
showerAxis_
.
GetStart
())
.
dot
(
showerAxis_
.
GetDirection
())
/
1
_m
;
double
slantDistance
=
-
d
.
dot
(
showerAxis_
.
GetDirection
())
/
1
_m
;
// lateral coordinates in CONEX shower frame
// lateral coordinates in CONEX shower frame
auto
const
d
=
position
-
showerAxis_
.
GetStart
();
auto
const
dShowerPlane
=
d
-
d
.
parallelProjectionOnto
(
showerAxis_
.
GetDirection
());
auto
const
dShowerPlane
=
d
-
d
.
parallelProjectionOnto
(
showerAxis_
.
GetDirection
());
double
lateralX
=
dShowerPlane
.
dot
(
x_sf_
)
/
1
_m
;
double
lateralX
=
dShowerPlane
.
dot
(
x_sf_
)
/
1
_m
;
double
lateralY
=
dShowerPlane
.
dot
(
y_sf_
)
/
1
_m
;
double
lateralY
=
dShowerPlane
.
dot
(
y_sf_
)
/
1
_m
;
double
slantX
=
showerAxis_
.
projectedX
(
position
)
*
(
1
_cm
*
1
_cm
/
1
_g
);
double
slantX
=
showerAxis_
.
projectedX
(
position
)
*
(
1
_cm
*
1
_cm
/
1
_g
);
auto
t
=
0
_s
;
double
time
=
(
t
*
units
::
constants
::
c
-
groundDist_
)
/
1
_m
;
double
time
=
(
t
*
units
::
constants
::
c
-
groundDist_
)
/
1
_m
;
// fill u,v,w momentum direction in EGS frame
// fill u,v,w momentum direction in EGS frame
...
@@ -131,6 +80,7 @@ void CONEXSourceCut::dummyAddPhoton() {
...
@@ -131,6 +80,7 @@ void CONEXSourceCut::dummyAddPhoton() {
double
weight
=
1
;
double
weight
=
1
;
int
latchin
=
1
;
// generation, we don't have the actual value...
int
latchin
=
1
;
// generation, we don't have the actual value...
double
E
=
energy
/
1
_GeV
;
std
::
cout
<<
"CONEXSourceCut: removing "
<<
egs_pid
<<
" "
<<
std
::
scientific
<<
energy
std
::
cout
<<
"CONEXSourceCut: removing "
<<
egs_pid
<<
" "
<<
std
::
scientific
<<
energy
<<
std
::
endl
;
<<
std
::
endl
;
...
@@ -154,8 +104,23 @@ void CONEXSourceCut::dummyAddPhoton() {
...
@@ -154,8 +104,23 @@ void CONEXSourceCut::dummyAddPhoton() {
std
::
cout
<<
"v = "
<<
v
<<
std
::
endl
;
std
::
cout
<<
"v = "
<<
v
<<
std
::
endl
;
std
::
cout
<<
"w = "
<<
w
<<
std
::
endl
;
std
::
cout
<<
"w = "
<<
w
<<
std
::
endl
;
conex
::
show_
(
egs_pid
,
E
,
x
,
y
,
altitude
,
slantDistance
,
lateralX
,
lateralY
,
slantX
,
conex
::
cxoptl_
.
dptl
[
10
-
1
]
=
egs_pid
;
time
,
u
,
v
,
w
,
iri
,
weight
,
latchin
);
conex
::
cxoptl_
.
dptl
[
4
-
1
]
=
E
;
conex
::
cxoptl_
.
dptl
[
6
-
1
]
=
x
;
conex
::
cxoptl_
.
dptl
[
7
-
1
]
=
y
;
conex
::
cxoptl_
.
dptl
[
8
-
1
]
=
altitude
;
conex
::
cxoptl_
.
dptl
[
9
-
1
]
=
time
;
conex
::
cxoptl_
.
dptl
[
11
-
1
]
=
weight
;
conex
::
cxoptl_
.
dptl
[
13
-
1
]
=
slantX
;
conex
::
cxoptl_
.
dptl
[
14
-
1
]
=
lateralX
;
conex
::
cxoptl_
.
dptl
[
15
-
1
]
=
lateralY
;
conex
::
cxoptl_
.
dptl
[
16
-
1
]
=
slantDistance
;
conex
::
cxoptl_
.
dptl
[
2
-
1
]
=
u
;
conex
::
cxoptl_
.
dptl
[
1
-
1
]
=
v
;
conex
::
cxoptl_
.
dptl
[
3
-
1
]
=
w
;
int
n
=
0
,
i
=
0
;
conex
::
cegs4_
(
n
,
i
);
}
}
void
CONEXSourceCut
::
Init
()
{}
void
CONEXSourceCut
::
Init
()
{}
...
@@ -209,13 +174,18 @@ void CONEXSourceCut::SolveCE() {
...
@@ -209,13 +174,18 @@ void CONEXSourceCut::SolveCE() {
conex
::
get_shower_electron_
(
icute
,
nX
,
Electrons
[
0
]);
conex
::
get_shower_electron_
(
icute
,
nX
,
Electrons
[
0
]);
conex
::
get_shower_hadron_
(
icuth
,
nX
,
Hadrons
[
0
]);
conex
::
get_shower_hadron_
(
icuth
,
nX
,
Hadrons
[
0
]);
for
(
int
i
=
0
;
i
<
nX
;
++
i
)
{
std
::
cout
<<
X
[
i
]
<<
" "
<<
dEdX
[
i
]
<<
std
::
endl
;
}
std
::
ofstream
file
{
"conex_output.txt"
};
for
(
int
i
=
0
;
i
<
nX
;
++
i
)
{
file
<<
X
[
i
]
<<
" "
<<
N
[
i
]
<<
" "
<<
dEdX
[
i
]
<<
" "
<<
Mu
[
i
]
<<
" "
<<
dMu
[
i
]
<<
" "
<<
Gamma
[
i
]
<<
" "
<<
Electrons
[
i
]
<<
" "
<<
Hadrons
[
i
]
<<
std
::
endl
;
}
}
}
// RU: move all the non-C8 code from the following c++ function into a new file. Here we
// RU: move all the non-C8 code from the following c++ function into a new file. Here we
// only want to have a single function call to CONEX left.
// only want to have a single function call to CONEX left.
CONEXSourceCut
::
CONEXSourceCut
(
geometry
::
Point
center
,
environment
::
ShowerAxis
showerAxis
,
CONEXSourceCut
::
CONEXSourceCut
(
geometry
::
Point
center
,
environment
::
ShowerAxis
const
&
showerAxis
,
units
::
si
::
LengthType
groundDist
,
units
::
si
::
LengthType
groundDist
,
units
::
si
::
LengthType
injectionHeight
,
units
::
si
::
LengthType
injectionHeight
,
units
::
si
::
HEPEnergyType
primaryEnergy
,
units
::
si
::
HEPEnergyType
primaryEnergy
,
...
@@ -224,18 +194,28 @@ CONEXSourceCut::CONEXSourceCut(geometry::Point center, environment::ShowerAxis s
...
@@ -224,18 +194,28 @@ CONEXSourceCut::CONEXSourceCut(geometry::Point center, environment::ShowerAxis s
center_
{
center
}
center_
{
center
}
,
showerAxis_
{
showerAxis
}
,
showerAxis_
{
showerAxis
}
,
groundDist_
{
groundDist
}
,
groundDist_
{
groundDist
}
,
showerCore_
{
showerAxis_
.
GetStart
()
+
showerAxis_
.
GetDirection
()
*
groundDist_
}
,
conexObservationCS_
{
std
::
invoke
([
&
]()
{
,
conexObservationCS_
{
std
::
invoke
([
&
]()
{
auto
const
&
c8cs
=
center
.
GetCoordinateSystem
();
auto
const
&
c8cs
=
center
.
GetCoordinateSystem
();
auto
const
showerCore
=
auto
const
translation
=
showerCore_
-
center
;
showerAxis
.
GetStart
()
+
showerAxis
.
GetDirection
()
*
groundDist
;
auto
const
translation
=
showerCore
-
center
;
auto
const
intermediateCS
=
c8cs
.
translate
(
translation
.
GetComponents
(
c8cs
));
auto
const
intermediateCS
=
c8cs
.
translate
(
translation
.
GetComponents
(
c8cs
));
auto
const
intermediateCS2
=
intermediateCS
.
RotateToZ
(
translation
);
auto
const
intermediateCS2
=
intermediateCS
.
RotateToZ
(
translation
);
std
::
cout
<<
"translation C8/CONEX obs: "
<<
translation
.
norm
()
<<
std
::
endl
;
std
::
cout
<<
"translation C8/CONEX obs: "
<<
translation
.
GetComponents
()
<<
std
::
endl
;
auto
const
transform
=
geometry
::
CoordinateSystem
::
GetTransformation
(
auto
const
transform
=
geometry
::
CoordinateSystem
::
GetTransformation
(
intermediateCS2
,
c8cs
);
// either this way or vice versa... TODO: test this!
intermediateCS2
,
c8cs
);
// either this way or vice versa... TODO: test this!
std
::
cout
<<
transform
.
matrix
()
<<
std
::
endl
<<
std
::
endl
;
std
::
cout
<<
geometry
::
CoordinateSystem
::
GetTransformation
(
intermediateCS
,
c8cs
).
matrix
()
<<
std
::
endl
<<
std
::
endl
;
std
::
cout
<<
geometry
::
CoordinateSystem
::
GetTransformation
(
intermediateCS2
,
intermediateCS
)
.
matrix
()
<<
std
::
endl
;
return
geometry
::
CoordinateSystem
(
c8cs
,
transform
);
return
geometry
::
CoordinateSystem
(
c8cs
,
transform
);
})}
})}
,
x_sf_
{
std
::
invoke
([
&
]()
{
,
x_sf_
{
std
::
invoke
([
&
]()
{
...
@@ -246,15 +226,31 @@ CONEXSourceCut::CONEXSourceCut(geometry::Point center, environment::ShowerAxis s
...
@@ -246,15 +226,31 @@ CONEXSourceCut::CONEXSourceCut(geometry::Point center, environment::ShowerAxis s
b
=
geometry
::
Vector
<
length_d
>
{
conexObservationCS_
,
1
_m
,
0
_m
,
0
_m
};
b
=
geometry
::
Vector
<
length_d
>
{
conexObservationCS_
,
1
_m
,
0
_m
,
0
_m
};
}
}
std
::
cout
<<
"x_sf (conexObservationCS): "
<<
b
.
GetComponents
(
conexObservationCS_
)
<<
std
::
endl
;
std
::
cout
<<
"x_sf (C8): "
<<
b
.
GetComponents
(
center
.
GetCoordinateSystem
())
<<
std
::
endl
;
return
b
.
normalized
();
return
b
.
normalized
();
})}
})}
,
y_sf_
{
showerAxis_
.
GetDirection
().
cross
(
x_sf_
)}
{
,
y_sf_
{
showerAxis_
.
GetDirection
().
cross
(
x_sf_
)}
{
std
::
cout
<<
"x_sf (conexObservationCS): "
<<
x_sf_
.
GetComponents
(
conexObservationCS_
)
<<
std
::
endl
;
std
::
cout
<<
"x_sf (C8): "
<<
x_sf_
.
GetComponents
(
center
.
GetCoordinateSystem
())
<<
std
::
endl
;
std
::
cout
<<
"y_sf (conexObservationCS): "
<<
y_sf_
.
GetComponents
(
conexObservationCS_
)
<<
std
::
endl
;
std
::
cout
<<
"y_sf (C8): "
<<
y_sf_
.
GetComponents
(
center
.
GetCoordinateSystem
())
<<
std
::
endl
;
std
::
cout
<<
"showerAxisDirection (conexObservationCS): "
<<
showerAxis_
.
GetDirection
().
GetComponents
(
conexObservationCS_
)
<<
std
::
endl
;
std
::
cout
<<
"showerAxisDirection (C8): "
<<
showerAxis_
.
GetDirection
().
GetComponents
(
center
.
GetCoordinateSystem
())
<<
std
::
endl
;
std
::
cout
<<
"showerCore (conexObservationCS): "
<<
showerCore_
.
GetCoordinates
(
conexObservationCS_
)
<<
std
::
endl
;
std
::
cout
<<
"showerCore (C8): "
<<
showerCore_
.
GetCoordinates
(
center
.
GetCoordinateSystem
())
<<
std
::
endl
;
int
randomSeeds
[
3
]
=
{
1234
,
0
,
0
};
// will be overwritten later??
int
randomSeeds
[
3
]
=
{
1234
,
0
,
0
};
// will be overwritten later??
int
heModel
=
eSibyll23
;
int
heModel
=
eSibyll23
;
...
@@ -273,15 +269,17 @@ CONEXSourceCut::CONEXSourceCut(geometry::Point center, environment::ShowerAxis s
...
@@ -273,15 +269,17 @@ CONEXSourceCut::CONEXSourceCut(geometry::Point center, environment::ShowerAxis s
double
eprima
=
primaryEnergy
/
1
_GeV
;
double
eprima
=
primaryEnergy
/
1
_GeV
;
// set phi, theta
// set phi, theta
geometry
::
Vector
<
length_d
>
ez
{
conexObservationCS_
,
{
0.
_m
,
0.
_m
,
1
_m
}};
geometry
::
Vector
<
length_d
>
ez
{
conexObservationCS_
,
{
0.
_m
,
0.
_m
,
-
1
_m
}};
auto
const
c
=
showerAxis_
.
GetDirection
().
dot
(
ez
)
/
1
_m
;
auto
const
c
=
showerAxis_
.
GetDirection
().
dot
(
ez
)
/
1
_m
;
double
theta
=
180
*
(
M_PI
-
std
::
acos
(
c
))
;
double
theta
=
std
::
acos
(
c
)
*
180
/
M_PI
;
auto
const
showerAxisConex
=
auto
const
showerAxisConex
=
showerAxis_
.
GetDirection
().
GetComponents
(
conexObservationCS_
);
showerAxis_
.
GetDirection
().
GetComponents
(
conexObservationCS_
);
double
phi
=
180
*
std
::
atan2
(
-
showerAxisConex
.
GetY
().
magnitude
(),
double
phi
=
std
::
atan2
(
-
showerAxisConex
.
GetY
().
magnitude
(),
showerAxisConex
.
GetX
().
magnitude
());
showerAxisConex
.
GetX
().
magnitude
())
*
// double XmaxP_ = Xcut / (1_g / 1_cm / 1_cm);
180
/
M_PI
;
std
::
cout
<<
"theta (deg) = "
<<
theta
<<
"; phi (deg) = "
<<
phi
<<
std
::
endl
;
int
ipart
=
static_cast
<
int
>
(
primaryID
);
int
ipart
=
static_cast
<
int
>
(
primaryID
);
auto
rng
=
corsika
::
random
::
RNGManager
::
GetInstance
().
GetRandomStream
(
"cascade"
);
auto
rng
=
corsika
::
random
::
RNGManager
::
GetInstance
().
GetRandomStream
(
"cascade"
);
...
...
This diff is collapsed.
Click to expand it.
Processes/CONEXSourceCut/CONEXSourceCut.h
+
8
−
2
View file @
75d99e4b
...
@@ -34,7 +34,7 @@ namespace corsika::process {
...
@@ -34,7 +34,7 @@ namespace corsika::process {
class
CONEXSourceCut
:
public
process
::
SecondariesProcess
<
CONEXSourceCut
>
{
class
CONEXSourceCut
:
public
process
::
SecondariesProcess
<
CONEXSourceCut
>
{
public:
public:
CONEXSourceCut
(
geometry
::
Point
center
,
environment
::
ShowerAxis
showerAxis
,
CONEXSourceCut
(
geometry
::
Point
center
,
environment
::
ShowerAxis
const
&
showerAxis
,
units
::
si
::
LengthType
groundDist
,
units
::
si
::
LengthType
groundDist
,
units
::
si
::
LengthType
injectionHeight
,
units
::
si
::
LengthType
injectionHeight
,
units
::
si
::
HEPEnergyType
primaryEnergy
,
units
::
si
::
HEPEnergyType
primaryEnergy
,
...
@@ -45,7 +45,12 @@ namespace corsika::process {
...
@@ -45,7 +45,12 @@ namespace corsika::process {
void
SolveCE
();
void
SolveCE
();
void
dummyAddPhoton
();
void
addParticle
(
int
egs_pid
,
units
::
si
::
HEPEnergyType
energy
,
geometry
::
Point
const
&
position
,
geometry
::
Vector
<
units
::
si
::
dimensionless_d
>
const
&
direction
,
units
::
si
::
TimeType
t
);
auto
const
&
GetObserverCS
()
const
{
return
conexObservationCS_
;
}
private
:
private
:
// ConexDynamicInterface conex_;
// ConexDynamicInterface conex_;
...
@@ -59,6 +64,7 @@ namespace corsika::process {
...
@@ -59,6 +64,7 @@ namespace corsika::process {
geometry
::
Point
const
center_
;
//!< center of CONEX Earth
geometry
::
Point
const
center_
;
//!< center of CONEX Earth
environment
::
ShowerAxis
const
&
showerAxis_
;
environment
::
ShowerAxis
const
&
showerAxis_
;
units
::
si
::
LengthType
groundDist_
;
//!< length from injection point to shower core
units
::
si
::
LengthType
groundDist_
;
//!< length from injection point to shower core
geometry
::
Point
const
showerCore_
;
//!< shower core
geometry
::
CoordinateSystem
const
conexObservationCS_
;
//!< CONEX observation frame
geometry
::
CoordinateSystem
const
conexObservationCS_
;
//!< CONEX observation frame
geometry
::
Vector
<
units
::
si
::
dimensionless_d
>
const
x_sf_
,
geometry
::
Vector
<
units
::
si
::
dimensionless_d
>
const
x_sf_
,
y_sf_
;
//!< unit vectors of CONEX shower frame, z_sf is shower axis direction
y_sf_
;
//!< unit vectors of CONEX shower frame, z_sf is shower axis direction
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment