Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
nptool
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
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository 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
np
nptool
Commits
a9b32f05
Commit
a9b32f05
authored
2 months ago
by
audrey.chatillon
Browse files
Options
Downloads
Patches
Plain Diff
[Epic] Build the actinide samples in the fission chamber
parent
c48a1e69
No related branches found
Branches containing commit
No related tags found
1 merge request
!27
Draft: [Epic] Preparation of the environement for the new GaseousDetectorScorers...
Pipeline
#378552
passed
2 months ago
Stage: build-NPLib
Stage: build-NPSimulation
Stage: test
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
NPSimulation/Detectors/Epic/Epic.cc
+18
-14
18 additions, 14 deletions
NPSimulation/Detectors/Epic/Epic.cc
NPSimulation/Detectors/Epic/Epic.hh
+6
-2
6 additions, 2 deletions
NPSimulation/Detectors/Epic/Epic.hh
Projects/Epic_sim_proto/Epic.detector
+3
-0
3 additions, 0 deletions
Projects/Epic_sim_proto/Epic.detector
with
27 additions
and
16 deletions
NPSimulation/Detectors/Epic/Epic.cc
+
18
−
14
View file @
a9b32f05
...
...
@@ -128,17 +128,16 @@ void Epic::ReadConfiguration(NPL::InputParser parser){
cout
<<
endl
<<
"//// Epic "
<<
i
+
1
<<
endl
;
G4ThreeVector
Pos
=
NPS
::
ConvertVector
(
blocks
[
i
]
->
GetTVector3
(
"POS"
,
"mm"
));
string
GasMaterial
=
blocks
[
i
]
->
GetString
(
"GasMaterial"
);
double
Pressure
=
blocks
[
i
]
->
GetDouble
(
"Pressure"
,
"bar"
);
double
Distance_AK
=
blocks
[
i
]
->
GetDouble
(
"Distance_AK"
,
"mm"
);
double
InterDistance_KK
=
blocks
[
i
]
->
GetDouble
(
"InterDistance_KK"
,
"mm"
);
int
nA
=
blocks
[
i
]
->
GetInt
(
"nAnodes"
);
AddDetector
(
Pos
);
m_GasMaterial
=
GasMaterial
;
m_Pressure
=
Pressure
;
m_Distance_AK
=
Distance_AK
;
m_InterDistance_KK
=
InterDistance_KK
;
m_nA
=
nA
;
m_GasMaterial
=
blocks
[
i
]
->
GetString
(
"GasMaterial"
);
m_Pressure
=
blocks
[
i
]
->
GetDouble
(
"Pressure"
,
"bar"
);
m_Distance_AK
=
blocks
[
i
]
->
GetDouble
(
"Distance_AK"
,
"mm"
);
m_InterDistance_KK
=
blocks
[
i
]
->
GetDouble
(
"InterDistance_KK"
,
"mm"
);
m_nA
=
blocks
[
i
]
->
GetInt
(
"nAnodes"
);
m_nSamplesPerA
=
blocks
[
i
]
->
GetVectorInt
(
"nSamplesPerAnode"
);
m_SampleMaterial
=
blocks
[
i
]
->
GetVectorString
(
"SampleMaterial"
,
" "
);
m_SampleThickness
=
blocks
[
i
]
->
GetVectorDouble
(
"SampleThickness"
,
"micrometer"
);
}
else
{
cout
<<
"ERROR: check your input file formatting "
<<
endl
;
...
...
@@ -331,12 +330,13 @@ G4AssemblyVolume* Epic::BuildEpic(){
// - Anodes
// - gas volumes : active gas_AK and gas_KK
double
posZ_first_cathode
=
-
1.
*
(
double
)
m_nA
*
m_Distance_AK
*
mm
-
(
double
)
std
::
trunc
(
0.5
*
m_nA
)
*
m_InterDistance_KK
*
mm
;
int
index_K
=
0
;
// Build the first cathode and the first anode
double
sample_thickness
=
0.01
*
mm
;
// !!!!!!!!!!!!!!!!!!!! TO DO : give the proper thickness
BuildCathode
(
posZ_first_cathode
);
BuildSample
(
posZ_first_cathode
+
6
*
micrometer
+
0.5
*
s
ample
_t
hickness
,
s
ample
_t
hickness
,
"238U"
);
BuildSample
(
posZ_first_cathode
+
0.5
*
m_Thickness_K
+
0.5
*
m_S
ample
T
hickness
.
at
(
index_K
),
m_S
ample
T
hickness
.
at
(
index_K
),
m_SampleMaterial
.
at
(
index_K
)
);
BuildAnode
(
posZ_first_cathode
+
m_Distance_AK
*
mm
);
index_K
++
;
// Build the central pairs of cathodes back to back, the anodes and the gas_KK
G4Tubs
*
gas_KK_solid
=
new
G4Tubs
(
"gas_KK"
,
0
,
37.
*
mm
,
0.5
*
m_InterDistance_KK
,
0
,
360
*
deg
);
...
...
@@ -344,16 +344,20 @@ G4AssemblyVolume* Epic::BuildEpic(){
gas_KK_vol
->
SetVisAttributes
(
m_VisGasKK
);
for
(
int
i
=
1
;
i
<
m_nA
;
i
++
){
double
posZ_current_cathode
=
posZ_first_cathode
+
(
double
)
i
*
2.
*
m_Distance_AK
*
mm
+
(
double
)(
i
-
0.5
)
*
m_InterDistance_KK
*
mm
;
BuildSample
(
posZ_current_cathode
-
0.5
*
m_InterDistance_KK
*
mm
-
0.5
*
m_Thickness_K
-
0.5
*
m_SampleThickness
.
at
(
index_K
),
m_SampleThickness
.
at
(
index_K
),
m_SampleMaterial
.
at
(
index_K
));
index_K
++
;
BuildCathode
(
posZ_current_cathode
-
0.5
*
m_InterDistance_KK
*
mm
);
Tv
.
setY
(
0
);
Tv
.
setZ
(
posZ_current_cathode
);
m_EpicVolume
->
AddPlacedVolume
(
gas_KK_vol
,
Tv
,
Rv
);
BuildCathode
(
posZ_current_cathode
+
0.5
*
m_InterDistance_KK
*
mm
);
BuildSample
(
posZ_current_cathode
+
0.5
*
m_InterDistance_KK
*
mm
+
0.5
*
m_Thickness_K
+
0.5
*
m_SampleThickness
.
at
(
index_K
),
m_SampleThickness
.
at
(
index_K
),
m_SampleMaterial
.
at
(
index_K
));
index_K
++
;
BuildAnode
(
posZ_current_cathode
+
0.5
*
m_InterDistance_KK
*
mm
+
m_Distance_AK
*
mm
);
}
// Build the last cathode
BuildSample
(
posZ_first_cathode
+
(
double
)
m_nA
*
2.
*
m_Distance_AK
*
mm
+
(
double
)(
m_nA
-
1
)
*
m_InterDistance_KK
*
mm
-
6
*
micrometer
-
0.5
*
s
ample
_t
hickness
,
s
ample
_t
hickness
,
"238U"
);
BuildSample
(
posZ_first_cathode
+
(
double
)
m_nA
*
2.
*
m_Distance_AK
*
mm
+
(
double
)(
m_nA
-
1
)
*
m_InterDistance_KK
*
mm
-
0.5
*
m_Thickness_K
-
0.5
*
m_S
ample
T
hickness
.
at
(
index_K
),
m_S
ample
T
hickness
.
at
(
index_K
),
m_SampleMaterial
.
at
(
index_K
)
);
BuildCathode
(
posZ_first_cathode
+
(
double
)
m_nA
*
2.
*
m_Distance_AK
*
mm
+
(
double
)(
m_nA
-
1
)
*
m_InterDistance_KK
*
mm
);
...
...
This diff is collapsed.
Click to expand it.
NPSimulation/Detectors/Epic/Epic.hh
+
6
−
2
View file @
a9b32f05
...
...
@@ -101,13 +101,17 @@ class Epic : public NPS::VDetector{
vector
<
double
>
m_R
;
vector
<
double
>
m_Theta
;
vector
<
double
>
m_Phi
;
vector
<
string
>
m_SampleMaterial
;
string
m_GasMaterial
;
double
m_Pressure
;
int
m_nA
;
// number of anodes
double
m_Distance_AK
;
double
m_InterDistance_KK
;
int
m_nA
;
// number of anodes
double
m_Thickness_K
;
vector
<
int
>
m_nSamplesPerA
;
vector
<
string
>
m_SampleMaterial
;
vector
<
double
>
m_SampleThickness
;
// Visualisation Attribute
G4VisAttributes
*
m_VisFCWall
;
...
...
This diff is collapsed.
Click to expand it.
Projects/Epic_sim_proto/Epic.detector
+
3
−
0
View file @
a9b32f05
...
...
@@ -6,4 +6,7 @@ Epic
nAnodes= 5
Distance_AK= 2.5 mm
InterDistance_KK= 0.8 mm
Thickness_K= 12 micrometer
nSamplesPerAnode= 2 2 2 2 2
SampleMaterial= 238U 238U 235U 235U 238U 238U 235U 235U 238U 238U
SampleThickness= 10. 10. 10. 10. 10. 10. 10. 10. 10. 10. micrometer
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