Import Geant4 6.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 10:56:29 +02:00
parent 1d812b78b1
commit e083ffb441
1415 changed files with 111223 additions and 21207 deletions
@@ -0,0 +1,24 @@
# $Id: GNUmakefile,v 1.5 2004/01/30 12:11:20 guatelli Exp $
# --------------------------------------------------------------
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
# --------------------------------------------------------------
name := remsim
G4TARGET := $(name)
G4EXLIB := true
ifndef G4INSTALL
G4INSTALL = ../../..
endif
.PHONY: all
all: lib bin
include $(G4INSTALL)/config/binmake.gmk
ifdef G4ANALYSIS_USE
CPPFLAGS += `aida-config --include`
LDFLAGS += `aida-config --lib`
LOADLIBS += `aida-config --lib`
endif
+16
View File
@@ -0,0 +1,16 @@
-------------------------------------------------------------------
$Id: History,v 1.4 2004/05/22 12:57:03 guatelli Exp $
-------------------------------------------------------------------
=========================================================
Geant4 - radiprotection example
=========================================================
Category History file
---------------------
05.2005 -
05.2005 - Design iteration with Decorator Design pattern
01.2004 - S.Guatelli
First implementation
+249
View File
@@ -0,0 +1,249 @@
=========================================================
Geant4 - Radioprotection example
=========================================================
README
---------------------
0. INTRODUCTION
The Radioprotection example derives from a Geant4 application
( look www.ge.infn.it/geant4/space/remsim for more details ) whose scope
is to evaluate the dose in astronauts, in vehicle concepts and
Moon surface habitat configurations, in a defined interplanetary space
radiation environment.
1. GEOMETRY
The user can calculate the dose in the astronaut (phantom) in the
following set-ups:
- Vehicle configuration
| ||sh| | | | |
|S||ie| |SPE | | |
----> |I||ld| |she | |phantom|
beam |H||in| |lter| | |
| ||g | | | | |
--------------------------------------->
Z axis
- The SIH is the Simplified Inflatable Habitat.
- The shielding is a layer of water, its scope it to protect the astronaut
from Galactic Cosmic Rays (GCR). The user can add, delete this element
in the geometrical configuration, change its thickness through UI comands.
- The SPE shelter is a water layer (thickness = 75.cm along Z axis), its scope
it to protect the astronaut from Solar Particle Events (SPE).
The user can add, delete this element in the geometrical configuration
through UI comands.
- The phantom is the astronaut model; the energy deposit is collected in this
geometrical component. The phantom is a box of water,
it is 30. cm wide along Z axis, it is voxelised in 30 slices along Z axis.
The energy deposit of primary and secondary particles is collected in
each voxel.
- Moon Habitat configuration
_______________________________
| |
/ |Moon Surface |
/ | |
| x | _________ |
|<->|| _____ | |
---->| || |Phan | | <---shelter |
beam | || |thom | | |
| || |_____| | |
\ ||_________| |
\ | |
pyramid |
log| |
|______________________________|
------------------------------------------->
Z axis
- The astronaut/phantom is set in the astronaut habitat (shelter).
- The pyramid log is made of moon soil and protects the astronaut from
GCR and SPE. The user can add, delete this element in the geometrical
configuration, change its thickness (x) through UI comands.
- The phantom is the astronaut model; the energy deposit is collected in this
geometrical component. The phantom is a box of water,
it is 30. cm wide along Z axis, it is voxelised in 30 slices along Z axis.
The energy deposit of primary and secondary particles is collected in
each voxel.
1.1 UI
- The user can change the geometry set-up with the following UI commands:
/configuration/choose vehicle -> choose the Vehicle configuration
/configuration/choose moon -> choose the Moon Habitat configuration
The user can not switch between these two configurations interactively.
- The user can select in the vehicle configuration:
/configuration/AddShielding On -> set the shielding water layer
/configuration/AddShielding Off -> destroy the shielding water layer
/shielding/thickness 30.cm -> set the thickness of the shielding layer
/configuration/AddSPE On -> set the SPE shelter
/configuration/AddSPE Off -> destroy the SPE shelter
- The user can select in the Moon surface habitat configuration:
/configuration/AddRoof On -> set the pyramid log
/configuration/AddRoof Off -> destroy the pyramid log
/roof/thickness 1. m -> set the height (x) of the pyramid log
2. PHYSICS LIST
The user can select the physics processes to activate interactively as
shown in the macro vis.mac.
The example is provided of:
- Low Energy electromagnetic processes for photons, e-
- Standard electromagnetic processes for e+
- Low Energy or Standard electromagnetic processes with ICRU parameterisation
for p, alpha and ions
- Muon electromagnetic processes
- Decay
- Hadronic processes for p and alpha particles as primary particles.
3. PRIMARY PARTICLES
The user can select different set-ups to generate primary particles:
- "Basic": monochromatic particle beam (default configuration)
- "Interplanetary": particle beam with energy derived from a given
energy spectrum.
- "Moon": particles generated with energy derived from a given
energy spectrum; The primary vertex is generated on a given hemisphere.
The default configuration is Basic.
The energy spectrum is written is ASCII file:
first column: energy in MeV
second column: flux
The final two rows must look as follows:
-1 -1
-2 -2
The flux is used as probability of generating a particle with a particular
energy. The sum of the fluxes is normalised to 1 in the RunAction.
Examples of ASCII files --
- Galactic Cosmic Rays fluxes (envelope of CREME96 1977 and CREME86 1975 solar
minimum spectra):
p: gcrZ=1.txt
alpha: gcrZ=2.txt
carbon ion: gcrZ=6.txt
oxygen ion: gcrZ=8.txt
silicon ion: gcrZ=14.txt
iron ion: gcrZ=26.txt
- Solar Particle Events (envelope of CREME96 October 1989 and
August 1972 spectra)
p: speZ=1.txt
alpha: speZ=2.txt
3.1 UI
The user can define primary particles with the following command:
/gun/particle proton
/gun/particle alpha
/gun/particle IonC12
/gun/particle IonO16
/gun/particle IonSi28
/gun/particle IonFe52
The user can select interactively the configuration with the following
UI commands:
/gun/generator Basic
/gun/generator Interplanetary
/gun/generator Moon
In the Basic configuration, the user can change interactively the
energy of primary particles:
example: /gun/energy 1.MeV
4. STEPPING
Available UI command:
/step/hadronicVerbose On -> print the hadronic processes undertaken by
particles during the run
/step/hadronicVerbose Off -> switch off the verbose level
5. ANALYSIS
if ANALYSIS_USE = 1 in the variable environment, the output of
the simulation is remsim.hbk
The file contains histograms:
- 10 (1) Energy Deposit (MeV)in the phantom (astronaut) versus
the depth along Z axis
- 20 (1) Initial energy (MeV) of primary particles
- 30 (1) Energy Deposit (MeV) in the phantom given by secondaries
versus the depth along Z axis
- 40 (1) Initial energy (MeV) of primaries reaching the phantom
- 50 (1) Initial energy (MeV) of primaries ougoing the phantom
- 60 (1) Energy (MeV) of primaries reaching the phantom
- 70 (1) Energy (MeV) of primaries outgoing the phantom
6.SET-UP
- a standard Geant4 example GNUmakefile is provided
setup with:
compiler = gcc-3.2.3
G4SYSTEM = linux-g++
The following environment variables need to be set for the physics packages:
G4LEDATA points to low energy data base - G4EMLOW2.3
G4LEVELGAMMADATA points to PhotoEvaporation data
G4RADIOACTIVEDATA points to Radioactive Decay data
NeutronHPCrossSections points to neutron data - G4NDL3.7
Setup for analysis: AIDA 3.2.1, PI 1.2.1
Users can download the analysis tools from:
http://aida.freehep.org/
http://www.cern.ch/PI
7. HOW TO RUN THE EXAMPLE
example macros are provided:
- vehicle1.mac, vehicle2.mac are examples of simulation in the
vehicle configuration
- moon.mac is an example of simulation in the Moon habitat configuration
- batch mode:
$G4WORDIR/bin/Linux-g++/remsim vehicle1.mac
$G4WORDIR/bin/Linux-g++/remsim vehicle2.mac
$G4WORDIR/bin/Linux-g++/Brachy moon.mac
- Interative mode:
$G4WORDIR/bin/Linux-g++/remsim
-> the vis.mac is loaded automatically |
------------------------------------------------------------------------
Author : Susanna Guatelli
for comments, advices, doubts and questions: guatelli@ge.infn.it
last modified: Susanna Guatelli 27/5/2004
@@ -0,0 +1,837 @@
1.0023 4271.974565
1.0162 4268.700197
1.0304 4265.269509
1.0447 4261.725529
1.0592 4258.038604
1.0739 4254.203028
1.0888 4250.212715
1.104 4246.114704
1.1193 4242.089408
1.1349 4238.13283
1.1506 4234.294698
1.1666 4230.525274
1.1828 4226.848085
1.1993 4223.240179
1.2159 4219.744131
1.2328 4216.316672
1.25 4212.958127
1.2674 4209.687492
1.285 4206.503538
1.3028 4203.404892
1.3209 4200.373395
1.3393 4197.408985
1.3579 4194.526896
1.3768 4191.710801
1.3959 4188.974731
1.4153 4186.303331
1.435 4183.696194
1.4549 4181.165571
1.4751 4178.697732
1.4956 4176.292009
1.5164 4173.94767
1.5375 4171.664066
1.5589 4169.440467
1.5805 4167.286069
1.6025 4165.180109
1.6248 4163.131715
1.6473 4161.14881
1.6702 4159.212858
1.6934 4157.331758
1.717 4155.496796
1.7408 4153.722549
1.765 4151.993109
1.7896 4150.308072
1.8144 4148.680108
1.8397 4147.088771
1.8652 4145.552171
1.8911 4144.057187
1.9174 4142.603265
1.9441 4141.189821
1.9711 4139.821308
1.9985 4138.491791
2.0263 4137.200618
2.0544 4135.951563
2.083 4134.734649
2.1119 4133.557698
2.1413 4132.412266
2.171 4131.305422
2.2012 4130.228966
2.2318 4129.185899
2.2628 4128.175489
2.2942 4127.19698
2.3261 4126.246637
2.3585 4125.323986
2.3912 4124.433989
2.4245 4123.567851
2.4582 4122.730259
2.4923 4121.92045
2.527 4121.133144
2.5621 4120.372365
2.5977 4119.635301
2.6338 4118.921409
2.6704 4118.230144
2.7075 4117.560965
2.7451 4116.913338
2.7833 4116.285073
2.822 4115.677335
2.8612 4115.089582
2.9009 4114.521291
2.9412 4113.970551
2.9821 4113.436962
3.0236 4112.920124
3.0656 4112.420823
3.1082 4111.937414
3.1514 4111.469483
3.1952 4111.016627
3.2396 4110.578445
3.2846 4110.154543
3.3303 4109.743626
3.3765 4109.347101
3.4235 4108.962043
3.471 4108.590566
3.5193 4108.229979
3.5682 4107.881471
3.6178 4107.543993
3.6681 4107.217244
3.719 4106.901548
3.7707 4106.595366
3.8231 4106.299026
3.8762 4106.01224
3.9301 4105.734209
3.9847 4105.465085
4.0401 4105.204119
4.0963 4104.951193
4.1532 4104.706509
4.2109 4104.469392
4.2694 4104.239621
4.3288 4104.016603
4.3889 4103.800874
4.4499 4103.591501
4.5118 4103.388307
4.5745 4103.191432
4.638 4103.000668
4.7025 4102.815246
4.7678 4102.635573
4.8341 4102.460934
4.9013 4102.291436
4.9694 4102.12692
5.0385 4101.966996
5.1085 4101.811752
5.1795 4101.660822
5.2515 4101.514072
5.3244 4101.371569
5.3984 4101.232796
5.4735 4101.097644
5.5495 4100.966347
5.6266 4100.838439
5.7048 4100.713818
5.7841 4100.592383
5.8645 4100.47403
5.946 4100.358659
6.0286 4100.246172
6.1124 4100.136339
6.1974 4100.029078
6.2835 4099.924429
6.3708 4099.822186
6.4594 4099.722158
6.5491 4099.624488
6.6401 4099.528883
6.7324 4099.435274
6.826 4099.343594
6.9209 4099.253776
7.017 4099.165848
7.1146 4099.079473
7.2134 4098.994859
7.3137 4098.911688
7.4153 4098.83007
7.5184 4098.749792
7.6229 4098.67088
7.7288 4098.59328
7.8362 4098.516871
7.9451 4098.441605
8.0555 4098.367435
8.1675 4098.294251
8.281 4098.222019
8.3961 4098.150631
8.5128 4098.080106
8.6311 4098.010401
8.751 4097.941477
8.8726 4097.873239
8.9959 4097.80565
9.1209 4097.738674
9.2477 4097.672223
9.3762 4097.606314
9.5065 4097.540864
9.6386 4097.475837
9.7726 4097.411154
9.9084 4097.34683
10.046 4097.282833
10.186 4097.218856
10.327 4097.155506
10.471 4097.091853
10.616 4097.028753
10.764 4096.965306
10.913 4096.902339
11.065 4096.838978
11.219 4096.775614
11.375 4096.712219
11.533 4096.648761
11.693 4096.58521
11.856 4096.521143
12.02 4096.457315
12.187 4096.392916
12.357 4096.327922
12.529 4096.262688
12.703 4096.197181
12.879 4096.13137
13.058 4096.064849
13.24 4095.997592
13.424 4095.929936
13.61 4095.861847
13.799 4095.792928
13.991 4095.723146
14.186 4095.65247
14.383 4095.581228
14.583 4095.509022
14.785 4095.436178
14.991 4095.36194
15.199 4095.286989
15.41 4095.210929
15.625 4095.133361
15.842 4095.054965
16.062 4094.975339
16.285 4094.894442
16.511 4094.81223
16.741 4094.728297
16.973 4094.643325
17.209 4094.556535
17.449 4094.467877
17.691 4094.37804
17.937 4094.286234
18.186 4094.192778
18.439 4094.097241
18.695 4093.99962
18.955 4093.899464
19.218 4093.797423
19.485 4093.693049
19.756 4093.586276
20.031 4093.477037
20.309 4093.365663
20.591 4093.251687
20.878 4093.134628
21.168 4093.015228
21.462 4092.893001
21.76 4092.767871
22.063 4092.639333
22.369 4092.508154
22.68 4092.373391
22.995 4092.235389
23.315 4092.093615
23.639 4091.948416
23.967 4091.799703
24.3 4091.646924
24.638 4091.489968
24.981 4091.328729
25.328 4091.16357
25.68 4090.993906
26.037 4090.819622
26.398 4090.641093
26.765 4090.457208
27.137 4090.268336
27.514 4090.074353
27.897 4089.874607
28.284 4089.670008
28.678 4089.458834
29.076 4089.242548
29.48 4089.019923
29.89 4088.790805
30.305 4088.555599
30.726 4088.313587
31.153 4088.064605
31.586 4087.808485
32.025 4087.545054
32.47 4087.274144
32.922 4086.994962
33.379 4086.708563
33.843 4086.413517
34.313 4086.11027
34.79 4085.79798
35.274 4085.476441
35.764 4085.146117
36.261 4084.806133
36.765 4084.456275
37.276 4084.096325
37.794 4083.726065
38.319 4083.345273
38.852 4082.952989
39.392 4082.549708
39.939 4082.135205
40.494 4081.708481
41.057 4081.269283
41.628 4080.817353
42.206 4080.353233
42.793 4079.875055
43.387 4079.384183
43.99 4078.878696
44.602 4078.358302
45.221 4077.824436
45.85 4077.274227
46.487 4076.708131
47.133 4076.124932
47.788 4075.525311
48.452 4074.90896
49.126 4074.274634
49.808 4073.623912
50.501 4072.953609
51.202 4072.266302
51.914 4071.558728
52.635 4070.832537
53.367 4070.085372
54.109 4069.317902
54.861 4068.529788
55.623 4067.720687
56.396 4066.889181
57.18 4066.034901
57.974 4065.158585
58.78 4064.257653
59.597 4063.332835
60.425 4062.383777
61.265 4061.408938
62.116 4060.4091
62.98 4059.381519
63.855 4058.328126
64.742 4057.247383
65.642 4056.137656
66.554 4054.999761
67.479 4053.832082
68.417 4052.634132
69.368 4051.405526
70.332 4050.145879
71.309 4048.854752
72.3 4047.530364
73.305 4046.1723
74.324 4044.780142
75.357 4043.353415
76.404 4041.891698
77.466 4040.393163
78.543 4038.857361
79.634 4037.285284
80.741 4035.673603
81.863 4034.023374
83.001 4032.332664
84.154 4030.602432
85.324 4028.829265
86.509 4027.015717
87.712 4025.156706
88.931 4023.254886
90.166 4021.309854
91.42 4019.316439
92.69 4017.278896
93.978 4015.193514
95.284 4013.05984
96.608 4010.877421
97.951 4008.644147
99.312 4006.361219
100.69 4004.029808
102.09 4001.640971
103.51 3999.197676
104.95 3996.699434
106.41 3994.145759
107.89 3991.536168
109.39 3988.87018
110.91 3986.147408
112.45 3983.367381
114.01 3980.529632
115.59 3977.633788
117.2 3974.660927
118.83 3971.628923
120.48 3968.537421
122.16 3965.367203
123.85 3962.155569
125.57 3958.864177
127.32 3955.492434
129.09 3952.059055
130.88 3948.563619
132.7 3944.984693
134.55 3941.321777
136.42 3937.595605
138.31 3933.805891
140.23 3929.932176
142.18 3925.973827
144.16 3921.930444
146.16 3917.822069
148.19 3913.62779
150.25 3909.347125
152.34 3904.979605
154.46 3900.524769
156.6 3896.003297
158.78 3891.372617
160.99 3886.65356
163.23 3881.845714
165.49 3876.97025
167.79 3871.983764
170.13 3866.885799
172.49 3861.7197
174.89 3856.441338
177.32 3851.072404
179.78 3845.612859
182.28 3840.040246
184.81 3834.376468
187.38 3828.598909
189.99 3822.707415
192.63 3816.724521
195.3 3810.650305
198.02 3804.439035
200.77 3798.136331
203.56 3791.719331
206.39 3785.188037
209.26 3778.542481
212.16 3771.805947
215.11 3764.932233
218.1 3757.944686
221.13 3750.843623
224.21 3743.6059
227.32 3736.278725
230.48 3728.815397
233.69 3721.21626
236.93 3713.529149
240.23 3705.683366
243.56 3697.75094
246.95 3689.660968
250.38 3681.461733
253.86 3673.130169
257.39 3664.666924
260.97 3656.073098
264.59 3647.373469
268.27 3638.520759
272 3629.540262
275.78 3620.43308
279.61 3611.200147
283.5 3601.818546
287.44 3592.313867
291.43 3582.687424
295.48 3572.916222
299.59 3563.001679
303.75 3552.969631
307.97 3542.7975
312.25 3532.486895
316.59 3522.039484
320.99 3511.457
325.45 3500.741237
329.98 3489.870052
334.56 3478.893624
339.21 3467.766011
343.92 3456.512962
348.7 3445.112734
353.55 3433.567587
358.46 3421.903612
363.45 3410.075703
368.5 3398.133741
373.62 3386.056275
378.81 3373.845918
384.07 3361.505353
389.41 3349.013638
394.82 3336.397058
400.31 3323.634949
405.87 3310.753597
411.51 3297.732627
417.23 3284.574983
423.03 3271.283674
428.91 3257.861442
434.87 3244.311769
440.92 3230.615583
447.04 3216.821455
453.26 3202.864879
459.56 3188.794364
465.94 3174.613411
472.42 3160.280979
478.98 3145.844781
485.64 3131.264725
492.39 3116.566432
499.23 3101.753574
506.17 3086.808752
513.2 3071.757434
520.34 3056.560515
527.57 3041.264746
534.9 3025.853091
542.33 3010.32987
549.87 2994.678715
557.51 2978.924099
565.26 2963.050046
573.11 2947.081752
581.08 2930.982552
589.16 2914.777304
597.34 2898.490964
605.64 2882.087882
614.06 2865.573041
622.6 2848.95149
631.25 2832.24715
640.02 2815.445716
648.91 2798.551893
657.93 2781.552102
667.08 2764.451461
676.35 2747.273132
685.75 2730.004157
695.28 2712.649789
704.94 2695.214768
714.74 2677.687101
724.67 2660.089651
734.74 2642.409702
744.95 2624.653032
755.3 2606.824872
765.8 2588.914025
776.44 2570.943011
787.23 2552.900432
798.17 2534.79197
809.27 2516.606951
820.51 2498.383876
831.92 2480.079383
843.48 2461.731669
855.2 2443.33083
867.09 2424.866819
879.14 2406.360821
891.35 2387.81902
903.74 2369.216891
916.3 2350.575464
929.03 2331.901318
941.95 2313.17058
955.04 2294.418435
968.31 2275.636575
981.77 2256.817207
995.41 2237.980674
1009.2 2219.173286
1023.3 2200.18471
1037.5 2181.303964
1051.9 2162.40238
1066.5 2143.486766
1081.3 2124.56393
1096.4 2105.513657
1111.6 2086.593305
1127.1 2067.560661
1142.7 2048.66715
1158.6 2029.675435
1174.7 2010.713297
1191 1991.786471
1207.6 1972.785144
1224.4 1953.830678
1241.4 1934.928663
1258.6 1916.084257
1276.1 1897.19453
1293.9 1878.267661
1311.8 1859.52121
1330.1 1840.647212
1348.6 1821.859685
1367.3 1803.163131
1386.3 1784.463573
1405.6 1765.768391
1425.1 1747.179972
1444.9 1728.607394
1465 1710.057607
1485.3 1691.629297
1506 1673.147571
1526.9 1654.79745
1548.1 1636.495993
1569.7 1618.16457
1591.5 1599.978917
1613.6 1581.860056
1636 1563.81363
1658.7 1545.845167
1681.8 1527.882312
1705.2 1510.009498
1728.9 1492.231743
1752.9 1474.553805
1777.3 1456.908274
1802 1439.373299
1827 1421.953243
1852.4 1404.5841
1878.1 1387.339497
1904.2 1370.15756
1930.7 1353.044629
1957.5 1336.070051
1984.7 1319.175098
2012.3 1302.365435
2040.3 1285.646551
2068.6 1269.082285
2097.4 1252.560704
2126.5 1236.201339
2156.1 1219.896519
2186.1 1203.707049
2216.4 1187.690022
2247.2 1171.743938
2278.5 1155.874823
2310.1 1140.187935
2342.2 1124.587656
2374.8 1109.079168
2407.8 1093.714351
2441.3 1078.450746
2475.2 1063.337821
2509.6 1048.334691
2544.5 1033.445609
2579.8 1018.716526
2615.7 1004.067988
2652 989.5853955
2688.9 975.1925044
2726.2 960.9706671
2764.1 946.8469479
2802.5 932.8625799
2841.5 918.9846444
2881 905.2522126
2921 891.6679526
2961.6 878.2009225
3002.8 864.8546872
3044.5 851.6641849
3086.8 838.6003269
3129.7 825.6664166
3173.2 812.8652693
3217.3 800.1994516
3262 787.671282
3307.4 775.255744
3353.3 763.0098879
3399.9 750.8824709
3447.2 738.8764065
3495.1 727.0190849
3543.6 715.3121912
3592.9 703.709843
3642.8 692.2612485
3693.5 680.9229667
3744.8 669.7416444
3796.8 658.6965844
3849.6 647.768806
3903.1 636.9807048
3957.3 626.3334942
4012.3 615.809643
4068.1 605.4112153
4124.6 595.1578355
4181.9 585.0324098
4240.1 575.0193471
4299 565.1544217
4358.7 555.4215456
4419.3 545.8060679
4480.7 536.3252632
4543 526.9644857
4606.1 517.7396601
4670.1 508.6375481
4735.1 499.6454968
4800.9 490.7917285
4867.6 482.063083
4935.2 473.4603746
5003.8 464.9722051
5073.3 456.6116504
5143.9 448.3554393
5215.3 440.2390711
5287.8 432.228818
5361.3 424.3368033
5435.8 416.8606235
5511.4 410.2626016
5588 403.7605622
5665.6 397.3543764
5744.3 391.0359003
5824.2 384.7977725
5905.1 378.6558272
5987.2 372.5949741
6070.4 366.6229022
6154.8 360.7326192
6240.3 354.9311892
6327 349.2118053
6414.9 343.5746301
6504.1 338.0135754
6594.5 332.5350961
6686.1 327.1390517
6779 321.8195713
6873.3 316.5713392
6968.8 311.4055587
7065.6 306.316565
7163.8 301.2992149
7263.4 296.3537486
7364.3 291.4850651
7466.7 286.6835642
7570.4 281.9585965
7675.6 277.3009319
7782.3 272.7107586
7890.5 268.1881736
8000.1 263.7371925
8111.3 259.349626
8224 255.0294526
8338.3 250.7727892
8454.2 246.5796739
8571.7 242.450067
8690.8 238.3838572
8811.6 234.377596
8934.1 230.431323
9058.2 226.548088
9184.1 222.7215302
9311.7 218.9546574
9441.2 215.2415896
9572.4 211.5880218
9705.4 207.9909401
9840.3 204.447591
9977 200.9604921
10116 197.5171553
10256 194.1491364
10399 190.8083353
10543 187.5414758
10690 184.3030762
10838 181.1370789
10989 178.0004853
11142 174.9147424
11297 171.8795395
11454 168.8945258
11613 165.9593139
11774 163.0734826
11938 160.2194282
12104 157.4148203
12272 154.6591092
12442 151.9517243
12615 149.2768375
12791 146.6351759
12968 144.0560934
13149 141.4958002
13331 138.9966552
13517 136.5172994
13704 134.0975619
13895 131.6983839
14088 129.3452004
14284 127.0255126
14482 124.7508345
14684 122.4983299
14888 120.2904129
15095 118.1158281
15304 115.9846425
15517 113.8764402
15733 111.8015094
15951 109.7689359
16173 107.7599383
16398 105.7838147
16626 103.8403676
16857 101.9293723
17091 100.0505795
17329 98.19603891
17569 96.3810402
17814 94.58289655
18061 92.82361469
18312 91.08856895
18567 89.37798647
18825 87.69846179
19086 86.04956217
19351 84.42480618
19620 82.82428228
19893 81.24804213
20170 79.696103
20450 78.17380674
20734 76.6754345
21022 75.20092782
21314 73.75020212
21611 72.31839868
21911 70.91502711
22215 69.53504105
22524 68.17393007
22837 66.83610391
23154 65.52134768
23476 64.22546733
23803 62.94857444
24133 61.69821439
24469 60.4629044
24809 59.25003733
25154 58.05589404
25503 56.8837725
25858 55.72692233
26217 54.59181335
26581 53.47506961
26951 52.3736726
27325 51.29347222
27705 50.22856614
28090 49.18174632
28480 48.15285888
28876 47.13921614
29277 46.14331347
29684 45.16258374
30097 44.19703729
30515 43.24889894
30939 42.31577213
31369 41.39761663
31805 40.4943759
32247 39.60597827
32695 38.73233819
33150 37.8714933
33610 37.02711699
34077 36.19541269
34551 35.37640661
35031 34.57175831
35518 33.77970881
36012 33.00023783
36512 32.23481848
37020 31.48034077
37534 30.73971746
38056 30.00999417
38585 29.29255046
39121 28.58729292
39664 27.89411918
40216 27.21047845
40775 26.53883863
41341 25.87906851
41916 25.22880283
42498 24.59026064
43089 23.96119189
43688 23.34264508
44295 22.73454571
44910 22.13681122
45535 21.54749375
46167 20.96936659
46809 20.39961832
47460 19.83914306
48119 19.28871934
48788 18.74662384
49466 18.21364368
50153 17.68971043
50850 17.17402005
51557 16.66655655
52274 16.16729446
53000 15.67686506
53737 15.19387513
54483 14.71958724
55241 14.25206575
56008 13.7931268
56787 13.34093171
57576 12.89661874
58376 12.45956805
59187 12.02974211
60010 11.60659022
60844 11.19059894
61689 10.78171108
62547 10.37893951
63416 9.983197609
64297 9.593976703
65191 9.210816461
66097 8.834120632
67015 8.463839209
67947 8.099146525
68891 7.740800716
69848 7.388374121
70819 7.041479028
71803 6.700447654
72801 6.364902452
73813 6.034822641
74839 5.710181868
75879 5.390948647
76933 5.077086776
78002 4.768271138
79086 4.464482768
80186 4.165429738
81300 3.871626891
82430 3.582512918
83575 3.29831779
84737 3.018525604
85914 2.743594367
87108 2.473028548
88319 2.206816474
89546 1.945151767
90791 1.687587076
92053 1.434313992
93332 1.185303792
94629 0.940338253
95944 0.699398765
97277 0.462462852
98629 0.229334614
100000 0.
-1 -1
-2 -2
@@ -0,0 +1,837 @@
1.0023 1.694862563
1.0162 1.694829508
1.0304 1.694795751
1.0447 1.694761779
1.0592 1.694727364
1.0739 1.694692515
1.0888 1.694657243
1.104 1.694621323
1.1193 1.694585238
1.1349 1.694548526
1.1506 1.694511669
1.1666 1.694474209
1.1828 1.694436393
1.1993 1.694397998
1.2159 1.694359503
1.2328 1.694320455
1.25 1.694280868
1.2674 1.694240985
1.285 1.69420082
1.3028 1.694160383
1.3209 1.694119461
1.3393 1.69407807
1.3579 1.694036448
1.3768 1.693994385
1.3959 1.693952119
1.4153 1.693909441
1.435 1.693866368
1.4549 1.693823133
1.4751 1.693779531
1.4956 1.69373558
1.5164 1.693691295
1.5375 1.693646693
1.5589 1.693601789
1.5805 1.693556806
1.6025 1.693511346
1.6248 1.693465631
1.6473 1.693419881
1.6702 1.693373704
1.6934 1.69332732
1.717 1.693280547
1.7408 1.693233796
1.765 1.693186689
1.7896 1.693139247
1.8144 1.693091868
1.8397 1.693043997
1.8652 1.692996218
1.8911 1.69294817
1.9174 1.692899872
1.9441 1.692851341
1.9711 1.692802776
1.9985 1.692754011
2.0263 1.692705064
2.0544 1.692656125
2.083 1.692606864
2.1119 1.692557639
2.1413 1.692508128
2.171 1.692458683
2.2012 1.692408985
2.2318 1.692359218
2.2628 1.692309395
2.2942 1.69225953
2.3261 1.692209481
2.3585 1.692159266
2.3912 1.692109209
2.4245 1.692058864
2.4582 1.692008551
2.4923 1.691958281
2.527 1.691907775
2.5621 1.691857341
2.5977 1.691806846
2.6338 1.691756305
2.6704 1.691705733
2.7075 1.691655142
2.7451 1.691604545
2.7833 1.691553824
2.822 1.691503124
2.8612 1.691452457
2.9009 1.691401834
2.9412 1.69135114
2.9821 1.69130039
3.0236 1.691249597
3.0656 1.691198894
3.1082 1.691148172
3.1514 1.691097442
3.1952 1.691046717
3.2396 1.690996006
3.2846 1.69094532
3.3303 1.69089456
3.3765 1.690843955
3.4235 1.690793189
3.471 1.690742595
3.5193 1.690691865
3.5682 1.690641218
3.6178 1.69059056
3.6681 1.690539902
3.719 1.69048935
3.7707 1.690438715
3.8231 1.690388106
3.8762 1.69033753
3.9301 1.6902869
3.9847 1.69023632
4.0401 1.690185704
4.0963 1.69013506
4.1532 1.690084487
4.2109 1.690033901
4.2694 1.68998331
4.3288 1.689932635
4.3889 1.689882053
4.4499 1.689831401
4.5118 1.689780688
4.5745 1.689730002
4.638 1.689679347
4.7025 1.689628569
4.7678 1.689577833
4.8341 1.689526987
4.9013 1.689476116
4.9694 1.689425223
5.0385 1.68937424
5.1085 1.689323243
5.1795 1.689272166
5.2515 1.689221012
5.3244 1.689169855
5.3984 1.68911856
5.4735 1.689067132
5.5495 1.689015711
5.6266 1.688964164
5.7048 1.688912494
5.7841 1.688860706
5.8645 1.688808803
5.946 1.688756787
6.0286 1.68870466
6.1124 1.688652363
6.1974 1.688599897
6.2835 1.688547326
6.3708 1.688494591
6.4594 1.688441633
6.5491 1.688388574
6.6401 1.688335295
6.7324 1.688281798
6.826 1.688228085
6.9209 1.688174156
7.017 1.688120069
7.1146 1.688065654
7.2134 1.68801108
7.3137 1.68795618
7.4153 1.687901064
7.5184 1.687845623
7.6229 1.68778991
7.7288 1.687733924
7.8362 1.68767761
7.9451 1.687620968
8.0555 1.687563996
8.1675 1.687506641
8.281 1.687448952
8.3961 1.687390875
8.5128 1.687332408
8.6311 1.687273549
8.751 1.687214294
8.8726 1.68715459
8.9959 1.687094434
9.1209 1.687033822
9.2477 1.686972701
9.3762 1.686911115
9.5065 1.686849012
9.6386 1.686786386
9.7726 1.686723184
9.9084 1.686659448
10.046 1.686595172
10.186 1.68653007
10.327 1.686464785
10.471 1.686398384
10.616 1.686331782
10.764 1.686264053
10.913 1.686196103
11.065 1.68612701
11.219 1.686057224
11.375 1.685986732
11.533 1.685915526
11.693 1.685843593
11.856 1.685770474
12.02 1.685697055
12.187 1.685622427
12.357 1.685546579
12.529 1.685469946
12.703 1.685392513
12.879 1.685314265
13.058 1.685234743
13.24 1.685153933
13.424 1.685072262
13.61 1.684989715
13.799 1.68490583
13.991 1.68482059
14.186 1.684733975
14.383 1.684646412
14.583 1.684557435
14.785 1.68446747
14.991 1.684375604
15.199 1.684282706
15.41 1.684188308
15.625 1.684091937
15.842 1.683994464
16.062 1.683895416
16.285 1.683794767
16.511 1.68369249
16.741 1.683588102
16.973 1.683482481
17.209 1.683374689
17.449 1.683264689
17.691 1.683153368
17.937 1.683039772
18.186 1.682924329
18.439 1.682806538
18.695 1.682686828
18.955 1.682564691
19.218 1.68244056
19.485 1.68231392
19.756 1.682184728
20.031 1.682052937
20.309 1.681918982
20.591 1.681782339
20.878 1.681642469
21.168 1.681500295
21.462 1.68135528
21.76 1.681207372
22.063 1.681056015
22.369 1.680902152
22.68 1.680744723
22.995 1.68058417
23.315 1.68041992
23.639 1.68025242
23.967 1.68008161
24.3 1.679906901
24.638 1.679728217
24.981 1.679545481
25.328 1.679359155
25.68 1.679168627
26.037 1.678973817
26.398 1.678775195
26.765 1.678571574
27.137 1.678363418
27.514 1.67815064
27.897 1.677932578
28.284 1.677710281
28.678 1.677481926
29.076 1.677249152
29.48 1.677010692
29.89 1.676766436
30.305 1.676516872
30.726 1.676261293
31.153 1.675999579
31.586 1.675731611
32.025 1.675457268
32.47 1.675176426
32.922 1.674888321
33.379 1.674594101
33.843 1.674292348
34.313 1.673983576
34.79 1.673666983
35.274 1.673342418
35.764 1.673010406
36.261 1.672670122
36.765 1.672321407
37.276 1.6719641
37.794 1.671598039
38.319 1.671223058
38.852 1.670838267
39.392 1.670444207
39.939 1.67004071
40.494 1.669626854
41.057 1.669202444
41.628 1.668767281
42.206 1.66832194
42.793 1.667864678
43.387 1.667396851
43.99 1.666916678
44.602 1.666423928
45.221 1.665920004
45.85 1.665402242
46.487 1.664872052
47.133 1.664328378
47.788 1.663770981
48.452 1.663199621
49.126 1.662613182
49.808 1.662013163
50.501 1.661396668
51.202 1.660766109
51.914 1.660118528
52.635 1.659455472
53.367 1.658774828
54.109 1.658077237
54.861 1.657362425
55.623 1.656630118
56.396 1.655879067
57.18 1.655108969
57.974 1.654320517
58.78 1.653511423
59.597 1.652682373
60.425 1.651833067
61.265 1.650962163
62.116 1.650070386
62.98 1.649155311
63.855 1.648218729
64.742 1.647259264
65.642 1.646275495
66.554 1.645268182
67.479 1.644235886
68.417 1.643178263
69.368 1.64209497
70.332 1.64098567
71.309 1.639850029
72.3 1.63868654
73.305 1.637494843
74.324 1.636274587
75.357 1.635025423
76.404 1.633747012
77.466 1.632437781
78.543 1.631097367
79.634 1.629726679
80.741 1.628322855
81.863 1.626886809
83.001 1.625416913
84.154 1.62391412
85.324 1.622375477
86.509 1.620803279
87.712 1.619193203
88.931 1.617547577
90.166 1.615866097
91.42 1.614144337
92.69 1.612386087
93.978 1.610588278
95.284 1.608750591
96.608 1.606872721
97.951 1.604952942
99.312 1.602992393
100.69 1.600992271
102.09 1.598945028
103.51 1.596853265
104.95 1.59471671
106.41 1.592535109
107.89 1.590308229
109.39 1.588035855
110.91 1.585717791
112.45 1.583353863
114.01 1.580943916
115.59 1.578487817
117.2 1.575969766
118.83 1.573405174
120.48 1.570793976
122.16 1.56812017
123.85 1.565415565
125.57 1.562648162
127.32 1.559817733
129.09 1.556940382
130.88 1.554016188
132.7 1.551028802
134.55 1.547978122
136.42 1.544880684
138.31 1.54173667
140.23 1.538529545
142.18 1.53525934
144.16 1.53192612
146.16 1.528546912
148.19 1.525105044
150.25 1.521600684
152.34 1.518034033
154.46 1.51440533
156.6 1.510732037
158.78 1.506980132
160.99 1.503167102
163.23 1.499293325
165.49 1.495376565
167.79 1.491382605
170.13 1.48731183
172.49 1.483199547
174.89 1.479011461
177.32 1.47476557
179.78 1.470462492
182.28 1.466085359
184.81 1.461652341
187.38 1.457146617
189.99 1.452568913
192.63 1.447937542
195.3 1.443253318
198.02 1.438482
200.77 1.433659556
203.56 1.428769363
206.39 1.423812386
209.26 1.418789625
212.16 1.413719591
215.11 1.40856839
218.1 1.403354623
221.13 1.398079433
224.21 1.392726629
227.32 1.387332176
230.48 1.381862622
233.69 1.376319351
236.93 1.370738193
240.23 1.365068867
243.56 1.359364328
246.95 1.353574637
250.38 1.347735509
253.86 1.341831426
257.39 1.33586401
260.97 1.329834909
264.59 1.323762543
268.27 1.317615061
272 1.311411
275.78 1.305152105
279.61 1.298840142
283.5 1.292460535
287.44 1.286031608
291.43 1.279555176
295.48 1.273016966
299.59 1.266419088
303.75 1.259779581
307.97 1.253084484
312.25 1.24633595
316.59 1.239536143
320.99 1.232687236
325.45 1.225791408
329.98 1.218835542
334.56 1.211852534
339.21 1.204814081
343.92 1.197737668
348.7 1.190610623
353.55 1.183435468
358.46 1.17622934
363.45 1.168965404
368.5 1.16167528
373.62 1.154346849
378.81 1.146982596
384.07 1.139584993
389.41 1.13214262
394.82 1.124672045
400.31 1.117162068
405.87 1.109628961
411.51 1.102061741
417.23 1.094463148
423.03 1.086835898
428.91 1.079182677
434.87 1.071506141
440.92 1.06379624
447.04 1.056081049
453.26 1.048325507
459.56 1.040557482
465.94 1.032779446
472.42 1.024969863
478.98 1.017155644
485.64 1.009315723
492.39 1.001464794
499.23 0.993605522
506.17 0.985729239
513.2 0.977850066
520.34 0.969948513
527.57 0.962049587
534.9 0.954144964
542.33 0.946237397
549.87 0.938319147
557.51 0.930403557
565.26 0.922483041
573.11 0.914570529
581.08 0.907688015
589.16 0.901613742
597.34 0.895525908
605.64 0.889411381
614.06 0.883272068
622.6 0.877109931
631.25 0.870934026
640.02 0.864739007
648.91 0.858526749
657.93 0.852292264
667.08 0.846037585
676.35 0.83977145
685.75 0.833489002
695.28 0.827192167
704.94 0.820882921
714.74 0.814556789
724.67 0.808222221
734.74 0.801874833
744.95 0.795516634
755.3 0.78914963
765.8 0.782769743
776.44 0.776385121
787.23 0.769991827
798.17 0.763591936
809.27 0.757181672
820.51 0.750774641
831.92 0.7443558
843.48 0.737938521
855.2 0.731519354
867.09 0.725094928
879.14 0.718672739
891.35 0.712254791
903.74 0.705832635
916.3 0.69941365
929.03 0.692999938
941.95 0.686583585
955.04 0.68017659
968.31 0.673776107
981.77 0.667379488
995.41 0.660993482
1009.2 0.654633906
1023.3 0.64822963
1037.5 0.64187824
1051.9 0.635536505
1066.5 0.629206507
1081.3 0.622890215
1096.4 0.616547649
1111.6 0.610264725
1127.1 0.603960735
1142.7 0.597718871
1158.6 0.59146083
1174.7 0.585228496
1191 0.579023526
1207.6 0.572810113
1224.4 0.566628002
1241.4 0.560478745
1258.6 0.554363857
1276.1 0.548249882
1293.9 0.542139485
1311.8 0.536102625
1330.1 0.530039981
1348.6 0.524020326
1367.3 0.518044947
1386.3 0.512083612
1405.6 0.506138459
1425.1 0.500242029
1444.9 0.494365662
1465 0.488511326
1485.3 0.482709743
1506 0.476905608
1526.9 0.471156796
1548.1 0.465437248
1569.7 0.459722185
1591.5 0.454066143
1613.6 0.448444472
1636 0.442858673
1658.7 0.437310186
1681.8 0.431776564
1705.2 0.42628356
1728.9 0.42083256
1752.9 0.415424754
1777.3 0.410039198
1802 0.404699768
1827 0.399407468
1852.4 0.394142512
1878.1 0.388927089
1904.2 0.383742148
1930.7 0.378589435
1957.5 0.373489649
1984.7 0.368424792
2012.3 0.363396382
2040.3 0.358405865
2068.6 0.353472043
2097.4 0.348561341
2126.5 0.343709083
2156.1 0.338883062
2186.1 0.334101017
2216.4 0.32937952
2247.2 0.324688318
2278.5 0.320029125
2310.1 0.31543266
2342.2 0.31087052
2374.8 0.306345102
2407.8 0.301871366
2441.3 0.297435598
2475.2 0.293051734
2509.6 0.288707651
2544.5 0.284404577
2579.8 0.280155498
2615.7 0.275937203
2652 0.271774037
2688.9 0.267643881
2726.2 0.263569885
2764.1 0.259530885
2802.5 0.255538424
2841.5 0.251582968
2881 0.247675418
2921 0.243816225
2961.6 0.239996423
3002.8 0.236216849
3044.5 0.232487221
3086.8 0.228799079
3129.7 0.225153099
3173.2 0.221549898
3217.3 0.21799001
3262 0.214473933
3307.4 0.210994476
3353.3 0.207567357
3399.9 0.204178004
3447.2 0.200827109
3495.1 0.197522174
3543.6 0.194263436
3592.9 0.191037973
3642.8 0.187859331
3693.5 0.184715205
3744.8 0.18161838
3796.8 0.178562989
3849.6 0.175543596
3903.1 0.17256634
3957.3 0.169631407
4012.3 0.166733672
4068.1 0.163873551
4124.6 0.161056365
4181.9 0.158277309
4240.1 0.155531941
4299 0.152829924
4358.7 0.150166762
4419.3 0.147538264
4480.7 0.144948995
4543 0.142394923
4606.1 0.139880292
4670.1 0.13740126
4735.1 0.134954244
4800.9 0.132546916
4867.6 0.130175658
4935.2 0.127840542
5003.8 0.125538256
5073.3 0.123272263
5143.9 0.121036209
5215.3 0.118839684
5287.8 0.116673477
5361.3 0.1145407
5435.8 0.112441405
5511.4 0.110372885
5588 0.108337918
5665.6 0.106336443
5744.3 0.104365923
5824.2 0.10242398
5905.1 0.10051546
5987.2 0.098635657
6070.4 0.096818831
6154.8 0.095315604
6240.3 0.093835958
6327 0.092378099
6414.9 0.090942011
6504.1 0.089526087
6594.5 0.088131919
6686.1 0.086759418
6779 0.08540704
6873.3 0.084073387
6968.8 0.082761258
7065.6 0.081469168
7163.8 0.080195767
7263.4 0.078941075
7364.3 0.077706294
7466.7 0.076488948
7570.4 0.07529137
7675.6 0.074111185
7782.3 0.072948403
7890.5 0.071803017
8000.1 0.070676008
8111.3 0.069565272
8224 0.068471786
8338.3 0.067394537
8454.2 0.066333505
8571.7 0.065288655
8690.8 0.06425993
8811.6 0.063246435
8934.1 0.062248153
9058.2 0.061265834
9184.1 0.060297847
9311.7 0.059344929
9441.2 0.058405575
9572.4 0.057481204
9705.4 0.056571036
9840.3 0.055674355
9977 0.054791783
10116 0.053920141
10256 0.053067403
10399 0.052221375
10543 0.051393877
10690 0.050573373
10838 0.049770986
10989 0.048975806
11142 0.048193256
11297 0.047423248
11454 0.046665684
11613 0.045920458
11774 0.045187453
11938 0.044462191
12104 0.04374915
12272 0.043048188
12442 0.042359154
12615 0.041678012
12791 0.04100494
12968 0.040347413
13149 0.039694263
13331 0.039056292
13517 0.038422939
13704 0.037804376
13895 0.037190615
14088 0.03658816
14284 0.035993809
14482 0.035410513
14684 0.034832414
14888 0.034265261
15095 0.033706167
15304 0.033157721
15517 0.03261467
15733 0.032079661
15951 0.031555041
16173 0.031035965
16398 0.030524834
16626 0.0300216
16857 0.029526208
17091 0.029038598
17329 0.028556709
17569 0.028084517
17814 0.027616125
18061 0.027157267
18312 0.026704136
18567 0.026256792
18825 0.025816965
19086 0.02538455
19351 0.024957854
19620 0.024536904
19893 0.024121716
20170 0.0237123
20450 0.023310073
20734 0.022913534
21022 0.022522672
21314 0.022137473
21611 0.02175665
21911 0.021382741
22215 0.021014412
22524 0.020650465
22837 0.020292086
23154 0.019939227
23476 0.01959077
23803 0.01924675
24133 0.018909212
24469 0.018575064
24809 0.018246312
25154 0.01792196
25503 0.017602913
25858 0.017287342
26217 0.016977021
26581 0.016671039
26951 0.016368575
27325 0.016071246
27705 0.01577744
28090 0.015487934
28480 0.015202697
28876 0.014920994
29277 0.01464353
29684 0.014369598
30097 0.01409921
30515 0.013833002
30939 0.013570312
31369 0.013311139
31805 0.013055478
32247 0.012803319
32695 0.012554649
33150 0.012308921
33610 0.012067193
34077 0.011828394
34551 0.011592538
35031 0.011360117
35518 0.011130632
36012 0.01090409
36512 0.01068093
37020 0.010460259
37534 0.010242938
38056 0.010028114
38585 0.009816204
39121 0.009607192
39664 0.009401063
40216 0.009197066
40775 0.008995951
41341 0.008797691
41916 0.008601588
42498 0.008408322
43089 0.008217226
43688 0.008028628
44295 0.007842519
44910 0.007658888
45535 0.007477146
46167 0.007298161
46809 0.007121077
47460 0.006946181
48119 0.006773731
48788 0.006603199
49466 0.006434844
50153 0.006268659
50850 0.006104401
51557 0.005942076
52274 0.005781687
53000 0.005623453
53737 0.005466935
54483 0.005312555
55241 0.005159697
56008 0.005008965
56787 0.00485977
57576 0.004712498
58376 0.004566957
59187 0.004423149
60010 0.0042809
60844 0.004140387
61689 0.004001603
62547 0.003864227
63416 0.003728581
64297 0.003594505
65191 0.003461852
66097 0.003330775
67015 0.003201269
67947 0.003073058
68891 0.002946421
69848 0.00282122
70819 0.002697329
71803 0.00257488
72801 0.00245375
73813 0.002333943
74839 0.002215462
75879 0.002098309
76933 0.001982484
78002 0.001867878
79086 0.001754498
80186 0.001642246
81300 0.001531327
82430 0.001421543
83575 0.001312994
84737 0.001205496
85914 0.001099235
87108 0.000994034
88319 0.0008899
89546 0.000786921
90791 0.000684933
92053 0.000584024
93332 0.000484195
94629 0.000385372
95944 0.000287559
97277 0.000190759
98629 9.49038E-05
100000 0
-1 -1
-2 -2
@@ -0,0 +1,837 @@
1.0023 402.5346665
1.0162 402.3545875
1.0304 402.1673722
1.0447 401.975492
1.0592 401.7774513
1.0739 401.5730699
1.0888 401.3621637
1.104 401.1462158
1.1193 400.932982
1.1349 400.721595
1.1506 400.514784
1.1666 400.3099184
1.1828 400.1083045
1.1993 399.908735
1.2159 399.7136256
1.2328 399.5206118
1.25 399.3297506
1.2674 399.1421739
1.285 398.9578674
1.3028 398.7768143
1.3209 398.5980083
1.3393 398.4214863
1.3579 398.2482123
1.3768 398.0772578
1.3959 397.9095276
1.4153 397.7441402
1.435 397.581116
1.4549 397.4212757
1.4751 397.2638065
1.4956 397.1087207
1.5164 396.9560274
1.5375 396.8057324
1.5589 396.6578399
1.5805 396.5130214
1.6025 396.369936
1.6248 396.2292514
1.6473 396.0915731
1.6702 395.95567
1.6934 395.8221459
1.717 395.6904314
1.7408 395.5616296
1.765 395.4346441
1.7896 395.309492
1.8144 395.1871725
1.8397 395.0661999
1.8652 394.948004
1.8911 394.8316355
1.9174 394.7170977
1.9441 394.604395
1.9711 394.4939362
1.9985 394.3852976
2.0263 394.2784762
2.0544 394.1738386
2.083 394.070615
2.1119 393.9695191
2.1413 393.8698591
2.171 393.7723021
2.2012 393.6761799
2.2318 393.5818056
2.2628 393.4891637
2.2942 393.3982388
2.3261 393.3087329
2.3585 393.2206446
2.3912 393.1344991
2.4245 393.0494938
2.4582 392.9661337
2.4923 392.8843959
2.527 392.8037918
2.5621 392.7247793
2.5977 392.6471162
2.6338 392.5707888
2.6704 392.4957865
2.7075 392.4220955
2.7451 392.3497009
2.7833 392.2784025
2.822 392.2083761
2.8612 392.1396066
2.9009 392.072076
2.9412 392.0055987
2.9821 391.9401683
3.0236 391.8757754
3.0656 391.8125604
3.1082 391.7503578
3.1514 391.6891545
3.1952 391.6289371
3.2396 391.5696922
3.2846 391.5114062
3.3303 391.4539399
3.3765 391.3975292
3.4235 391.3417955
3.471 391.2870828
3.5193 391.2330312
3.5682 391.1798545
3.6178 391.1274299
3.6681 391.0757454
3.719 391.0248887
3.7707 390.9746474
3.8231 390.9251083
3.8762 390.8762578
3.9301 390.8279923
3.9847 390.7803893
4.0401 390.7333497
4.0963 390.6868626
4.1532 390.6409976
4.2109 390.5956605
4.2694 390.5508399
4.3288 390.506449
4.3889 390.4626245
4.4499 390.419208
4.5118 390.3761895
4.5745 390.3336266
4.638 390.2915062
4.7025 390.249614
4.7678 390.2080684
4.8341 390.1668027
4.9013 390.1258687
4.9694 390.0852545
5.0385 390.0448895
5.1085 390.004821
5.1795 389.9649807
5.2515 389.9253576
5.3244 389.8859949
5.3984 389.8467736
5.4735 389.8076844
5.5495 389.7688202
5.6266 389.7300665
5.7048 389.6914133
5.7841 389.6528506
5.8645 389.6143678
5.946 389.5759541
6.0286 389.5375981
6.1124 389.4992429
6.1974 389.4608789
6.2835 389.4225403
6.3708 389.3841713
6.4594 389.3457186
6.5491 389.3072577
6.6401 389.2686921
6.7324 389.2300118
6.826 389.1912065
6.9209 389.1522661
7.017 389.11322
7.1146 389.073936
7.2134 389.0345246
7.3137 388.9948558
7.4153 388.9549981
7.5184 388.9148633
7.6229 388.8744797
7.7288 388.8338358
7.8362 388.7928829
7.9451 388.7516111
8.0555 388.7100101
8.1675 388.6680316
8.281 388.6257024
8.3961 388.5829743
8.5128 388.5398368
8.6311 388.4962799
8.751 388.4522932
8.8726 388.407829
8.9959 388.3628765
9.1209 388.3174256
9.2477 388.2714296
9.3762 388.2249137
9.5065 388.1778317
9.6386 388.1301736
9.7726 388.0818926
9.9084 388.0330137
10.046 387.9835273
10.186 387.9332076
10.327 387.882547
10.471 387.8308169
10.616 387.7787259
10.764 387.7255452
10.913 387.6719838
11.065 387.6173124
11.219 387.561881
11.375 387.5056804
11.533 387.4487011
11.693 387.3909334
11.856 387.3319663
12.02 387.2725148
12.187 387.2118856
12.357 387.1500695
12.529 387.0874213
12.703 387.0239326
12.879 386.9595967
13.058 386.8940396
13.24 386.827253
13.424 386.7595982
13.61 386.6910689
13.799 386.6212898
13.991 386.550254
14.186 386.4779547
14.383 386.4047586
14.583 386.3302904
14.785 386.2549172
14.991 386.1778891
15.199 386.0999506
15.41 386.0207241
15.625 385.9398314
15.842 385.8580239
16.062 385.7749235
16.285 385.6905297
16.511 385.6048445
16.741 385.5174881
16.973 385.4292213
17.209 385.3392875
17.449 385.2476886
17.691 385.1551915
17.937 385.0610381
18.186 384.9656177
18.439 384.8685524
18.695 384.7702331
18.955 384.6702849
19.218 384.5691033
19.485 384.4663137
19.756 384.3619265
20.031 384.2559559
20.309 384.1488004
20.591 384.0400886
20.878 383.9294509
21.168 383.8176767
21.462 383.704398
21.76 383.5896346
22.063 383.4730223
22.369 383.3553505
22.68 383.2358739
22.995 383.1150019
23.315 382.9923751
23.639 382.8684037
23.967 382.7431148
24.3 382.6161535
24.638 382.4875501
24.981 382.3573343
25.328 382.2259172
25.68 382.0929545
26.037 381.9584789
26.398 381.8228992
26.765 381.6854987
27.137 381.5466883
27.514 381.4065064
27.897 381.2646198
28.284 381.1218033
28.678 380.976988
29.076 380.8313181
29.48 380.684098
29.89 380.5353657
30.305 380.3855211
30.726 380.2342436
31.153 380.0815712
31.586 379.9275404
32.025 379.7721904
32.47 379.6155591
32.922 379.457332
33.379 379.2982428
33.843 379.1376265
34.313 378.975863
34.79 378.8126008
35.274 378.6478694
35.764 378.4820765
36.261 378.3149095
36.765 378.1463937
37.276 377.9765511
37.794 377.8054035
38.319 377.6329665
38.852 377.4589285
39.392 377.2836295
39.939 377.1070741
40.494 376.9289481
41.057 376.749258
41.628 376.5680062
42.206 376.3855062
42.793 376.2011163
43.387 376.0154565
43.99 375.8278922
44.602 375.6384081
45.221 375.4476038
45.85 375.2545309
46.487 375.0597788
47.133 374.8630106
47.788 374.664194
48.452 374.4632947
49.126 374.2599704
49.808 374.0547819
50.501 373.8467819
51.202 373.6368282
51.914 373.4239689
52.635 373.2087464
53.367 372.9905139
54.109 372.7695135
54.861 372.545686
55.623 372.3189696
56.396 372.0890072
57.18 371.8557362
57.974 371.6193894
58.78 371.3793084
59.597 371.1357254
60.425 370.8885771
61.265 370.6374992
62.116 370.3827272
62.98 370.1236013
63.855 369.8606531
64.742 369.5935173
65.642 369.321835
66.554 369.0458485
67.479 368.765194
68.417 368.4798132
69.368 368.1896569
70.332 367.8946695
71.309 367.594794
72.3 367.2896755
73.305 366.9792642
74.324 366.6635151
75.357 366.3423884
76.404 366.015844
77.466 365.6835283
78.543 365.345398
79.634 365.0017368
80.741 364.6518835
81.863 364.296122
83.001 363.9341029
84.154 363.5661186
85.324 363.1915112
86.509 362.8108952
87.712 362.4232871
88.931 362.0293111
90.166 361.6289498
91.42 361.2212176
92.69 360.8070782
93.978 360.3858694
95.284 359.9575801
96.608 359.5222002
97.951 359.0793987
99.312 358.6294963
100.69 358.1728254
102.09 357.7077286
103.51 357.2348689
104.95 356.7542481
106.41 356.2658689
107.89 355.7697444
109.39 355.2658806
110.91 354.7542934
112.45 354.2350008
114.01 353.7080133
115.59 353.173352
117.2 352.6276594
118.83 352.0743351
120.48 351.5133866
122.16 350.941447
123.85 350.3653742
125.57 349.7783928
127.32 349.1805294
129.09 348.5752327
130.88 347.9625614
132.7 347.3391404
134.55 346.7050071
136.42 346.063642
138.31 345.4151022
140.23 344.7560142
142.18 344.0864373
144.16 343.406434
146.16 342.7195045
148.19 342.0222944
150.25 341.3148755
152.34 340.5973226
154.46 339.8697259
156.6 339.1355973
158.78 338.3881603
160.99 337.6309458
163.23 336.8640448
165.49 336.0909723
167.79 335.3049973
170.13 334.5062278
172.49 333.7015946
174.89 332.8843862
177.32 332.0581224
179.78 331.2229309
182.28 330.3755534
184.81 329.5194912
187.38 328.6514904
189.99 327.7717058
192.63 326.8836302
195.3 325.9873973
198.02 325.0764455
200.77 324.1576286
203.56 323.2277572
206.39 322.2869951
209.26 321.3355105
212.16 320.3767647
215.11 319.4043046
218.1 318.4216156
221.13 317.4288816
224.21 316.4230067
227.32 315.4106963
230.48 314.3856176
233.69 313.3479923
236.93 312.3044701
240.23 311.2455892
243.56 310.1811797
246.95 309.101841
250.38 308.0141648
253.86 306.9151956
257.39 305.8051659
260.97 304.6843127
264.59 303.5559731
268.27 302.4141372
272 301.2621705
275.78 300.1003044
279.61 298.9287735
283.5 297.7447946
287.44 296.551669
291.43 295.3496197
295.48 294.1358984
299.59 292.9108133
303.75 291.6775938
307.97 290.4335515
312.25 289.1789829
316.59 287.9141637
320.99 286.6393726
325.45 285.3549171
329.98 284.0582465
334.56 282.7553487
339.21 281.4408263
343.92 280.1178461
348.7 278.7839166
353.55 277.4393766
358.46 276.0873222
363.45 274.7225921
368.5 273.3510058
373.62 271.970152
378.81 270.580357
384.07 269.1819794
389.41 267.7727427
394.82 266.3556405
400.31 264.9284107
405.87 263.4940447
411.51 262.050326
417.23 260.5976405
423.03 259.1363769
428.91 257.6669266
434.87 256.189684
440.92 254.7025532
447.04 253.2108843
453.26 251.7077886
459.56 250.198474
465.94 248.6833468
472.42 247.1581087
478.98 245.6278837
485.64 244.088463
492.39 242.5426
499.23 240.9907168
506.17 239.4308703
513.2 237.8657515
520.34 236.2914975
527.57 234.7129897
534.9 233.1284966
542.33 231.5384933
549.87 229.9412951
557.51 228.3394755
565.26 226.7314823
573.11 225.1198478
581.08 223.5009456
589.16 221.8773544
597.34 220.2515426
605.64 218.619968
614.06 216.9831537
622.6 215.3416718
631.25 213.6979469
640.02 212.0505813
648.91 210.4000995
657.93 208.7451392
667.08 207.0862144
676.35 205.4256817
685.75 203.7622929
695.28 202.0965585
704.94 200.4290421
714.74 198.7585463
724.67 197.0872454
734.74 195.4140368
744.95 193.7394641
755.3 192.0640682
765.8 190.3867903
776.44 188.7097854
787.23 187.0320321
798.17 185.3540412
809.27 183.6748054
820.51 181.9979155
831.92 180.3194788
843.48 178.6429724
855.2 176.9674549
867.09 175.2920409
879.14 173.6187478
891.35 171.9480901
903.74 170.277881
916.3 168.6100323
929.03 166.9450819
941.95 165.2809859
955.04 163.6208107
968.31 161.9638256
981.77 160.3093527
995.41 158.6591855
1009.2 157.0174343
1023.3 155.3656933
1037.5 153.7291089
1051.9 152.096533
1066.5 150.468499
1081.3 148.8455314
1096.4 147.2173456
1111.6 145.6060042
1127.1 143.9907919
1142.7 142.3930106
1158.6 140.7926343
1174.7 139.2003443
1191 137.6165605
1207.6 136.0321573
1224.4 134.4572488
1241.4 132.8922127
1258.6 131.3374256
1276.1 129.7843693
1293.9 128.2337156
1311.8 126.7032208
1330.1 125.167704
1348.6 123.6445735
1367.3 122.1341054
1386.3 120.6286513
1405.6 119.1287798
1425.1 117.6426526
1444.9 116.1630352
1465 114.6904479
1485.3 113.2325643
1506 111.775496
1526.9 110.3337806
1548.1 108.9008217
1569.7 107.4704227
1591.5 106.0562365
1613.6 104.6520451
1636 103.258223
1658.7 101.8751148
1681.8 100.4970953
1705.2 99.13059205
1728.9 97.77590953
1752.9 96.43333513
1777.3 95.09767913
1802 93.77480147
1827 92.46493709
1852.4 91.16319344
1878.1 89.87502399
1904.2 88.59572466
1930.7 87.32570951
1957.5 86.07004107
1984.7 84.82428379
2012.3 83.58878842
2040.3 82.36388432
2068.6 81.15415412
2097.4 79.95135164
2126.5 78.76411384
2156.1 77.58454274
2186.1 76.41695924
2216.4 75.26538426
2247.2 74.12243399
2278.5 72.9885015
2310.1 71.87101016
2342.2 70.76304335
2374.8 69.66518619
2407.8 68.58103059
2441.3 67.50722326
2475.2 66.44714314
2509.6 65.39783392
2544.5 64.35954147
2579.8 63.33539052
2615.7 62.31977952
2652 61.31854656
2688.9 60.32633139
2726.2 59.34866855
2764.1 58.38047136
2802.5 57.42449568
2841.5 56.47842978
2881 55.54485518
2921 54.62386618
2961.6 53.71329446
3002.8 52.81331136
3044.5 51.92621579
3086.8 51.04997341
3129.7 50.18471151
3173.2 49.33055965
3217.3 48.48762563
3262 47.65599554
3307.4 46.83394909
3353.3 46.02517732
3399.9 45.22623081
3447.2 44.43725853
3495.1 43.65998164
3543.6 42.89444187
3592.9 42.13759197
3642.8 41.39256252
3693.5 40.65646189
3744.8 39.93226877
3796.8 39.21858567
3849.6 38.51414259
3903.1 37.82032516
3957.3 37.1371572
4012.3 36.46344982
4068.1 35.79925824
4124.6 35.14579167
4181.9 34.50191844
4240.1 33.86659546
4299 33.24203812
4358.7 32.62717767
4419.3 32.02102799
4480.7 31.42462415
4543 30.83702052
4606.1 30.25917454
4670.1 29.6901803
4735.1 29.12920024
4800.9 28.57797456
4867.6 28.03564719
4935.2 27.50221864
5003.8 26.97691774
5073.3 26.46051832
5143.9 25.95155445
5215.3 25.45218195
5287.8 24.96028613
5361.3 24.47656646
5435.8 24.00101452
5511.4 23.53299476
5588 23.07312092
5665.6 22.62136573
5744.3 22.17713099
5824.2 21.73986405
5905.1 21.31064708
5987.2 20.8883996
6070.4 20.47363158
6154.8 20.06582429
6240.3 19.66543997
6327 19.27198908
6414.9 18.88545521
6504.1 18.50538605
6594.5 18.13219044
6686.1 17.76583899
6779 17.40590653
6873.3 17.05199627
6968.8 16.70483396
7065.6 16.36401665
7163.8 16.02917355
7263.4 15.70028912
7364.3 15.37766541
7466.7 15.06063782
7570.4 14.7497937
7675.6 14.44450067
7782.3 14.14473849
7890.5 13.85048021
8000.1 13.56196204
8111.3 13.27863112
8224 13.00071911
8338.3 12.72794445
8454.2 12.46028151
8571.7 12.19769986
8690.8 11.94016457
8811.6 11.68743436
8934.1 11.43948027
9058.2 11.1964723
9184.1 10.95798245
9311.7 10.72416694
9441.2 10.49464373
9572.4 10.26973445
9705.4 10.04922644
9840.3 9.832929465
9977 9.620969963
10116 9.412557533
10256 9.209584833
10399 9.009120283
10543 8.813944123
10690 8.621320101
10838 8.433836291
10989 8.248925088
11142 8.067810956
11297 7.890455771
11454 7.716822641
11613 7.546867223
11774 7.380545127
11938 7.216813923
12104 7.056659322
12272 6.900033048
12442 6.746886168
12615 6.596297929
12791 6.448276737
12968 6.304453396
13149 6.162363961
13331 6.02433689
13517 5.894993343
13704 5.781579779
13895 5.669327749
14088 5.559422061
14284 5.451272038
14482 5.345407696
14684 5.240760762
14888 5.138367147
15095 5.037698026
15304 4.939212729
15517 4.841962301
15733 4.746417081
15951 4.652988768
16173 4.560808528
16398 4.470298609
16626 4.381444422
16857 4.294230176
17091 4.208638995
17329 4.124304161
17569 4.041915532
17814 3.960438679
18061 3.880866256
18312 3.802531266
18567 3.725440233
18825 3.649885762
19086 3.575843004
19351 3.503016346
19620 3.431405934
19893 3.361010217
20170 3.291826066
20450 3.224087037
20734 3.157534081
21022 3.092160712
21314 3.027959278
21611 2.964711424
21911 2.902833312
22215 2.842097939
22524 2.782303433
22837 2.72364015
23154 2.666094761
23476 2.609480296
23803 2.553798703
24133 2.499375138
24469 2.44570636
24809 2.393110604
25154 2.341423162
25503 2.290783387
25858 2.240896627
26217 2.192038891
26581 2.144061478
26951 2.096832063
27325 2.050598497
27705 2.005105132
28090 1.960468578
28480 1.916679268
28876 1.87362013
29277 1.831394487
29684 1.789890801
30097 1.749107106
30515 1.709134686
30939 1.669869813
31369 1.631308379
31805 1.593445584
32247 1.556276
32695 1.519793622
33150 1.483914308
33610 1.448788745
34077 1.414256574
34551 1.380316899
35031 1.347036289
35518 1.314339784
36012 1.282224533
36512 1.250749035
37020 1.219783377
37534 1.1894451
38056 1.159611158
38585 1.130336109
39121 1.101614126
39664 1.073439037
40216 1.045705454
40775 1.018511791
41341 0.991850739
41916 0.965625004
42498 0.939922374
43089 0.914650563
43688 0.889850105
44295 0.8655163
44910 0.841644138
45535 0.818154346
46167 0.795155879
46809 0.772535302
47460 0.750326734
48119 0.728559442
48788 0.707163786
49466 0.686169449
50153 0.665572257
50850 0.645339213
51557 0.625468389
52274 0.605957483
53000 0.586829781
53737 0.568029639
54483 0.549604906
55241 0.531479156
56008 0.513721581
56787 0.496259806
57576 0.479136632
58376 0.462326948
59187 0.445828155
60010 0.429618019
60844 0.413714087
61689 0.39811302
62547 0.382776115
63416 0.367737118
64297 0.352975606
65191 0.338473136
66097 0.324244004
67015 0.310285289
67947 0.296564927
68891 0.283110503
69848 0.26990498
70819 0.256932936
71803 0.244205901
72801 0.231708891
73813 0.21944028
74839 0.207398232
75879 0.195580727
76933 0.183985575
78002 0.17259995
79086 0.161422371
80186 0.150441347
81300 0.139675001
82430 0.129101984
83575 0.118729959
84737 0.108539377
85914 0.098546201
87108 0.088731701
88319 0.079094789
89546 0.069641782
90791 0.060355854
92053 0.05124327
93332 0.042302332
94629 0.033524566
95944 0.024908686
97277 0.016453271
98629 0.008150735
100000 0
-1 -1
-2 -2
@@ -0,0 +1,837 @@
1.0023 1.106254902
1.0162 1.106038585
1.0304 1.105813484
1.0447 1.105582547
1.0592 1.105343961
1.0739 1.105097503
1.0888 1.104842928
1.104 1.10458189
1.1193 1.104323587
1.1349 1.104066901
1.1506 1.103815152
1.1666 1.103565151
1.1828 1.103318517
1.1993 1.103073787
1.2159 1.102833931
1.2328 1.102596066
1.25 1.102360279
1.2674 1.102127983
1.285 1.101899179
1.3028 1.101673856
1.3209 1.101450782
1.3393 1.101230019
1.3579 1.101012782
1.3768 1.100797923
1.3959 1.100586594
1.4153 1.100377703
1.435 1.10017129
1.4549 1.09996841
1.4751 1.099768047
1.4956 1.099570232
1.5164 1.09937499
1.5375 1.099182344
1.5589 1.098992313
1.5805 1.098805777
1.6025 1.098621024
1.6248 1.098438927
1.6473 1.09826029
1.6702 1.098083531
1.6934 1.097909447
1.717 1.097737309
1.7408 1.097568574
1.765 1.097401821
1.7896 1.097237063
1.8144 1.097075629
1.8397 1.096915598
1.8652 1.096758874
1.8911 1.096604212
1.9174 1.096451632
1.9441 1.096301148
1.9711 1.096153323
1.9985 1.096007603
2.0263 1.095863998
2.0544 1.095723018
2.083 1.095583661
2.1119 1.095446904
2.1413 1.095311801
2.171 1.09517927
2.2012 1.095048412
2.2318 1.094919669
2.2628 1.094793034
2.2942 1.094668496
2.3261 1.094545661
2.3585 1.09442454
2.3912 1.094305865
2.4245 1.094188542
2.4582 1.094073283
2.4923 1.093960069
2.527 1.093848237
2.5621 1.09373843
2.5977 1.093630324
2.6338 1.093523915
2.6704 1.093419197
2.7075 1.093316163
2.7451 1.093214804
2.7833 1.093114851
2.822 1.093016559
2.8612 1.092919917
2.9009 1.092824911
2.9412 1.092731296
2.9821 1.092639072
3.0236 1.092548235
3.0656 1.092458991
3.1082 1.092371118
3.1514 1.092284607
3.1952 1.092199452
3.2396 1.092115645
3.2846 1.092033176
3.3303 1.091951855
3.3765 1.091872027
3.4235 1.091793168
3.471 1.09171577
3.5193 1.091639334
3.5682 1.091564176
3.6178 1.09149013
3.6681 1.091417184
3.719 1.091345473
3.7707 1.091274707
3.8231 1.091205019
3.8762 1.091136397
3.9301 1.091068703
3.9847 1.091002058
4.0401 1.090936329
4.0963 1.090871392
4.1532 1.090807352
4.2109 1.090744204
4.2694 1.09068194
4.3288 1.090620447
4.3889 1.090559922
4.4499 1.090500154
4.5118 1.090441139
4.5745 1.090382963
4.638 1.090325614
4.7025 1.090268905
4.7678 1.090213004
4.8341 1.090157732
4.9013 1.090103166
4.9694 1.090049296
5.0385 1.089996036
5.1085 1.089943456
5.1795 1.089891471
5.2515 1.089840076
5.3244 1.089789332
5.3984 1.089739092
5.4735 1.089689351
5.5495 1.089640234
5.6266 1.089591602
5.7048 1.089543449
5.7841 1.089495769
5.8645 1.089448554
5.946 1.089401797
6.0286 1.089355491
6.1124 1.089309572
6.1974 1.089264035
6.2835 1.089218926
6.3708 1.089174184
6.4594 1.089129753
6.5491 1.089085726
6.6401 1.089041996
6.7324 1.088998558
6.826 1.088955406
6.9209 1.088912534
7.017 1.088869978
7.1146 1.088827599
7.2134 1.088785522
7.3137 1.088743611
7.4153 1.088701943
7.5184 1.088660431
7.6229 1.088619107
7.7288 1.088577964
7.8362 1.088536957
7.9451 1.088496079
8.0555 1.088455323
8.1675 1.088414645
8.281 1.088374075
8.3961 1.08833357
8.5128 1.088293124
8.6311 1.088252728
8.751 1.088212375
8.8726 1.088172024
8.9959 1.088131668
9.1209 1.088091299
9.2477 1.088050877
9.3762 1.088010426
9.5065 1.087969908
9.6386 1.087929314
9.7726 1.087888605
9.9084 1.087847802
10.046 1.087806898
10.186 1.087765705
10.327 1.087724557
10.471 1.08768286
10.616 1.087641253
10.764 1.087599151
10.913 1.087557115
11.065 1.087514569
11.219 1.087471785
11.375 1.08742875
11.533 1.087385455
11.693 1.087341885
11.856 1.08729776
12.02 1.087253606
12.187 1.087208874
12.357 1.087163552
12.529 1.087117895
12.703 1.087071887
12.879 1.087025514
13.058 1.086978499
13.24 1.086930828
13.424 1.086882747
13.61 1.08683424
13.799 1.086785031
13.991 1.086735104
14.186 1.08668444
14.383 1.086633281
14.583 1.086581352
14.785 1.086528893
14.991 1.086475364
15.199 1.086421266
15.41 1.086366316
15.625 1.086310234
15.842 1.086253519
16.062 1.086195888
16.285 1.086137318
16.511 1.086077786
16.741 1.086017001
16.973 1.085955469
17.209 1.085892633
17.449 1.085828464
17.691 1.08576347
17.937 1.085697086
18.186 1.085629552
18.439 1.085560565
18.695 1.085490368
18.955 1.085418656
19.218 1.08534567
19.485 1.0852711
19.756 1.085194909
20.031 1.085117063
20.309 1.085037808
20.591 1.084956822
20.878 1.084873778
21.168 1.084789214
21.462 1.084702799
21.76 1.084614492
22.063 1.084523953
22.369 1.084431734
22.68 1.084337191
22.995 1.08424058
23.315 1.084141546
23.639 1.08404035
23.967 1.083936946
24.3 1.083830969
24.638 1.083722362
24.981 1.083611074
25.328 1.083497376
25.68 1.083380887
26.037 1.083261548
26.398 1.08313964
26.765 1.083014428
27.137 1.082886193
27.514 1.082754875
27.897 1.082620062
28.284 1.082482397
28.678 1.082340746
29.076 1.082196122
29.48 1.082047736
29.89 1.081895517
30.305 1.081739702
30.726 1.081579848
31.153 1.081415948
31.586 1.081247927
32.025 1.081075715
32.47 1.080899238
32.922 1.08071802
33.379 1.08053279
33.843 1.08034266
34.313 1.080147961
34.79 1.079948204
35.274 1.079743303
35.764 1.079533602
36.261 1.079318594
36.765 1.079098192
37.276 1.078872317
37.794 1.078640882
38.319 1.078403801
38.852 1.078160536
39.392 1.077911456
39.939 1.077656477
40.494 1.077395044
41.057 1.077127061
41.628 1.076852437
42.206 1.076571568
42.793 1.076283389
43.387 1.075988792
43.99 1.075686694
44.602 1.075376994
45.221 1.075060615
45.85 1.074735933
46.487 1.074403879
47.133 1.074063838
47.788 1.073715716
48.452 1.073359417
49.126 1.072994302
49.808 1.072621364
50.501 1.072238859
51.202 1.071848348
51.914 1.071448066
52.635 1.071039038
53.367 1.070620032
54.109 1.070191517
54.861 1.069753401
55.623 1.069305585
56.396 1.068847385
57.18 1.068378702
57.974 1.067900036
58.78 1.067410086
59.597 1.066909358
60.425 1.066397755
61.265 1.06587457
62.116 1.065340329
62.98 1.064793675
63.855 1.06423578
64.742 1.063665919
65.642 1.063083354
66.554 1.062488637
67.479 1.061881028
68.417 1.061260436
69.368 1.060626764
70.332 1.05997993
71.309 1.05931985
72.3 1.058645764
73.305 1.057957584
74.324 1.057255224
75.357 1.056538605
76.404 1.05580765
77.466 1.055061582
78.543 1.05430032
79.634 1.053524501
80.741 1.052732632
81.863 1.051925356
83.001 1.051101889
84.154 1.050262888
85.324 1.049406827
86.509 1.048535116
87.712 1.047645496
88.931 1.046739382
90.166 1.045816724
91.42 1.044875227
92.69 1.043917103
93.978 1.042940799
95.284 1.041946271
96.608 1.040933491
97.951 1.039901659
99.312 1.038851506
100.69 1.037783791
102.09 1.036694618
103.51 1.035585509
104.95 1.034456448
106.41 1.033307382
107.89 1.032138304
109.39 1.030949261
110.91 1.029740257
112.45 1.028511307
114.01 1.027262432
115.59 1.025993657
117.2 1.024696959
118.83 1.023380404
120.48 1.022044033
122.16 1.02067977
123.85 1.019303928
125.57 1.01790028
127.32 1.016468849
129.09 1.015017883
130.88 1.013547466
132.7 1.012049443
134.55 1.010523877
136.42 1.008979097
138.31 1.00741521
140.23 1.005824048
142.18 1.004205714
144.16 1.002560308
146.16 1.000896247
148.19 0.999205345
150.25 0.997487737
152.34 0.995743541
154.46 0.993972907
156.6 0.992184351
158.78 0.99036131
160.99 0.988512306
163.23 0.986637506
165.49 0.984745473
167.79 0.982819661
170.13 0.980860264
172.49 0.978884227
174.89 0.976875016
177.32 0.974841221
179.78 0.972783067
182.28 0.970692439
184.81 0.968577945
187.38 0.966431469
189.99 0.96425328
192.63 0.962051998
195.3 0.959827897
198.02 0.957564617
200.77 0.955279094
203.56 0.952963311
206.39 0.950617598
209.26 0.948242277
212.16 0.945845963
215.11 0.943412472
218.1 0.940950403
221.13 0.938460135
224.21 0.935933839
227.32 0.933388283
230.48 0.930807471
233.69 0.92819184
236.93 0.925558098
240.23 0.922882263
243.56 0.92018909
246.95 0.91745478
250.38 0.914695937
253.86 0.911904963
257.39 0.909082352
260.97 0.906228612
264.59 0.903352187
268.27 0.900437693
272 0.897493595
275.78 0.894520443
279.61 0.891518776
283.5 0.888481314
287.44 0.885416432
291.43 0.882324701
295.48 0.879198983
299.59 0.876039885
303.75 0.872855726
307.97 0.869639473
312.25 0.866391765
316.59 0.863113277
320.99 0.859804695
325.45 0.856466716
329.98 0.853092549
334.56 0.849697783
339.21 0.846268325
343.92 0.8428123
348.7 0.839323107
353.55 0.835801557
358.46 0.832255696
363.45 0.828671859
368.5 0.825065227
373.62 0.821429476
378.81 0.817765443
384.07 0.81407395
389.41 0.810348881
394.82 0.806598126
400.31 0.802815645
405.87 0.799009232
411.51 0.795172958
417.23 0.791307758
423.03 0.787414612
428.91 0.783494512
434.87 0.779548424
440.92 0.775570787
447.04 0.771575736
453.26 0.767544449
459.56 0.76349098
465.94 0.759416597
472.42 0.755309614
478.98 0.7511838
485.64 0.747027682
492.39 0.742848701
499.23 0.738647982
506.17 0.734420486
513.2 0.730173456
520.34 0.725896058
527.57 0.721601536
534.9 0.717285084
542.33 0.712947896
549.87 0.708585429
557.51 0.70420473
565.26 0.699801331
573.11 0.695382189
581.08 0.69093738
589.16 0.686473828
597.34 0.681998307
605.64 0.67750118
614.06 0.672983867
622.6 0.668447792
631.25 0.663899596
640.02 0.659335403
648.91 0.654756604
657.93 0.650159446
667.08 0.645545383
676.35 0.640920911
685.75 0.636282502
695.28 0.631631565
704.94 0.626969506
714.74 0.62229302
724.67 0.617608398
734.74 0.61291239
744.95 0.608206455
755.3 0.603492113
765.8 0.59876638
776.44 0.59403527
787.23 0.589295843
798.17 0.584549598
809.27 0.579793806
820.51 0.575038524
831.92 0.570272599
843.48 0.565506035
855.2 0.560736171
867.09 0.555960564
879.14 0.551184785
891.35 0.546410324
903.74 0.541630949
916.3 0.53685208
929.03 0.532075357
941.95 0.52729487
955.04 0.522519524
968.31 0.51774726
981.77 0.51297609
995.41 0.508211076
1009.2 0.503463992
1023.3 0.498681702
1037.5 0.493937184
1051.9 0.489198126
1066.5 0.484466033
1081.3 0.479742472
1096.4 0.474997486
1111.6 0.470295366
1127.1 0.465575751
1142.7 0.460900946
1158.6 0.456212398
1174.7 0.451541341
1191 0.44688902
1207.6 0.442228673
1224.4 0.437590135
1241.4 0.432974575
1258.6 0.428383143
1276.1 0.423790718
1293.9 0.419199195
1311.8 0.414661232
1330.1 0.410102253
1348.6 0.405573976
1367.3 0.40107728
1386.3 0.3965894
1405.6 0.392112113
1425.1 0.387669833
1444.9 0.383241068
1465 0.378827374
1485.3 0.374451704
1506 0.370072536
1526.9 0.365733618
1548.1 0.361415067
1569.7 0.357098247
1591.5 0.352824439
1613.6 0.348574924
1636 0.344350928
1658.7 0.340153636
1681.8 0.335966062
1705.2 0.331807659
1728.9 0.327679345
1752.9 0.323582263
1777.3 0.319500655
1802 0.315452374
1827 0.311438156
1852.4 0.307443104
1878.1 0.303484212
1904.2 0.299546994
1930.7 0.295632633
1957.5 0.291757018
1984.7 0.287906606
2012.3 0.284082412
2040.3 0.280285549
2068.6 0.276530344
2097.4 0.272791262
2126.5 0.26909522
2156.1 0.265417709
2186.1 0.261773129
2216.4 0.258174163
2247.2 0.254596902
2278.5 0.251042576
2310.1 0.247534585
2342.2 0.244051341
2374.8 0.240593919
2407.8 0.237173714
2441.3 0.233781086
2475.2 0.230426856
2509.6 0.227101779
2544.5 0.223806675
2579.8 0.220551545
2615.7 0.217318661
2652 0.214126734
2688.9 0.210958813
2726.2 0.207832668
2764.1 0.204732096
2802.5 0.201665979
2841.5 0.198626988
2881 0.195623533
2921 0.192656004
2961.6 0.189717498
3002.8 0.186808698
3044.5 0.183937105
3086.8 0.181096237
3129.7 0.178286633
3173.2 0.17550877
3217.3 0.17276311
3262 0.170050083
3307.4 0.16736414
3353.3 0.164717447
3399.9 0.162098772
3447.2 0.159508645
3495.1 0.156952921
3543.6 0.154431808
3592.9 0.1519353
3642.8 0.149473942
3693.5 0.147038222
3744.8 0.14463804
3796.8 0.142268913
3849.6 0.139926639
3903.1 0.137615976
3957.3 0.135337097
4012.3 0.133086062
4068.1 0.130863245
4124.6 0.128672808
4181.9 0.126511023
4240.1 0.12437445
4299 0.122270635
4358.7 0.120196087
4419.3 0.118147549
4480.7 0.116128633
4543 0.114136221
4606.1 0.112173628
4670.1 0.110237875
4735.1 0.108326218
4800.9 0.106444684
4867.6 0.104590455
4935.2 0.102763604
5003.8 0.100961559
5073.3 0.099187065
5143.9 0.097435147
5215.3 0.095713341
5287.8 0.09401445
5361.3 0.092340982
5435.8 0.090692981
5511.4 0.08906829
5588 0.087469148
5665.6 0.085895579
5744.3 0.08434559
5824.2 0.082817267
5905.1 0.081314473
5987.2 0.079833526
6070.4 0.07837632
6154.8 0.076941142
6240.3 0.075529638
6327 0.074140149
6414.9 0.072772721
6504.1 0.071425795
6594.5 0.070100876
6686.1 0.068797979
6779 0.067515692
6873.3 0.066252687
6968.8 0.065011609
7065.6 0.063791041
7163.8 0.062589748
7263.4 0.061407753
7364.3 0.060246179
7466.7 0.059102723
7570.4 0.057979574
7675.6 0.056874518
7782.3 0.055787548
7890.5 0.054718645
8000.1 0.053668731
8111.3 0.052635845
8224 0.051620882
8338.3 0.050622892
8454.2 0.049641842
8571.7 0.048677677
8690.8 0.047730338
8811.6 0.046798984
8934.1 0.045883578
9058.2 0.044984795
9184.1 0.044101129
9311.7 0.043233228
9441.2 0.042379686
9572.4 0.041541774
9705.4 0.040718765
9840.3 0.039909977
9977 0.03911595
10116 0.03833378
10256 0.037570616
10399 0.036815519
10543 0.036078997
10690 0.035350755
10838 0.034640629
10989 0.033938935
11142 0.03325039
11297 0.032574894
11454 0.031912339
11613 0.031262609
11774 0.030625582
11938 0.029997308
12104 0.029381608
12272 0.028778341
12442 0.028238472
12615 0.027756525
12791 0.02728033
12968 0.026815184
13149 0.026353192
13331 0.025902003
13517 0.025454154
13704 0.025016845
13895 0.02458302
14088 0.024157283
14284 0.023737378
14482 0.023325393
14684 0.022917198
14888 0.022516857
15095 0.022122337
15304 0.021735468
15517 0.021352551
15733 0.020975456
15951 0.020605842
16173 0.020240297
16398 0.019880519
16626 0.019526475
16857 0.019178131
17091 0.018835446
17329 0.018496976
17569 0.018165515
17814 0.017836926
18061 0.017515235
18312 0.017197774
18567 0.016884588
18825 0.016576889
19086 0.016274605
19351 0.015976552
19620 0.015682751
19893 0.015393216
20170 0.015107955
20450 0.014827954
20734 0.014552169
21022 0.014280592
21314 0.014013214
21611 0.013749142
21911 0.013490136
22215 0.013235271
22524 0.012983716
22837 0.012736293
23154 0.012492966
23476 0.012252963
23803 0.01201631
24133 0.011784409
24469 0.011555137
24809 0.011329868
25154 0.011107918
25503 0.010889904
25858 0.010674574
26217 0.010463138
26581 0.010254971
26951 0.010049514
27325 0.009847864
27705 0.009648922
28090 0.009453215
28480 0.009260717
28876 0.009070931
29277 0.008884327
29684 0.008700429
30097 0.008519242
30515 0.008341187
30939 0.00816582
31369 0.007993136
31805 0.007823128
32247 0.007655787
32695 0.0074911
33150 0.007328702
33610 0.007169288
34077 0.007012146
34551 0.006857285
35031 0.006705021
35518 0.006555025
36012 0.006407297
36512 0.00626212
37020 0.006118907
37534 0.005978215
38056 0.005839485
38585 0.005702983
39121 0.005568695
39664 0.005436604
40216 0.005306227
40775 0.005178039
41341 0.005052016
41916 0.004927712
42498 0.004805552
43089 0.004685109
43688 0.004566587
44295 0.004449974
44910 0.004335258
45535 0.004222067
46167 0.004110937
46809 0.004001331
47460 0.003893422
48119 0.003787364
48788 0.003682828
49466 0.003579966
50153 0.00347877
50850 0.003379085
51557 0.003280913
52274 0.003184249
53000 0.003089218
53737 0.002995554
54483 0.002903504
55241 0.002812693
56008 0.002723477
56787 0.002635502
57576 0.002548989
58376 0.002463822
59187 0.002379995
60010 0.002297403
60844 0.002216142
61689 0.002136204
62547 0.002057398
63416 0.001979904
64297 0.001903625
65191 0.001828473
66097 0.001754529
67015 0.001681784
67947 0.001610079
68891 0.001539564
69848 0.001470157
70819 0.001401784
71803 0.001334512
72801 0.001268268
73813 0.001203049
74839 0.001138853
75879 0.001075674
76933 0.001013507
78002 0.00095229
79086 0.00089202
80186 0.000832641
81300 0.000774256
82430 0.000716756
83575 0.000660188
84737 0.00060445
85914 0.000549636
87108 0.000495648
88319 0.000442485
89546 0.000390186
90791 0.000338665
92053 0.000287961
93332 0.000238069
94629 0.000188948
95944 0.000140593
97277 9.30031E-05
98629 4.61393E-05
100000 0
-1 -1
-2 -2
@@ -0,0 +1,837 @@
1.0023 10.99455176
1.0162 10.99433472
1.0304 10.99411308
1.0447 10.99389002
1.0592 10.99366405
1.0739 10.99343524
1.0888 10.99320365
1.104 10.9929678
1.1193 10.99273087
1.1349 10.99248983
1.1506 10.99224783
1.1666 10.99200187
1.1828 10.99175357
1.1993 10.99150148
1.2159 10.99124873
1.2328 10.99099234
1.25 10.99073241
1.2674 10.99047055
1.285 10.99020683
1.3028 10.98994133
1.3209 10.98967264
1.3393 10.98940087
1.3579 10.98912759
1.3768 10.98885141
1.3959 10.98857389
1.4153 10.98829368
1.435 10.98801087
1.4549 10.98772699
1.4751 10.9874407
1.4956 10.98715213
1.5164 10.98686136
1.5375 10.9865685
1.5589 10.98627367
1.5805 10.98597832
1.6025 10.98567983
1.6248 10.98537967
1.6473 10.98507928
1.6702 10.98477609
1.6934 10.98447154
1.717 10.98416444
1.7408 10.98385748
1.765 10.98354818
1.7896 10.98323667
1.8144 10.98292559
1.8397 10.98261128
1.8652 10.98229757
1.8911 10.98198209
1.9174 10.98166497
1.9441 10.98134632
1.9711 10.98102745
1.9985 10.98070727
2.0263 10.98038589
2.0544 10.98006456
2.083 10.97974111
2.1119 10.97941791
2.1413 10.97909283
2.171 10.97876818
2.2012 10.97844187
2.2318 10.9781151
2.2628 10.97778797
2.2942 10.97746056
2.3261 10.97713195
2.3585 10.97680225
2.3912 10.97647357
2.4245 10.97614301
2.4582 10.97581267
2.4923 10.9754826
2.527 10.97515099
2.5621 10.97481984
2.5977 10.9744883
2.6338 10.97415646
2.6704 10.9738244
2.7075 10.97349223
2.7451 10.97316002
2.7833 10.97282699
2.822 10.9724941
2.8612 10.97216143
2.9009 10.97182904
2.9412 10.97149619
2.9821 10.97116297
3.0236 10.97082947
3.0656 10.97049656
3.1082 10.97016353
3.1514 10.96983044
3.1952 10.96949738
3.2396 10.96916442
3.2846 10.96883163
3.3303 10.96849834
3.3765 10.96816608
3.4235 10.96783275
3.471 10.96750056
3.5193 10.96716747
3.5682 10.96683493
3.6178 10.96650232
3.6681 10.9661697
3.719 10.96583778
3.7707 10.96550532
3.8231 10.96517303
3.8762 10.96484095
3.9301 10.96450853
3.9847 10.96417642
4.0401 10.96384408
4.0963 10.96351156
4.1532 10.96317951
4.2109 10.96284737
4.2694 10.96251519
4.3288 10.96218246
4.3889 10.96185035
4.4499 10.96151778
4.5118 10.9611848
4.5745 10.960852
4.638 10.96051941
4.7025 10.96018601
4.7678 10.95985288
4.8341 10.95951903
4.9013 10.95918502
4.9694 10.95885086
5.0385 10.95851611
5.1085 10.95818128
5.1795 10.95784591
5.2515 10.95751003
5.3244 10.95717415
5.3984 10.95683735
5.4735 10.95649968
5.5495 10.95616206
5.6266 10.9558236
5.7048 10.95548435
5.7841 10.95514431
5.8645 10.95480352
5.946 10.95446199
6.0286 10.95411974
6.1124 10.95377636
6.1974 10.95343187
6.2835 10.9530867
6.3708 10.95274045
6.4594 10.95239273
6.5491 10.95204435
6.6401 10.95169453
6.7324 10.95134327
6.826 10.9509906
6.9209 10.95063651
7.017 10.95028138
7.1146 10.9499241
7.2134 10.94956578
7.3137 10.94920531
7.4153 10.94884343
7.5184 10.94847941
7.6229 10.9481136
7.7288 10.947746
7.8362 10.94737625
7.9451 10.94700435
8.0555 10.94663028
8.1675 10.94625369
8.281 10.94587491
8.3961 10.94549359
8.5128 10.9451097
8.6311 10.94472324
8.751 10.94433418
8.8726 10.94394217
8.9959 10.94354719
9.1209 10.94314922
9.2477 10.94274791
9.3762 10.94234354
9.5065 10.94193578
9.6386 10.94152459
9.7726 10.94110961
9.9084 10.94069113
10.046 10.9402691
10.186 10.93984165
10.327 10.939413
10.471 10.93897702
10.616 10.93853972
10.764 10.93809501
10.913 10.93764886
11.065 10.93719521
11.219 10.936737
11.375 10.93627416
11.533 10.93580663
11.693 10.93533433
11.856 10.93485424
12.02 10.93437217
12.187 10.93388218
12.357 10.93338417
12.529 10.93288101
12.703 10.93237259
12.879 10.93185882
13.058 10.93133669
13.24 10.9308061
13.424 10.93026987
13.61 10.92972787
13.799 10.92917709
13.991 10.92861742
14.186 10.92804872
14.383 10.92747379
14.583 10.92688958
14.785 10.92629888
14.991 10.92569569
15.199 10.92508574
15.41 10.92446593
15.625 10.92383317
15.842 10.92319318
16.062 10.92254284
16.285 10.92188199
16.511 10.92121045
16.741 10.92052505
16.973 10.91983156
17.209 10.91912381
17.449 10.91840157
17.691 10.91767064
17.937 10.91692479
18.186 10.91616681
18.439 10.91539341
18.695 10.9146074
18.955 10.91380547
19.218 10.91299044
19.485 10.91215894
19.756 10.91131068
20.031 10.91044535
20.309 10.90956583
20.591 10.90866864
20.878 10.90775027
21.168 10.90681678
21.462 10.90586463
21.76 10.90489348
22.063 10.90389969
22.369 10.90288945
22.68 10.90185578
22.995 10.90080161
23.315 10.89972317
23.639 10.89862339
23.967 10.89750187
24.3 10.89635475
24.638 10.89518153
24.981 10.89398171
25.328 10.89275832
25.68 10.89150734
26.037 10.89022824
26.398 10.88892411
26.765 10.88758716
27.137 10.88622044
27.514 10.88482336
27.897 10.88339159
28.284 10.88193202
28.678 10.88043267
29.076 10.8789043
29.48 10.87733861
29.89 10.87573485
30.305 10.87409625
30.726 10.87241814
31.153 10.87069976
31.586 10.86894032
32.025 10.86713902
32.47 10.86529505
32.922 10.86340338
33.379 10.86147157
33.843 10.8594903
34.313 10.85746294
34.79 10.85538423
35.274 10.85325318
35.764 10.85107323
36.261 10.84883897
36.765 10.84654935
37.276 10.84420332
37.794 10.8417998
38.319 10.83933773
38.852 10.83681124
39.392 10.83422389
39.939 10.83157457
40.494 10.82885725
41.057 10.82607063
41.628 10.8232134
42.206 10.82028935
42.793 10.81728703
43.387 10.81421533
43.99 10.81106257
44.602 10.80782724
45.221 10.80451854
45.85 10.80111898
46.487 10.79763782
47.133 10.79406812
47.788 10.79040832
48.452 10.78665684
49.126 10.78280636
49.808 10.77886671
50.501 10.77481888
51.202 10.77067871
51.914 10.76642677
52.635 10.76207323
53.367 10.75760421
54.109 10.75302391
54.861 10.74833054
55.623 10.74352231
56.396 10.73859101
57.18 10.73353463
57.974 10.72835776
58.78 10.72304535
59.597 10.71760191
60.425 10.71202547
61.265 10.70630723
62.116 10.70045193
62.98 10.69444366
63.855 10.68829418
64.742 10.68199446
65.642 10.67553515
66.554 10.66892126
67.479 10.66214333
68.417 10.65519911
69.368 10.64808635
70.332 10.64080282
71.309 10.63334635
72.3 10.62570702
73.305 10.61788249
74.324 10.60987044
75.357 10.60166859
76.404 10.5932747
77.466 10.58467846
78.543 10.57587747
79.634 10.5668777
80.741 10.55766037
81.863 10.54823147
83.001 10.53858031
84.154 10.52871316
85.324 10.51861063
86.509 10.50828778
87.712 10.49771622
88.931 10.48691124
90.166 10.47587085
91.42 10.46456599
92.69 10.45302154
93.978 10.44121735
95.284 10.42915133
96.608 10.41682147
97.951 10.40421645
99.312 10.39134373
100.69 10.37821118
102.09 10.36476923
103.51 10.35103498
104.95 10.33700663
106.41 10.32268251
107.89 10.3080611
109.39 10.29314097
110.91 10.27792085
112.45 10.2623996
114.01 10.24657619
115.59 10.23044975
117.2 10.21391654
118.83 10.19707775
120.48 10.17993295
122.16 10.16237708
123.85 10.14461898
125.57 10.12644856
127.32 10.10786432
129.09 10.08897199
130.88 10.0697721
132.7 10.0501573
134.55 10.03012692
136.42 10.00978953
138.31 9.989146321
140.23 9.968088743
142.18 9.946616986
144.16 9.92473148
146.16 9.902544024
148.19 9.879945153
150.25 9.85693596
152.34 9.833517776
154.46 9.809692166
156.6 9.785573783
158.78 9.760939249
160.99 9.735903369
163.23 9.710468638
165.49 9.684751678
167.79 9.65852784
170.13 9.631799639
172.49 9.604798905
174.89 9.577300459
177.32 9.549422471
179.78 9.521168998
182.28 9.492429294
184.81 9.463322653
187.38 9.433738633
189.99 9.403681998
192.63 9.373272998
195.3 9.342516971
198.02 9.311189097
200.77 9.279525529
203.56 9.247417139
206.39 9.214870248
209.26 9.181891428
212.16 9.148602218
215.11 9.114780078
218.1 9.08054714
221.13 9.045910899
224.21 9.010765062
227.32 8.975345759
230.48 8.939433354
233.69 8.903036925
236.93 8.866391745
240.23 8.829167658
243.56 8.791712369
246.95 8.753697985
250.38 8.715359
253.86 8.676593534
257.39 8.637412225
260.97 8.597825908
264.59 8.557955508
268.27 8.517591917
272 8.476856826
275.78 8.435761706
279.61 8.39431815
283.5 8.35243045
287.44 8.310218917
291.43 8.267695475
295.48 8.224766411
299.59 8.181445566
303.75 8.137851395
307.97 8.09389223
312.25 8.049582202
316.59 8.00493552
320.99 7.959966452
325.45 7.91468931
329.98 7.869017964
334.56 7.823168413
339.21 7.776954807
343.92 7.730491965
348.7 7.683696681
353.55 7.636585511
358.46 7.589270982
363.45 7.541576885
368.5 7.493710845
373.62 7.445593284
378.81 7.397240522
384.07 7.348668786
389.41 7.299803101
394.82 7.250752237
400.31 7.201442675
405.87 7.151981236
411.51 7.102587703
417.23 7.06402056
423.03 7.025210498
428.91 6.986167724
434.87 6.946902529
440.92 6.907360274
447.04 6.867682141
453.26 6.827683996
459.56 6.787505761
465.94 6.747158131
472.42 6.706526101
478.98 6.665746632
485.64 6.624707029
492.39 6.583480392
499.23 6.542078094
506.17 6.500449198
513.2 6.458665672
520.34 6.41662371
527.57 6.374453398
534.9 6.332108647
542.33 6.289601896
549.87 6.24688855
557.51 6.20403791
565.26 6.161007023
573.11 6.117864601
581.08 6.074513619
589.16 6.031021948
597.34 5.98745625
605.64 5.943723446
614.06 5.899837669
622.6 5.855812582
631.25 5.811713325
640.02 5.767502527
648.91 5.723193878
657.93 5.678751797
667.08 5.634191114
676.35 5.589574256
685.75 5.544866798
695.28 5.500083542
704.94 5.45523873
714.74 5.410300732
724.67 5.365329599
734.74 5.320294193
744.95 5.275209768
755.3 5.230090962
765.8 5.184908727
776.44 5.139721179
787.23 5.094500882
798.17 5.049262122
809.27 5.003978923
820.51 4.958747618
831.92 4.913462041
843.48 4.868217241
855.2 4.822988443
867.09 4.777752402
879.14 4.732562402
891.35 4.687432319
903.74 4.642303757
916.3 4.597228367
929.03 4.552220688
941.95 4.507225464
955.04 4.462326894
968.31 4.41750528
981.77 4.37274156
995.41 4.328083518
1009.2 4.28364245
1023.3 4.23892148
1037.5 4.19460186
1051.9 4.150381692
1066.5 4.106276041
1081.3 4.062298063
1096.4 4.018169257
1111.6 3.974488485
1127.1 3.930694243
1142.7 3.887363761
1158.6 3.843954256
1174.7 3.800755984
1191 3.757781197
1207.6 3.714781927
1224.4 3.672031597
1241.4 3.629541627
1258.6 3.587323195
1276.1 3.545144213
1293.9 3.503023094
1311.8 3.461442424
1330.1 3.419718607
1348.6 3.378324903
1367.3 3.337268632
1386.3 3.296341397
1405.6 3.255559194
1425.1 3.215144859
1444.9 3.174901161
1465 3.134842866
1485.3 3.095178544
1506 3.055530126
1526.9 3.016294191
1548.1 2.977291067
1569.7 2.938351883
1591.5 2.899849377
1613.6 2.86161378
1636 2.823655132
1658.7 2.785983006
1681.8 2.748444005
1705.2 2.71121402
1728.9 2.674301211
1752.9 2.637713271
1777.3 2.60130963
1802 2.565250902
1827 2.529543402
1852.4 2.494051792
1878.1 2.458925674
1904.2 2.424037739
1930.7 2.38939833
1957.5 2.355146523
1984.7 2.321162367
2012.3 2.287454487
2040.3 2.254032497
2068.6 2.221022104
2097.4 2.188196706
2126.5 2.155792379
2156.1 2.123594114
2186.1 2.091719909
2216.4 2.060279788
2247.2 2.029072288
2278.5 1.99810795
2310.1 1.967589618
2342.2 1.937328731
2374.8 1.907341792
2407.8 1.877726751
2441.3 1.848391504
2475.2 1.819428963
2509.6 1.790758644
2544.5 1.762387012
2579.8 1.734399398
2615.7 1.706642667
2652 1.679276732
2688.9 1.652155675
2726.2 1.625430803
2764.1 1.598962722
2802.5 1.572826626
2841.5 1.546959613
2881 1.52143258
2921 1.49624781
2961.6 1.471346165
3002.8 1.446732492
3044.5 1.42246942
3086.8 1.398501542
3129.7 1.374832829
3173.2 1.351466652
3217.3 1.328406034
3262 1.305653667
3307.4 1.283162382
3353.3 1.261033327
3399.9 1.239171822
3447.2 1.217581631
3495.1 1.196310834
3543.6 1.175360349
3592.9 1.154646264
3642.8 1.134255365
3693.5 1.114108072
3744.8 1.094285752
3796.8 1.074750288
3849.6 1.055466223
3903.1 1.036472225
3957.3 1.017769174
4012.3 0.999323893
4068.1 0.981138115
4124.6 0.963245624
4181.9 0.945615417
4240.1 0.928218637
4299 0.911115888
4358.7 0.894277906
4419.3 0.877678096
4480.7 0.861344591
4543 0.845251333
4606.1 0.829424906
4670.1 0.813840474
4735.1 0.798474864
4800.9 0.783376051
4867.6 0.768520594
4935.2 0.753908194
5003.8 0.73951787
5073.3 0.725371145
5143.9 0.71142798
5215.3 0.697747222
5287.8 0.684270904
5361.3 0.671018229
5435.8 0.657988775
5511.4 0.645165125
5588 0.632564732
5665.6 0.620186698
5744.3 0.608014228
5824.2 0.596032424
5905.1 0.584270939
5987.2 0.572699909
6070.4 0.561333603
6154.8 0.550158115
6240.3 0.539185536
6327 0.52840244
6414.9 0.517808732
6504.1 0.507392092
6594.5 0.497163832
6686.1 0.487122928
6779 0.477257731
6873.3 0.467557489
6968.8 0.458042086
7065.6 0.448700501
7163.8 0.439522511
7263.4 0.430507697
7364.3 0.421664264
7466.7 0.412973988
7570.4 0.404453099
7675.6 0.396084247
7782.3 0.387866877
7890.5 0.379800391
8000.1 0.371891255
8111.3 0.364124144
8224 0.356505379
8338.3 0.349027407
8454.2 0.341689468
8571.7 0.335116501
8690.8 0.328977817
8811.6 0.322940272
8934.1 0.317003582
9058.2 0.311171979
9184.1 0.305435565
9311.7 0.299798521
9441.2 0.294251728
9572.4 0.288803375
9705.4 0.283448638
9840.3 0.278183112
9977 0.273010231
10116 0.267911202
10256 0.262932412
10399 0.258002478
10543 0.253190075
10690 0.248427925
10838 0.243780372
10989 0.239184018
11142 0.234670094
11297 0.230237869
11454 0.225886554
11613 0.221615309
11774 0.217423251
11938 0.213284603
12104 0.209224784
12272 0.205242726
12442 0.201337338
12615 0.197485581
12791 0.193688352
12968 0.189987582
13149 0.186320223
13331 0.182746745
13517 0.179207798
13704 0.175760025
13895 0.172347564
14088 0.169006431
14284 0.16571867
14482 0.162500394
14684 0.159319127
14888 0.156206361
15095 0.15314602
15304 0.150152067
15517 0.147195654
15733 0.144291079
15951 0.141450859
16173 0.138648579
16398 0.135897078
16626 0.13319591
16857 0.130544597
17091 0.127942625
17329 0.125378846
17569 0.122874232
17814 0.120397336
18061 0.117978334
18312 0.11559695
18567 0.113253383
18825 0.110956527
19086 0.108705627
19351 0.106491697
19620 0.10431474
19893 0.102174711
20170 0.100071512
20450 0.098012246
20734 0.095989036
21022 0.094001686
21314 0.092049962
21611 0.090127227
21911 0.088246133
22215 0.086399777
22524 0.084582024
22837 0.082798661
23154 0.081049281
23476 0.079328201
23803 0.077635481
24133 0.075981004
24469 0.074349473
24809 0.072750562
25154 0.071179264
25503 0.069639815
25858 0.068123257
26217 0.066637982
26581 0.065179469
26951 0.063743695
27325 0.062338194
27705 0.060955196
28090 0.059598245
28480 0.05826705
28876 0.056958052
29277 0.055674392
29684 0.05441268
30097 0.053172856
30515 0.051957694
30939 0.050764042
31369 0.049591775
31805 0.048440746
32247 0.04731079
32695 0.046201726
33150 0.045110995
33610 0.044043178
34077 0.0429934
34551 0.041961634
35031 0.040949903
35518 0.039955929
36012 0.038979626
36512 0.038022771
37020 0.037081415
37534 0.036159131
38056 0.035252179
38585 0.034362218
39121 0.033489069
39664 0.032632547
40216 0.031789446
40775 0.030962758
41341 0.030152262
41916 0.029355
42498 0.02857364
43089 0.027805377
43688 0.027051443
44295 0.026311696
44910 0.025585982
45535 0.024871892
46167 0.024172739
46809 0.023485073
47460 0.022809933
48119 0.022148207
48788 0.021497779
49466 0.020859551
50153 0.020233397
50850 0.019618312
51557 0.019014239
52274 0.018421107
53000 0.017839625
53737 0.017268101
54483 0.016707989
55241 0.016156966
56008 0.015617136
56787 0.015086298
57576 0.014565754
58376 0.014054739
59187 0.013553176
60010 0.013060388
60844 0.012576908
61689 0.012102636
62547 0.011636394
63416 0.011179208
64297 0.010730458
65191 0.010289583
66097 0.009857018
67015 0.009432673
67947 0.009015574
68891 0.008606559
69848 0.008205111
70819 0.007810761
71803 0.007423859
72801 0.00704395
73813 0.006670984
74839 0.006304906
75879 0.005945654
76933 0.005593161
78002 0.005247038
79086 0.00490724
80186 0.004573417
81300 0.00424612
82430 0.0039247
83575 0.003609391
84737 0.003299597
85914 0.002995804
87108 0.002697444
88319 0.002404482
89546 0.00211711
90791 0.001834818
92053 0.001557795
93332 0.001285991
94629 0.001019147
95944 0.000757224
97277 0.000500179
98629 0.000247782
100000 0
-1 -1
-2 -2
@@ -0,0 +1,837 @@
1.0023 11.05592056
1.0162 11.0557178
1.0304 11.05551074
1.0447 11.05530236
1.0592 11.05509126
1.0739 11.0548775
1.0888 11.05466115
1.104 11.05444082
1.1193 11.05421947
1.1349 11.05399429
1.1506 11.05376821
1.1666 11.05353844
1.1828 11.05330647
1.1993 11.05307097
1.2159 11.05283484
1.2328 11.05259532
1.25 11.0523525
1.2674 11.05210786
1.285 11.05186149
1.3028 11.05161345
1.3209 11.05136244
1.3393 11.05110855
1.3579 11.05085325
1.3768 11.05059524
1.3959 11.05033598
1.4153 11.0500742
1.435 11.04981
1.4549 11.04954479
1.4751 11.04927735
1.4956 11.04900775
1.5164 11.04873611
1.5375 11.04846252
1.5589 11.04818709
1.5805 11.04791117
1.6025 11.04763232
1.6248 11.04735191
1.6473 11.04707128
1.6702 11.04678804
1.6934 11.04650352
1.717 11.04621662
1.7408 11.04592986
1.765 11.04564091
1.7896 11.0453499
1.8144 11.04505928
1.8397 11.04476449
1.8652 11.04446064
1.8911 11.04413752
1.9174 11.04379415
1.9441 11.04342953
1.9711 11.04304407
1.9985 11.04263538
2.0263 11.04220238
2.0544 11.0417456
2.083 11.04126067
2.1119 11.04074982
2.1413 11.04020832
2.171 11.03963866
2.2012 11.03903577
2.2318 11.0384003
2.2628 11.03773096
2.2942 11.03702649
2.3261 11.03628322
2.3585 11.03549958
2.3912 11.03467908
2.4245 11.03381272
2.4582 11.03290409
2.4923 11.03195185
2.527 11.03094877
2.5621 11.02989899
2.5977 11.02879801
2.6338 11.02764419
2.6704 11.02643587
2.7075 11.02517142
2.7451 11.0238492
2.7833 11.0224639
2.822 11.02101738
2.8612 11.01950804
2.9009 11.01793432
2.9412 11.01629053
2.9821 11.01457483
3.0236 11.01278537
3.0656 11.01092487
3.1082 11.0089873
3.1514 11.00697096
3.1952 11.00487419
3.2396 11.00269538
3.2846 11.00043299
3.3303 10.99808031
3.3765 10.99564622
3.4235 10.9931134
3.471 10.99049655
3.5193 10.98777778
3.5682 10.98496689
3.6178 10.98205694
3.6681 10.97904666
3.719 10.97594103
3.7707 10.9727268
3.8231 10.96940906
3.8762 10.96598698
3.9301 10.96245323
3.9847 10.95881362
4.0401 10.95506086
4.0963 10.9511943
4.1532 10.94722049
4.2109 10.94313225
4.2694 10.93892935
4.3288 10.93460444
4.3889 10.93017216
4.4499 10.92561806
4.5118 10.92094227
4.5745 10.91615283
4.638 10.9112505
4.7025 10.90622051
4.7678 10.90107934
4.8341 10.89581228
4.9013 10.89042841
4.9694 10.88492912
5.0385 10.87930785
5.1085 10.8735744
5.1795 10.86772246
5.2515 10.86175401
5.3244 10.85567954
5.3984 10.84948476
5.4735 10.84317207
5.5495 10.83676099
5.6266 10.83023754
5.7048 10.8236047
5.7841 10.81686563
5.8645 10.81002368
5.946 10.80308234
6.0286 10.7960453
6.1124 10.78890787
6.1974 10.78167402
6.2835 10.77435642
6.3708 10.76695083
6.4594 10.75945323
6.5491 10.75188513
6.6401 10.74423432
6.7324 10.7365057
6.826 10.7287043
6.9209 10.72083522
7.017 10.71291191
7.1146 10.70491502
7.2134 10.69687456
7.3137 10.68877164
7.4153 10.6806281
7.5184 10.67243361
7.6229 10.664202
7.7288 10.65593903
7.8362 10.64764283
7.9451 10.63931942
8.0555 10.63097483
8.1675 10.62260767
8.281 10.61423153
8.3961 10.60584512
8.5128 10.59745464
8.6311 10.58906621
8.751 10.58068591
8.8726 10.57231286
8.9959 10.56395328
9.1209 10.55561326
9.2477 10.54729229
9.3762 10.53900296
9.5065 10.53074473
9.6386 10.52252353
9.7726 10.51433908
9.9084 10.50620329
10.046 10.49812159
10.186 10.49006508
10.327 10.48211902
10.471 10.47417631
10.616 10.46635264
10.764 10.45854527
10.913 10.45086465
11.065 10.44321241
11.219 10.43564519
11.375 10.42816724
11.533 10.42078255
11.693 10.41349489
11.856 10.40626399
12.02 10.39918183
12.187 10.39216502
12.357 10.38521977
12.529 10.37839115
12.703 10.37168133
12.879 10.36509226
13.058 10.35858986
13.24 10.35217885
13.424 10.34589725
13.61 10.33974595
13.799 10.33369412
13.991 10.32774528
14.186 10.32190266
14.383 10.31619761
14.583 10.3106023
14.785 10.30514563
14.991 10.2997756
15.199 10.29454616
15.41 10.28943228
15.625 10.28441231
15.842 10.27953392
16.062 10.27477404
16.285 10.27013315
16.511 10.26561149
16.741 10.26119024
16.973 10.25690763
17.209 10.25272627
17.449 10.2486477
17.691 10.24470504
17.937 10.24086464
18.186 10.23714189
18.439 10.2335214
18.695 10.23001685
18.955 10.22661373
19.218 10.22332415
19.485 10.22013444
19.756 10.2170441
20.031 10.21405246
20.309 10.21116879
20.591 10.20838098
20.878 10.20567869
21.168 10.2030795
21.462 10.20057234
21.76 10.19815569
22.063 10.19582042
22.369 10.19358021
22.68 10.19141857
22.995 10.18934109
23.315 10.1873397
23.639 10.18541909
23.967 10.18357714
24.3 10.18180652
24.638 10.18010589
24.981 10.17847382
25.328 10.17691317
25.68 10.17541751
26.037 10.17398524
26.398 10.17261836
26.765 10.17130763
27.137 10.17002172
27.514 10.16871656
27.897 10.16737899
28.284 10.16601544
28.678 10.16461473
29.076 10.16318691
29.48 10.16172423
29.89 10.16022598
30.305 10.15869518
30.726 10.15712748
31.153 10.15552215
31.586 10.15387845
32.025 10.15219566
32.47 10.150473
32.922 10.14870579
33.379 10.14690107
33.843 10.14505015
34.313 10.14315617
34.79 10.14121422
35.274 10.13922337
35.764 10.13718683
36.261 10.13509956
36.765 10.13296057
37.276 10.13076889
37.794 10.1285235
38.319 10.1262234
38.852 10.12386313
39.392 10.121446
39.939 10.11897098
40.494 10.11643243
41.057 10.11382914
41.628 10.11115989
42.206 10.10842821
42.793 10.10562341
43.387 10.10275379
43.99 10.09980846
44.602 10.09678597
45.221 10.09369495
45.85 10.09051905
46.487 10.08726691
47.133 10.08393206
47.788 10.08051304
48.452 10.07700836
49.126 10.0734112
49.808 10.06973074
50.501 10.06594922
51.202 10.06208142
51.914 10.05810922
52.635 10.0540421
53.367 10.04986709
54.109 10.04558813
54.861 10.04120353
55.623 10.03671163
56.396 10.03210476
57.18 10.02738104
57.974 10.02254475
58.78 10.01758184
59.597 10.01249652
60.425 10.00728695
61.265 10.00194491
62.116 9.996474831
62.98 9.990861841
63.855 9.985116934
64.742 9.979231662
65.642 9.973197316
66.554 9.967018544
67.479 9.960686536
68.417 9.954199171
69.368 9.947554351
70.332 9.940750004
71.309 9.933784088
72.3 9.926647349
73.305 9.91933759
74.324 9.911852648
75.357 9.904190393
76.404 9.896348736
77.466 9.888318031
78.543 9.880096056
79.634 9.871688375
80.741 9.86307745
81.863 9.854268873
83.001 9.845252662
84.154 9.836034666
85.324 9.826596773
86.509 9.816953053
87.712 9.807076992
88.931 9.796982868
90.166 9.786668823
91.42 9.776107705
92.69 9.765322757
93.978 9.754295161
95.284 9.743022956
96.608 9.73150427
97.951 9.719728523
99.312 9.707702692
100.69 9.695434127
102.09 9.682876522
103.51 9.670045837
104.95 9.656940402
106.41 9.643558663
107.89 9.629899182
109.39 9.615960643
110.91 9.601741849
112.45 9.587241728
114.01 9.572459332
115.59 9.557393843
117.2 9.54194835
118.83 9.526217375
120.48 9.510200523
122.16 9.493799638
123.85 9.47720984
125.57 9.460234839
127.32 9.442873245
129.09 9.425223835
130.88 9.407287096
132.7 9.388962737
134.55 9.370250146
136.42 9.351250743
138.31 9.331965642
140.23 9.312293431
142.18 9.292234289
144.16 9.27178862
146.16 9.251060864
148.19 9.229948761
150.25 9.208453331
152.34 9.186575817
154.46 9.164317681
156.6 9.141786035
158.78 9.118772193
160.99 9.095383411
163.23 9.071622017
165.49 9.047596963
167.79 9.023098377
170.13 8.99812861
172.49 8.97290424
174.89 8.947214902
177.32 8.921170993
179.78 8.894776301
182.28 8.867927367
184.81 8.840735637
187.38 8.813097934
189.99 8.785018709
192.63 8.756610301
195.3 8.727877696
198.02 8.698610867
200.77 8.669030428
203.56 8.639034433
206.39 8.608628785
209.26 8.577819624
212.16 8.546720493
215.11 8.515123494
218.1 8.483142723
221.13 8.450785182
224.21 8.417951571
227.32 8.384862486
230.48 8.351312738
233.69 8.317310812
236.93 8.283076498
240.23 8.248301365
243.56 8.21331024
246.95 8.177796802
250.38 8.141980119
253.86 8.105765012
257.39 8.069161421
260.97 8.032179467
264.59 7.99493212
268.27 7.957224028
272 7.919168877
275.78 7.880777383
279.61 7.842060377
283.5 7.802928447
287.44 7.763493988
291.43 7.723768142
295.48 7.683663358
299.59 7.643192568
303.75 7.602466434
307.97 7.56139932
312.25 7.520004426
316.59 7.478295025
320.99 7.436284449
325.45 7.393986066
329.98 7.351319414
334.56 7.308486281
339.21 7.275489252
343.92 7.242850777
348.7 7.209928969
353.55 7.176731968
358.46 7.143336026
363.45 7.109613444
368.5 7.075707517
373.62 7.041558589
378.81 7.007175254
384.07 6.972565901
389.41 6.937673353
394.82 6.902571961
400.31 6.867205628
405.87 6.831647635
411.51 6.795843293
417.23 6.759802102
423.03 6.72353331
428.91 6.687046235
434.87 6.650350261
440.92 6.613394109
447.04 6.576309479
453.26 6.538924682
459.56 6.501370587
465.94 6.463656573
472.42 6.425674846
478.98 6.387553128
485.64 6.349185751
492.39 6.310641445
499.23 6.271930893
506.17 6.23300596
513.2 6.193933975
520.34 6.154617655
527.57 6.115178239
534.9 6.075572655
542.33 6.035812106
549.87 5.995854837
557.51 5.955766077
565.26 5.915504749
573.11 5.875134672
581.08 5.834565419
589.16 5.793860884
597.34 5.75308295
605.64 5.712143491
614.06 5.671056101
622.6 5.629833927
631.25 5.588537378
640.02 5.547130853
648.91 5.505627021
657.93 5.463992393
667.08 5.422241217
676.35 5.380431802
685.75 5.338531702
695.28 5.296554625
704.94 5.25451317
714.74 5.212377457
724.67 5.170204102
734.74 5.127963649
744.95 5.085670179
755.3 5.043337152
765.8 5.000937601
776.44 4.95852579
787.23 4.91607507
798.17 4.873599098
809.27 4.831073139
820.51 4.788587962
831.92 4.746044123
843.48 4.703529911
855.2 4.661021646
867.09 4.618497745
879.14 4.576008571
891.35 4.533566734
903.74 4.49111689
916.3 4.448707862
929.03 4.40635286
941.95 4.363999388
955.04 4.321726902
968.31 4.279517122
981.77 4.237352326
995.41 4.195276984
1009.2 4.153395479
1023.3 4.111238911
1037.5 4.069449624
1051.9 4.027743264
1066.5 3.986133447
1081.3 3.944633581
1096.4 3.902981024
1111.6 3.86174046
1127.1 3.820381112
1142.7 3.779448311
1158.6 3.738429571
1174.7 3.697598441
1191 3.656965842
1207.6 3.616298415
1224.4 3.575854893
1241.4 3.53564543
1258.6 3.49567994
1276.1 3.455739865
1293.9 3.415842812
1311.8 3.37644518
1330.1 3.336898469
1348.6 3.297651412
1367.3 3.258712309
1386.3 3.219882674
1405.6 3.181177923
1425.1 3.142809869
1444.9 3.104590424
1465 3.066532733
1485.3 3.028836394
1506 2.991142367
1526.9 2.953826827
1548.1 2.916719248
1569.7 2.879660452
1591.5 2.843004352
1613.6 2.806588469
1636 2.770422717
1658.7 2.734516595
1681.8 2.698724242
1705.2 2.663212461
1728.9 2.627990824
1752.9 2.593067164
1777.3 2.558305033
1802 2.523856869
1827 2.489730619
1852.4 2.455798823
1878.1 2.422202177
1904.2 2.388819494
1930.7 2.355662694
1957.5 2.32286405
1984.7 2.290306262
2012.3 2.257999703
2040.3 2.225954102
2068.6 2.194288467
2097.4 2.162787704
2126.5 2.131678138
2156.1 2.100752968
2186.1 2.070125766
2216.4 2.039902607
2247.2 2.009889824
2278.5 1.980097662
2310.1 1.950721497
2342.2 1.921580057
2374.8 1.892689513
2407.8 1.864144282
2441.3 1.835855953
2475.2 1.807914429
2509.6 1.780242011
2544.5 1.752845057
2579.8 1.725806149
2615.7 1.698977917
2652 1.672515135
2688.9 1.646276514
2726.2 1.620408899
2764.1 1.59477765
2802.5 1.569455643
2841.5 1.544382027
2881 1.519625856
2921 1.495189736
2961.6 1.471016455
3002.8 1.447111113
3044.5 1.423534757
3086.8 1.400233802
3129.7 1.377212117
3173.2 1.354473254
3217.3 1.332020455
3262 1.309856418
3307.4 1.287935528
3353.3 1.266356756
3399.9 1.245027936
3447.2 1.223952865
3495.1 1.203178659
3543.6 1.182706445
3592.9 1.162454708
3642.8 1.142508543
3693.5 1.122790375
3744.8 1.103380135
3796.8 1.084240547
3849.6 1.065337196
3903.1 1.046708349
3957.3 1.028354969
4012.3 1.010244597
4068.1 0.992379669
4124.6 0.974793535
4181.9 0.957455572
4240.1 0.940337555
4299 0.92349965
4358.7 0.906913632
4419.3 0.890553208
4480.7 0.874446361
4543 0.858567679
4606.1 0.842943709
4670.1 0.827549901
4735.1 0.812363691
4800.9 0.797432865
4867.6 0.782734269
4935.2 0.768268022
5003.8 0.754013782
5073.3 0.739992939
5143.9 0.726165876
5215.3 0.71259104
5287.8 0.699211437
5361.3 0.686046246
5435.8 0.673095613
5511.4 0.660342384
5588 0.647803213
5665.6 0.635478277
5744.3 0.623351512
5824.2 0.61140784
5905.1 0.599676592
5987.2 0.588128693
6070.4 0.576778653
6154.8 0.565612385
6240.3 0.554642757
6327 0.543856171
6414.9 0.533252355
6504.1 0.522819456
6594.5 0.512569208
6686.1 0.502500916
6779 0.49260292
6873.3 0.482864559
6968.8 0.47330605
7065.6 0.463916542
7163.8 0.454685926
7263.4 0.445613957
7364.3 0.436709083
7466.7 0.427953156
7570.4 0.419362682
7675.6 0.410920335
7782.3 0.402625783
7890.5 0.394478542
8000.1 0.386485338
8111.3 0.378630948
8224 0.370921848
8338.3 0.363350551
8454.2 0.355916513
8571.7 0.34861902
8690.8 0.341457326
8811.6 0.334424778
8934.1 0.327520776
9058.2 0.320750163
9184.1 0.314101274
9311.7 0.307578681
9441.2 0.301171629
9572.4 0.294889363
9705.4 0.288726166
9840.3 0.282676755
9977 0.27674486
10116 0.270908497
10256 0.26522085
10399 0.259600113
10543 0.254124218
10690 0.248716393
10838 0.243449469
10989 0.23825143
11142 0.233156973
11297 0.228165082
11454 0.223274795
11613 0.218485039
11774 0.213794634
11938 0.209174312
12104 0.204651986
12272 0.20022645
12442 0.195896418
12615 0.191636004
12791 0.187445615
12968 0.183371358
13149 0.179343552
13331 0.175428386
13517 0.171560646
13704 0.167801895
13895 0.164091018
14088 0.160466796
14284 0.156909534
14482 0.153437222
14684 0.150014398
14888 0.146673811
15095 0.143398243
15304 0.140273642
15517 0.137511729
15733 0.134798245
15951 0.132144881
16173 0.129526962
16398 0.12695648
16626 0.124433022
16857 0.121956137
17091 0.119525347
17329 0.117130238
17569 0.114790401
17814 0.112476458
18061 0.110216602
18312 0.107991888
18567 0.105802503
18825 0.103656756
19086 0.101553941
19351 0.099485664
19620 0.097451929
19893 0.09545269
20170 0.09348786
20450 0.091564072
20734 0.089673968
21022 0.087817364
21314 0.085994043
21611 0.084197804
21911 0.082440466
22215 0.080715581
22524 0.079017418
22837 0.07735138
23154 0.075717091
23476 0.07410924
23803 0.072527883
24133 0.070982254
24469 0.069458061
24809 0.067964341
25154 0.066496418
25503 0.065058248
25858 0.063641464
26217 0.062253905
26581 0.060891346
26951 0.059550031
27325 0.058236997
27705 0.056944986
28090 0.055677308
28480 0.054433691
28876 0.053210812
29277 0.052011603
29684 0.050832899
30097 0.049674642
30515 0.048539425
30939 0.047424303
31369 0.046329158
31805 0.045253855
32247 0.044198238
32695 0.043162139
33150 0.042143166
33610 0.0411456
34077 0.040164887
34551 0.039201
35031 0.038255831
35518 0.03732725
36012 0.036415177
36512 0.035521273
37020 0.034641848
37534 0.033780241
38056 0.032932957
38585 0.032101545
39121 0.031285841
39664 0.030485669
40216 0.029698035
40775 0.028925735
41341 0.028168561
41916 0.02742375
42498 0.026693795
43089 0.025976076
43688 0.025271743
44295 0.024580663
44910 0.023902694
45535 0.023235583
46167 0.022582427
46809 0.021940003
47460 0.021309279
48119 0.020691088
48788 0.020083452
49466 0.019487212
50153 0.018902252
50850 0.018327634
51557 0.017763302
52274 0.017209193
53000 0.016665966
53737 0.016132042
54483 0.015608779
55241 0.015094008
56008 0.014589693
56787 0.014093778
57576 0.01360748
58376 0.013130085
59187 0.01266152
60010 0.012201152
60844 0.01174948
61689 0.01130641
62547 0.010870842
63416 0.010443734
64297 0.010024507
65191 0.009612637
66097 0.00920853
67015 0.008812102
67947 0.008422444
68891 0.008040338
69848 0.007665301
70819 0.007296895
71803 0.006935448
72801 0.006580533
73813 0.006232104
74839 0.00589011
75879 0.005554493
76933 0.00522519
78002 0.004901839
79086 0.004584395
80186 0.004272534
81300 0.00396677
82430 0.003666496
83575 0.003371931
84737 0.003082518
85914 0.002798712
87108 0.00251998
88319 0.002246292
89546 0.001977827
90791 0.001714106
92053 0.001455309
93332 0.001201386
94629 0.000952098
95944 0.000707407
97277 0.000467273
98629 0.000231481
100000 0
-1 -1
-2 -2
@@ -0,0 +1,83 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4IonC12.hh,v 1.1 2004/05/14 12:29:32 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
// History: first implementation, based on object model of
// 4-th April 1996, G.Cosmo
// ****************************************************************
// Added particle definitions, H.Kurashige, 19 April 1996
// Revised, G.Cosmo, 6 June 1996
// Added not static GetEnergyCuts() and GetLengthCuts(), G.Cosmo, 11 July 1996
// ----------------------------------------------------------------
// Class Description:
// The new ion C12+ is defined as G4VIon.
// Each class inheriting from G4VIon
// corresponds to a particle type; one and only one
// instance for each class is guaranteed.
// Class Description - end
#ifndef G4IonC12_h
#define G4IonC12_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4VIon.hh"
// ######################################################################
// ### IonC12 ###
// ######################################################################
class G4IonC12 : public G4VIon
{
private:
static G4IonC12 theIonC12;
public: // Without description
G4IonC12(
const G4String& aName, G4double mass,
G4double width, G4double charge,
G4int iSpin, G4int iParity,
G4int iConjugation, G4int iIsospin,
G4int iIsospin3, G4int gParity,
const G4String& pType, G4int lepton,
G4int baryon, G4int encoding,
G4bool stable, G4double lifetime,
G4DecayTable *decaytable
);
virtual ~G4IonC12();
static G4IonC12* IonC12Definition();
static G4IonC12* IonC12();
};
#endif
@@ -0,0 +1,83 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4IonFe52.hh,v 1.1 2004/05/14 12:29:32 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
// History: first implementation, based on object model of
// 4-th April 1996, G.Cosmo
// ****************************************************************
// Added particle definitions, H.Kurashige, 19 April 1996
// Revised, G.Cosmo, 6 June 1996
// Added not static GetEnergyCuts() and GetLengthCuts(), G.Cosmo, 11 July 1996
// ----------------------------------------------------------------
// Class Description:
// The new ion Fe52+ is defined as G4VIon.
// Each class inheriting from G4VIon
// corresponds to a particle type; one and only one
// instance for each class is guaranteed.
// Class Description - end
#ifndef G4IonFe52_h
#define G4IonFe52_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4VIon.hh"
// ######################################################################
// ### IonFe52 ###
// ######################################################################
class G4IonFe52 : public G4VIon
{
private:
static G4IonFe52 theIonFe52;
public: // Without description
G4IonFe52(
const G4String& aName, G4double mass,
G4double width, G4double charge,
G4int iSpin, G4int iParity,
G4int iConjugation, G4int iIsospin,
G4int iIsospin3, G4int gParity,
const G4String& pType, G4int lepton,
G4int baryon, G4int encoding,
G4bool stable, G4double lifetime,
G4DecayTable *decaytable
);
virtual ~G4IonFe52();
static G4IonFe52* IonFe52Definition();
static G4IonFe52* IonFe52();
};
#endif
@@ -0,0 +1,59 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
#ifndef G4IonO16_h
#define G4IonO16_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4VIon.hh"
// ######################################################################
// ### IonO16 ###
// ######################################################################
class G4IonO16 : public G4VIon
{
private:
static G4IonO16 theIonO16;
public:
G4IonO16(
const G4String& aName, G4double mass,
G4double width, G4double charge,
G4int iSpin, G4int iParity,
G4int iConjugation, G4int iIsospin,
G4int iIsospin3, G4int gParity,
const G4String& pType, G4int lepton,
G4int baryon, G4int encoding,
G4bool stable, G4double lifetime,
G4DecayTable *decaytable
);
virtual ~G4IonO16();
static G4IonO16* IonO16Definition();
static G4IonO16* IonO16();
};
#endif
@@ -0,0 +1,83 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4IonSi28.hh,v 1.1 2004/05/14 12:29:32 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
// History: first implementation, based on object model of
// 4-th April 1996, G.Cosmo
// ****************************************************************
// Added particle definitions, H.Kurashige, 19 April 1996
// Revised, G.Cosmo, 6 June 1996
// Added not static GetEnergyCuts() and GetLengthCuts(), G.Cosmo, 11 July 1996
// ----------------------------------------------------------------
// Class Description:
// The new ion Si28+ is defined as G4VIon.
// Each class inheriting from G4VIon
// corresponds to a particle type; one and only one
// instance for each class is guaranteed.
// Class Description - end
#ifndef G4IonSi28_h
#define G4IonSi28_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4VIon.hh"
// ######################################################################
// ### IonSi28 ###
// ######################################################################
class G4IonSi28 : public G4VIon
{
private:
static G4IonSi28 theIonSi28;
public: // Without description
G4IonSi28(
const G4String& aName, G4double mass,
G4double width, G4double charge,
G4int iSpin, G4int iParity,
G4int iConjugation, G4int iIsospin,
G4int iIsospin3, G4int gParity,
const G4String& pType, G4int lepton,
G4int baryon, G4int encoding,
G4bool stable, G4double lifetime,
G4DecayTable *decaytable
);
virtual ~G4IonSi28();
static G4IonSi28* IonSi28Definition();
static G4IonSi28* IonSi28();
};
#endif
@@ -0,0 +1,111 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// **********************************
// * *
// * RemSimAnalysisManager.hh *
// * *
// **********************************
//
// $Id: RemSimAnalysisManager.hh,v 1.5 2004/05/22 12:57:04 guatelli Exp $
//
// Author: Susanna Guatelli (guatelli@ge.infn.it)
//
#ifdef G4ANALYSIS_USE
#ifndef REMSIMANALYSISMANAGER_HH
#define REMSIMANALYSISMANAGER_HH
#include "globals.hh"
#include <vector>
#include "G4ThreeVector.hh"
# include <AIDA/AIDA.h>
namespace AIDA
{
class ITree;
class IHistogramFactory;
class IAnalysisFactory;
class IDataPoint;
class ITupleFactory;
class ITuple;
class ITreeFactory;
};
class RemSimAnalysisManager {
public:
~RemSimAnalysisManager();
static RemSimAnalysisManager* getInstance();
void book(); // booking the hbook file
void energyDepositStore(G4int, G4double);
// Collect the energy deposit in the phantom
void primaryParticleEnergyDistribution(G4double);
// Initail energy of primary particles
void SecondaryEnergyDeposit(G4int, G4double);
// Energy deposit given by secondary particles in the phantom
void PrimaryInitialEnergyIn(G4double);
// Initial energy of primary particles impinging on the phantom
void PrimaryInitialEnergyOut(G4double);
// Initial energy of primary particles outgoing the phantom
void PrimaryEnergyIn(G4double);
// Energy of primary particles impinging on the phantom
void PrimaryEnergyOut(G4double);
// Energy of primary particles outgoing the phantom
void finish();
private:
static RemSimAnalysisManager* instance;
RemSimAnalysisManager();
AIDA::IAnalysisFactory* aFact;
AIDA::ITreeFactory* treeFact;
AIDA::ITree* theTree;
AIDA::IDataPointSetFactory * dataPointFactory;
AIDA::IHistogramFactory* histogramFactory;
AIDA::IDataPointSet * dataPoint;
AIDA::IHistogram1D* energyDeposit;
AIDA::IHistogram1D* primary;
AIDA::IHistogram1D* secondaryDeposit;
AIDA::IHistogram1D* primaryInitialE;
AIDA::IHistogram1D* primaryInitialEout;
AIDA::IHistogram1D* initialE;
AIDA::IHistogram1D* initialEout;
};
#endif
#endif
@@ -0,0 +1,69 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// **********************************
// * *
// * RemSimAstronautDecorator.hh *
// * *
// **********************************
//
// $Id: RemSimAstronautDecorator.hh,v 1.6 2004/05/22 12:57:04 guatelli Exp $
//
// Author:Susanna Guatelli, guatelli@ge.infn.it
#ifndef RemSimAstronautDecorator_h
#define RemSimAstronautDecorator_h 1
#include "RemSimDecorator.hh"
#include "RemSimVGeometryComponent.hh"
#include "globals.hh"
class G4VPhysicalVolume;
class G4Box;
class G4LogicalVolume;
class G4Material;
class RemSimMaterial;
class RemSimVGeometryComponent;
class RemSimDecorator;
class G4VPhysicalVolume;
class G4VisAttributes;
class RemSimAstronautDecorator: public RemSimDecorator
{
public:
RemSimAstronautDecorator(RemSimVGeometryComponent*);
~RemSimAstronautDecorator();
void ConstructComponent(G4VPhysicalVolume*);
void DestroyComponent();
void ChangeThickness(G4double);
void PrintDetectorParameters();
G4VPhysicalVolume* GetShelter(){return 0;};
void ChangeMother(G4VPhysicalVolume*);
private:
void ConstructAstronaut(G4VPhysicalVolume*);
G4Box* phantom;
G4LogicalVolume* phantomLog;
G4VPhysicalVolume* phantomPhys;
G4VPhysicalVolume* motherAstronaut;
G4bool flag;
};
#endif
@@ -0,0 +1,65 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// **********************************
// * *
// * RemSimBasicGenerator.hh *
// * *
// **********************************
//
// $Id: RemSimBasicGenerator.hh,v 1.7 2004/05/27 10:33:11 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author:Susanna Guatelli, guatelli@ge.infn.it
#ifndef RemSimBasicGenerator_h
#define RemSimBasicGenerator_h 1
#include "RemSimVPrimaryGeneratorFactory.hh"
#include "globals.hh"
#include "G4DataVector.hh"
class G4ParticleGun;
class G4Event;
class RemSimRunAction;
class RemSimBasicGenerator : public RemSimVPrimaryGeneratorFactory
{
public:
RemSimBasicGenerator();
~RemSimBasicGenerator();
public:
void GeneratePrimaries(G4Event* anEvent);
G4double GetInitialEnergy();
void SetMoon(G4bool){;};
private:
G4ParticleGun* particleGun;
G4String randomDirection;
G4String spectrum;
G4double energy;
RemSimRunAction* run;
};
#endif
@@ -0,0 +1,56 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// ************************
// * *
// * RemSimDecay.hh *
// * *
// ************************
//
// $Id: RemSimDecay.hh,v 1.2 2004/05/22 12:57:04 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author:Susanna Guatelli, guatelli@ge.infn.it
//
#ifndef REMSIMDECAY_HH
#define REMSIMDECAY_HH 1
#include "G4VPhysicsConstructor.hh"
#include "globals.hh"
#include "G4Decay.hh"
class RemSimDecay : public G4VPhysicsConstructor {
public:
RemSimDecay(const G4String& name = "decay");
virtual ~RemSimDecay();
// This method is dummy for physics
virtual void ConstructParticle() {};
virtual void ConstructProcess();
};
#endif
@@ -0,0 +1,57 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// ***************************
// * *
// * RemSimDecorator.hh *
// * *
// ***************************
//
// $Id: RemSimDecorator.hh,v 1.7 2004/05/22 12:57:04 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author:Susanna Guatelli, guatelli@ge.infn.it
//
#ifndef RemSimDecorator_h
#define RemSimDecorator_h 1
#include "RemSimVGeometryComponent.hh"
class G4VPhysicalVolume;
class RemSimVGeometryComponent;
class RemSimDecorator: public RemSimVGeometryComponent
{
public:
RemSimDecorator(RemSimVGeometryComponent*);
~RemSimDecorator();
virtual void ConstructComponent(G4VPhysicalVolume*);
virtual void DestroyComponent();
virtual void ChangeThickness(G4double) = 0;
virtual void ChangeMother(G4VPhysicalVolume*) = 0;
private:
RemSimVGeometryComponent* component;
};
#endif
@@ -0,0 +1,85 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// **************************************
// * *
// * RemSimDetectorConstruction.hh *
// * *
// **************************************
//
// $Id: RemSimDetectorConstruction.hh,v 1.10 2004/05/22 12:57:04 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author:Susanna Guatelli, guatelli@ge.infn.it
//
#ifndef RemSimDetectorConstruction_H
#define RemSimDetectorConstruction_H 1
#include "G4VUserDetectorConstruction.hh"
#include "globals.hh"
class G4LogicalVolume;
class G4VPhysicalVolume;
class RemSimMaterial;
class RemSimDetectorMessenger;
class G4Box;
class G4VisAttributes;
class RemSimVGeometryComponent;
class RemSimDecorator;
class RemSimDetectorConstruction : public G4VUserDetectorConstruction
{
public:
RemSimDetectorConstruction();
~RemSimDetectorConstruction();
G4VPhysicalVolume* Construct();
void ConstructVolume();
void AddShielding(G4String);
void AddShelterSPE(G4String);
void AddHabitatRoof(G4String);
void ChangeShieldingThickness(G4double);
void ChangeRoofThickness(G4double);
void ChooseConfiguration(G4String);
private:
G4LogicalVolume* experimentalHall_log;
G4VPhysicalVolume* experimentalHall_phys;
G4VPhysicalVolume* phantomPhys;
G4VPhysicalVolume* detectorPhys;
RemSimMaterial* pMaterial;
RemSimVGeometryComponent* pVehicle;
RemSimVGeometryComponent* pMoon;
RemSimDetectorMessenger* messenger;
G4String decoratorValue;
G4String astronautValue;
RemSimDecorator* decorator;
RemSimDecorator* decoratorSPE;
RemSimDecorator* decorator1;
RemSimDecorator* decoratorRoof;
G4bool moon;
G4bool flag;
};
#endif
@@ -0,0 +1,68 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// *****************************************
// * *
// * RemSimDetectrorMessenger.hh *
// * *
// *****************************************
//
// $Id: RemSimDetectorMessenger.hh,v 1.8 2004/05/22 12:57:04 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
//
#ifndef RemSimDetectorMessenger_h
#define RemSimDetectorMessenger_h 1
#include "globals.hh"
#include "G4UImessenger.hh"
class RemSimDetectorConstruction;
class G4UIdirectory;
class G4UIcmdWithAString;
class G4UIcmdWithADoubleAndUnit;
class RemSimDetectorMessenger: public G4UImessenger
{
public:
RemSimDetectorMessenger(RemSimDetectorConstruction* );
~RemSimDetectorMessenger();
void SetNewValue(G4UIcommand*, G4String);
private:
RemSimDetectorConstruction* detector;//pointer to detector
G4UIdirectory* vehicleDir; // control the geometry configuration
G4UIcmdWithAString* vehicleCmd; //change set-up configuration
G4UIcmdWithAString* shieldingCmd;//add the shielding layer
G4UIcmdWithAString* SPECmd; //add the SPE shelter
G4UIcmdWithAString* roofCmd; // add the roof to the moon habitat
G4UIdirectory* shieldingDir;//control the shielding parameters
G4UIcmdWithADoubleAndUnit* thicknessCmd; //change the thickness of the
// shielding
G4UIdirectory* roofDir; // control the roof height
G4UIcmdWithADoubleAndUnit* thicknessRoofCmd;//change the thickness of the
// roof
};
#endif
@@ -0,0 +1,50 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// Dummy sensitive used only to flag sensitivity
// in cells of RO geometry.
//
#ifndef RemSimDummySD_h
#define RemSimDummySD_h 1
#include "G4VSensitiveDetector.hh"
class G4Step;
class RemSimDummySD : public G4VSensitiveDetector
{
public:
RemSimDummySD();
~RemSimDummySD() {}
void Initialize(G4HCofThisEvent*) {}
G4bool ProcessHits(G4Step*,G4TouchableHistory*) {return false;}
void EndOfEvent(G4HCofThisEvent*) {}
void clear() {}
void DrawAll() {}
void PrintAll() {}
};
RemSimDummySD::RemSimDummySD()
: G4VSensitiveDetector("dummySD")
{}
#endif
@@ -0,0 +1,57 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: RemSimElectronEEDL.hh,v 1.3 2004/05/22 12:57:04 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author: Susanna Guatelli, guatelli@ge.infn.it
#ifndef REMSIMELECTRONEEDL_HH
#define REMSIMELECTRONEEDL_HH 1
#include "G4VPhysicsConstructor.hh"
#include "globals.hh"
class RemSimElectronEEDL : public G4VPhysicsConstructor {
public:
RemSimElectronEEDL(const G4String& name = "electron-eedl");
virtual ~RemSimElectronEEDL();
// This method is dummy for physics
virtual void ConstructParticle() {};
virtual void ConstructProcess();
};
#endif
@@ -0,0 +1,59 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// **********************************
// * *
// * RemSimEventAction.hh *
// * *
// **********************************
//
// $Id: RemSimEventAction.hh,v 1.4 2004/05/22 12:57:04 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author : Susanna Guatelli, guatelli@ge.infn.it
//
#ifndef RemSimEventAction_h
#define RemSimEventAction_h 1
#include "G4UserEventAction.hh"
#include "globals.hh"
class G4Event;
class RemSimEventAction : public G4UserEventAction
{
public:
RemSimEventAction();
~RemSimEventAction();
public:
void BeginOfEventAction(const G4Event*);
G4int GetEventNo() const {return evtNo;};
void EndOfEventAction(const G4Event*);
private:
G4int evtNo;
};
#endif
@@ -0,0 +1,116 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// **************************************
// * *
// * RemSimHadronicPhysics.hh *
// * *
// **************************************
//
// $Id: RemSimHadronicPhysics.hh,v 1.2 2004/05/22 12:57:04 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author : Susanna Guatelli, guatelli@ge.infn.it
//
#ifndef RemSimHadronicPhysics_h
#define RemSimHadronicPhysics_h 1
#include "G4VPhysicsConstructor.hh"
#include "globals.hh"
#include "G4QGSParticipants.hh"
#include "G4QGSModel.hh"
class G4ProtonInelasticCrossSection;
class G4NeutronInelasticCrossSection;
class G4PiNuclearCrossSection;
class G4TripathiCrossSection;
class G4IonsShenCrossSection;
class G4LElastic;
class G4CascadeInterface;
class G4BinaryLightIonReaction;
class G4LEProtonInelastic;
class G4LENeutronInelastic;
class G4LEPionPlusInelastic;
class G4LEPionMinusInelastic;
class G4LEAlphaInelastic;
class G4LFission;
class G4LCapture;
class G4TheoFSGenerator;
class G4GeneratorPrecompoundInterface;
class G4ExcitationHandler;
class G4PreCompoundModel;
class G4QGSMFragmentation;
class G4ExcitedStringDecay;
class RemSimHadronicPhysics: public G4VPhysicsConstructor
{
public:
RemSimHadronicPhysics(const G4String& name = "hadronic");
virtual ~RemSimHadronicPhysics();
protected:
// Construct particle and physics
void ConstructParticle(){};
void ConstructProcess();
private:
G4ProtonInelasticCrossSection* proton_XC;
G4NeutronInelasticCrossSection* neutron_XC;
G4PiNuclearCrossSection* pion_XC;
G4TripathiCrossSection* tripathi;
G4IonsShenCrossSection* shen;
G4LElastic* elastic_model;
G4CascadeInterface* bertini_model;
G4BinaryLightIonReaction* binary_ion_model;
G4LEProtonInelastic* LEP_proton_model;
G4LENeutronInelastic* LEP_neutron_model;
G4LEPionPlusInelastic* LEP_pip_model;
G4LEPionMinusInelastic* LEP_pim_model;
G4LEAlphaInelastic* LEP_alpha_model;
G4LFission* nfission_model;
G4LCapture* ncapture_model;
G4TheoFSGenerator* QGSP_model;
G4GeneratorPrecompoundInterface* theCascade;
G4ExcitationHandler* theHandler;
G4PreCompoundModel* thePreEquilib;
G4QGSMFragmentation* theFragmentation;
G4ExcitedStringDecay* theStringDecay;
G4QGSModel<G4QGSParticipants> theStringModel;
};
#endif
@@ -0,0 +1,87 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
#ifndef RemSimHit_h
#define RemSimHit_h 1
#include "G4VHit.hh"
#include "G4THitsCollection.hh"
#include "G4Allocator.hh"
#include "G4ThreeVector.hh"
class RemSimHit : public G4VHit
{
public:
RemSimHit();
~RemSimHit();
RemSimHit(const RemSimHit &right);
const RemSimHit& operator=(const RemSimHit &right);
G4int operator==(const RemSimHit &right) const;
inline void *operator new(size_t);
inline void operator delete(void *aHit);
void Draw();
void Print();
private:
G4double edep;
G4int xID;
G4int yID;
G4int zID;
G4ThreeVector position;
public:
inline void SetEdep(G4double de)
{ edep = de; }
inline G4double GetEdep()
{ return edep; }
inline void SetIndexes(G4int i)
{zID = i;}
inline G4int GetIndexZ(){return zID;}
inline void SetPosition(G4ThreeVector xyz)
{ position = xyz; }
inline G4ThreeVector GetPosition(){ return position; }
};
typedef G4THitsCollection<RemSimHit> RemSimHitsCollection;
extern G4Allocator<RemSimHit> RemSimHitAllocator;
inline void* RemSimHit::operator new(size_t)
{
void *aHit;
aHit = (void *) RemSimHitAllocator.MallocSingle();
return aHit;
}
inline void RemSimHit::operator delete(void *aHit)
{
RemSimHitAllocator.FreeSingle((RemSimHit*) aHit);
}
#endif
@@ -0,0 +1,63 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: RemSimInterplanetarySpaceConfiguration.hh,v 1.7 2004/05/27 10:33:11 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author : Susanna Guatelli, guatelli@ge.infn.it
//
#ifndef RemSimInterplanetarySpaceConfiguration_h
#define RemSimInterplanetarySpaceConfiguration_h 1
#include "RemSimVPrimaryGeneratorFactory.hh"
#include "globals.hh"
#include "G4DataVector.hh"
class G4ParticleGun;
class G4Event;
class RemSimRunAction;
class RemSimInterplanetarySpaceConfiguration :
public RemSimVPrimaryGeneratorFactory
{
public:
RemSimInterplanetarySpaceConfiguration();
~RemSimInterplanetarySpaceConfiguration();
public:
void GeneratePrimaries(G4Event* anEvent);
void MoonConfiguration();
G4double GetInitialEnergy();
void SetMoon(G4bool);
private:
G4ParticleGun* particleGun;
G4String spectrum;
G4double energy;
RemSimRunAction* run;
G4bool moon;
};
#endif
@@ -0,0 +1,42 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
#ifndef REMSIMPROTONICRU_HH
#define REMSIMPROTONICRU_HH 1
#include "G4VPhysicsConstructor.hh"
#include "globals.hh"
class RemSimIonICRU : public G4VPhysicsConstructor {
public:
RemSimIonICRU(const G4String& name = "ion-ICRU");
virtual ~RemSimIonICRU();
// This method is dummy for physics
virtual void ConstructParticle() {};
virtual void ConstructProcess();
};
#endif
@@ -0,0 +1,42 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
#ifndef REMSIMPROTONStandard_HH
#define REMSIMPROTONStandard_HH 1
#include "G4VPhysicsConstructor.hh"
#include "globals.hh"
class RemSimIonStandard : public G4VPhysicsConstructor {
public:
RemSimIonStandard(const G4String& name = "ion-standard");
virtual ~RemSimIonStandard();
// This method is dummy for physics
virtual void ConstructParticle() {};
virtual void ConstructProcess();
};
#endif
@@ -0,0 +1,75 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: RemSimMaterial.hh,v 1.5 2004/05/22 12:57:04 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// **********************************
// * *
// * BrachyMaterial.hh *
// * *
// **********************************
//
//Code developed by: Susanna Guatelli, guatelli@ge.infn.it
//
//This class manages the elements and materials needed by the simulation
// set-up ...
//
#ifndef RemSimMaterial_H
#define RemSimMaterial_H 1
#include "globals.hh"
class G4Material;
class RemSimMaterial
{
public:
RemSimMaterial();
~ RemSimMaterial();
public:
void DefineMaterials();
G4Material* GetMaterial(G4String); //returns the material
private:
G4Material* matPb;
G4Material* matAir;
G4Material* matH2O;
G4Material* Al;
G4Material* nylon;
G4Material* mylar;
G4Material* beta;
G4Material* nextel;
G4Material* kevlar;
G4Material* vacuum;
G4Material* betaCloth;
G4Material* eterogeneousNextel;
G4Material* kevlarVacuum;
G4Material* polyethylene;
G4Material* polyacrylate;
G4Material* evoh;
G4Material* nomex;
G4Material* nomexAir;
G4Material* kevlarAir;
G4Material* moon;
};
#endif
@@ -0,0 +1,58 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// **************************************
// * *
// * RemSimMoonHabitat.hh *
// * *
// **************************************
//
// $Id: RemSimMoonHabitat.hh,v 1.3 2004/05/22 12:57:04 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author:Susanna Guatelli, guatelli@ge.infn.it
//
#ifndef RemSimMoonHabitat_h
#define RemSimMoonHabitat_h 1
class RemSimVGeometryComponent;
class G4VPhysicalVolume;
class G4Box;
class G4LogicalVolume;
class G4Material;
class RemSimMaterial;
class G4VisAttributes;
class RemSimMoonHabitat: public RemSimVGeometryComponent
{
public:
RemSimMoonHabitat();
~RemSimMoonHabitat();
void ConstructComponent(G4VPhysicalVolume*);
void DestroyComponent();
G4VPhysicalVolume* GetShelter();
private:
RemSimMaterial* pMaterial;
G4VPhysicalVolume* shelterPhys;
};
#endif
@@ -0,0 +1,49 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: RemSimMuonStandard.hh,v 1.2 2004/05/22 12:57:04 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author:Susanna Guatelli, guatelli@ge.infn.it
//
#ifndef REMSIMMUONSTANDARD_HH
#define REMSIMMUONSTANDARD_HH 1
#include "G4VPhysicsConstructor.hh"
#include "globals.hh"
class RemSimMuonStandard : public G4VPhysicsConstructor {
public:
RemSimMuonStandard(const G4String& name = "muon-standard");
virtual ~RemSimMuonStandard();
// This method is dummy for physics
virtual void ConstructParticle() {};
virtual void ConstructProcess();
};
#endif
@@ -0,0 +1,55 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: RemSimParticles.hh,v 1.4 2004/05/22 12:57:04 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author:Susanna Guatelli, guatelli@ge.infn.it
//
#ifndef REMSIMPARTICLES_HH
#define REMSIMPARTICLES_HH 1
#include "globals.hh"
#include "G4VPhysicsConstructor.hh"
class RemSimParticles : public G4VPhysicsConstructor {
public:
RemSimParticles(const G4String& name = "particles");
virtual ~RemSimParticles();
virtual void ConstructParticle();
// This method is dummy
virtual void ConstructProcess() {};
};
#endif
@@ -0,0 +1,57 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: RemSimPhotonEPDL.hh,v 1.3 2004/05/22 12:57:04 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author:Susanna Guatelli, guatelli@ge.infn.it
//
#ifndef REMSIMPHOTONEPDL_HH
#define REMSIMPHOTONEPDL_HH 1
#include "G4VPhysicsConstructor.hh"
#include "globals.hh"
class RemSimPhotonEPDL : public G4VPhysicsConstructor {
public:
RemSimPhotonEPDL(const G4String& name = "photon-epdl");
virtual ~RemSimPhotonEPDL();
// This method is dummy for physics
virtual void ConstructParticle() {};
virtual void ConstructProcess();
};
#endif
@@ -0,0 +1,66 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: RemSimPhysicsList.hh,v 1.5 2004/05/22 12:57:05 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author: Susanna Guatelli, guatelli@ge.infn.it
#ifndef REMSIMPHYSICSLIST_HH
#define REMSIMPHYSICSLIST_HH 1
#include "G4VModularPhysicsList.hh"
#include "globals.hh"
class RemSimPhysicsListMessenger;
class RemSimPhysicsList: public G4VModularPhysicsList {
public:
RemSimPhysicsList();
virtual ~RemSimPhysicsList();
//register the threshold of production of secondaries
virtual void SetCuts();
// Register PhysicsList chunks
void AddPhysicsList(const G4String& name);
private:
G4bool electronIsRegistered;
G4bool positronIsRegistered;
G4bool photonIsRegistered;
G4bool ionIsRegistered;
G4bool hadronicIsRegistered;
G4bool decayIsRegistered;
G4bool muonIsRegistered;
RemSimPhysicsListMessenger* messenger;
};
#endif
@@ -0,0 +1,59 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: RemSimPhysicsListMessenger.hh,v 1.3 2004/05/22 12:57:05 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author: Susanna Guatelli, guatelli@ge.infn.it
#ifndef RemSimPhysicsListMessenger_h
#define RemSimPhysicsListMessenger_h 1
#include "globals.hh"
#include "G4UImessenger.hh"
class RemSimPhysicsList;
class G4UIdirectory;
class G4UIcmdWithAString;
class RemSimPhysicsListMessenger: public G4UImessenger
{
public:
RemSimPhysicsListMessenger(RemSimPhysicsList*);
~RemSimPhysicsListMessenger();
void SetNewValue(G4UIcommand*, G4String);
private:
RemSimPhysicsList* RemSimList;
G4UIdirectory* EnDir;
G4UIcmdWithAString* physicsListCmd;
};
#endif
@@ -0,0 +1,56 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: RemSimPositronStandard.hh,v 1.3 2004/05/22 12:57:05 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author: Susanna Guatelli, guatelli@ge.infn.it
#ifndef REMSIMPOSITRONSTANDARD_HH
#define REMSIMPOSITRONSTANDARD_HH 1
#include "G4VPhysicsConstructor.hh"
#include "globals.hh"
class RemSimPositronStandard : public G4VPhysicsConstructor {
public:
RemSimPositronStandard(const G4String& name = "positron-standard");
virtual ~RemSimPositronStandard();
// This method is dummy for physics
virtual void ConstructParticle() {};
virtual void ConstructProcess();
};
#endif
@@ -0,0 +1,57 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: RemSimPrimaryGeneratorAction.hh,v 1.8 2004/05/27 10:33:11 guatelli Exp $// GEANT4 tag $Name: geant4-06-02 $
//
// Author: Susanna Guatelli, guatelli@ge.infn.it
//
#ifndef RemSimPrimaryGeneratorAction_h
#define RemSimPrimaryGeneratorAction_h 1
#include "G4VUserPrimaryGeneratorAction.hh"
#include "globals.hh"
class G4ParticleGun;
class G4Event;
class RemSimVPrimaryGeneratorFactory;
class RemSimPrimaryGeneratorMessenger;
class RemSimPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
{
public:
RemSimPrimaryGeneratorAction();
~RemSimPrimaryGeneratorAction();
public:
G4double GetInitialEnergy();
void GeneratePrimaries(G4Event* anEvent);
void SelectPrimaries(G4String value);
private:
G4String value;
RemSimVPrimaryGeneratorFactory* primaryFactory1;
RemSimVPrimaryGeneratorFactory* primaryFactory2;
RemSimPrimaryGeneratorMessenger* messenger;
};
#endif
@@ -0,0 +1,64 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// ************************************************
// * *
// * RemSimPrimaryGeneratorMessenger.hh *
// * *
// ************************************************
//
// $Id: RemSimPrimaryGeneratorMessenger.hh,v 1.4 2004/05/22 12:57:05 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
//Code developed by: S.Guatelli, guatelli@ge.infn.it
//
#ifndef RemSimPrimaryGeneratorMessenger_h
#define RemSimPrimaryGeneratorMessenger_h 1
#include "globals.hh"
#include "G4UImessenger.hh"
class RemSimPrimaryGeneratorAction;
class RemSimRunAction;
class G4UIdirectory;
class G4UIcmdWithAString;
class G4UIcmdWithAnInteger;
class G4UIcmdWithADoubleAndUnit;
class G4UIcmdWithoutParameter;
class RemSimPrimaryGeneratorMessenger: public G4UImessenger
{
public:
RemSimPrimaryGeneratorMessenger(RemSimPrimaryGeneratorAction* );
~RemSimPrimaryGeneratorMessenger();
void SetNewValue(G4UIcommand*, G4String);
private:
RemSimPrimaryGeneratorAction* primary;//pointer to detector
G4UIdirectory* gunDir;
G4UIcmdWithAString* fluxCmd; //change vehicle
};
#endif
@@ -0,0 +1,63 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: RemSimROGeometry.hh,v 1.5 2004/05/22 12:57:05 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// ************************************
// * *
// * RemSimROGeometry.hh *
// * *
// ************************************
//
// Code developed by: S.Guatelli, guatelli@ge.infn.it
//
#ifndef RemSimROGeometry_h
#define RemSimROGeometry_h
#include "G4VReadOutGeometry.hh"
class RemSimROGeometry : public G4VReadOutGeometry
{
public:
RemSimROGeometry( G4double phantomDimX,
G4double phantomDimY,
G4double phantomDimZ,
G4int numberOfVoxelsZ,
G4double trans);
~RemSimROGeometry();
private:
G4VPhysicalVolume* Build();
private:
const G4double astronautDimensionX;
const G4double astronautDimensionY;
const G4double astronautDimensionZ;
const G4int numberOfVoxelsAlongZ;
const G4double translation;
G4VPhysicalVolume *ROAstronautZDivisionPhys;
};
#endif
@@ -0,0 +1,75 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// ************************************
// * *
// * RemSimRoofDecorator.hh *
// * *
// ************************************
//
// Code developed by: S.Guatelli, guatelli@ge.infn.it
//
//
// $Id: RemSimRoofDecorator.hh,v 1.3 2004/06/18 09:18:06 gunter Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
#ifndef RemSimRoofDecorator_h
#define RemSimRoofDecorator_h 1
#include "RemSimDecorator.hh"
#include "RemSimVGeometryComponent.hh"
#include "globals.hh"
class G4VPhysicalVolume;
class G4Trd;
class G4LogicalVolume;
class G4Material;
class RemSimMaterial;
class RemSimVGeometryComponent;
class RemSimDecorator;
class G4VPhysicalVolume;
class G4VisAttributes;
class RemSimRoofDecorator: public RemSimDecorator
{
public:
RemSimRoofDecorator(RemSimVGeometryComponent*);
~RemSimRoofDecorator();
void ConstructComponent(G4VPhysicalVolume*);
void DestroyComponent();
void ChangeThickness(G4double);
void PrintDetectorParameters();
G4VPhysicalVolume* GetShelter(){return 0;};
void ChangeMother(G4VPhysicalVolume*){;};
private:
void ConstructRoof(G4VPhysicalVolume*);
RemSimMaterial* pMaterial;
G4String shieldingMaterial;
G4VisAttributes* roofVisAtt;
G4Trd* roof;
G4LogicalVolume* roofLog;
G4VPhysicalVolume* roofPhys;
};
#endif
@@ -0,0 +1,74 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: RemSimRunAction.hh,v 1.7 2004/05/27 10:13:54 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Code developed by: S.Guatelli, guatelli@ge.infn.it
//
// ********************************************
// * *
// * RemSimRunAction.hh *
// * *
// ********************************************
//
#ifndef RemSimRunAction_h
#define RemSimRunAction_h 1
#include "G4UserRunAction.hh"
#include "G4RunManager.hh"
#include "globals.hh"
class G4Run;
class RemSimAnalysisManager;
class RemSimRunMessenger;
class RemSimRunAction : public G4UserRunAction
{
public:
RemSimRunAction();
~RemSimRunAction();
public:
void BeginOfRunAction(const G4Run*);
void EndOfRunAction(const G4Run* );
void Read(G4String);
void ReadData(G4double, G4String);
G4DataVector* GetPrimaryParticleEnergy();
G4DataVector* GetPrimaryParticleEnergyDistribution();
G4double GetPrimaryParticleEnergyDistributionSum();
G4int GetRunID() {return runID;};
G4bool GetFile();
private:
G4DataVector* energies;
G4DataVector* data;
G4int runID;
RemSimRunMessenger* messenger;
G4String file;
};
#endif
@@ -0,0 +1,60 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// *****************************************
// * *
// * RemSimDetectrorMessenger.hh *
// * *
// *****************************************
//
// $Id: RemSimRunMessenger.hh,v 1.2 2004/05/22 12:57:05 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Code developed by: S.Guatelli, guatelli@ge.infn.it
//
#ifndef RemSimRunMessenger_h
#define RemSimRunMessenger_h 1
#include "globals.hh"
#include "G4UImessenger.hh"
class RemSimRunAction;
class RemSimRunAction;
class G4UIdirectory;
class G4UIcmdWithAString;
class RemSimRunMessenger: public G4UImessenger
{
public:
RemSimRunMessenger(RemSimRunAction* );
~RemSimRunMessenger();
void SetNewValue(G4UIcommand*, G4String);
private:
RemSimRunAction* run;
G4UIdirectory* runDir;
G4UIcmdWithAString* readFileCmd; //change data.txt
};
#endif
@@ -0,0 +1,52 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: RemSimSensitiveDetector.hh,v 1.2 2004/05/22 12:57:05 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Code developed by: S.Guatelli, guatelli@ge.infn.it
//
#ifndef RemSimSensitiveDetector_h
#define RemSimSensitiveDetector_h 1
#include "G4VSensitiveDetector.hh"
#include "RemSimHit.hh"
class G4Step;
class G4HCofThisEvent;
class G4TouchableHistory;
class RemSimSensitiveDetector : public G4VSensitiveDetector
{
public:
RemSimSensitiveDetector (G4String name);
~RemSimSensitiveDetector();
void Initialize(G4HCofThisEvent*HCE);
G4bool ProcessHits(G4Step*aStep,G4TouchableHistory*);
void EndOfEvent(G4HCofThisEvent*HCE);
private:
RemSimHitsCollection *trackerCollection;
};
#endif
@@ -0,0 +1,71 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: RemSimShelterSPEDecorator.hh,v 1.2 2004/05/22 12:57:05 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Code developed by: S.Guatelli, guatelli@ge.infn.it
//
#ifndef RemSimShelterSPEDecorator_h
#define RemSimShelterSPEDecorator_h 1
#include "RemSimDecorator.hh"
#include "RemSimVGeometryComponent.hh"
#include "globals.hh"
class G4VPhysicalVolume;
class G4Box;
class G4LogicalVolume;
class G4Material;
class RemSimMaterial;
class RemSimVGeometryComponent;
class RemSimDecorator;
class G4VPhysicalVolume;
class G4VisAttributes;
class RemSimShelterSPEDecorator: public RemSimDecorator
{
public:
RemSimShelterSPEDecorator(RemSimVGeometryComponent*);
~RemSimShelterSPEDecorator();
void ConstructComponent(G4VPhysicalVolume*);
void DestroyComponent();
void ChangeThickness(G4double);
void PrintDetectorParameters();
G4VPhysicalVolume* GetShelter(){return 0;};
void ChangeMother(G4VPhysicalVolume*){;};
private:
void ConstructShelterSPE(G4VPhysicalVolume*);
G4double shelterSPEX;
G4double shelterSPEY;
G4double shelterSPEZ;
G4double translation;
RemSimMaterial* pMaterial;
G4String shelterSPEMaterial;
G4VisAttributes* shelterSPEVisAtt;
G4Box* shelterSPE;
G4LogicalVolume* shelterSPELog;
G4VPhysicalVolume* shelterSPEPhys;
};
#endif
@@ -0,0 +1,70 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: RemSimShieldingDecorator.hh,v 1.4 2004/05/22 12:57:05 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Code developed by: S.Guatelli, guatelli@ge.infn.it
//
#ifndef RemSimShieldingDecorator_h
#define RemSimShieldingDecorator_h 1
#include "RemSimDecorator.hh"
#include "RemSimVGeometryComponent.hh"
#include "globals.hh"
class G4VPhysicalVolume;
class G4Box;
class G4LogicalVolume;
class G4Material;
class RemSimMaterial;
class RemSimVGeometryComponent;
class RemSimDecorator;
class G4VPhysicalVolume;
class G4VisAttributes;
class RemSimShieldingDecorator: public RemSimDecorator
{
public:
RemSimShieldingDecorator(RemSimVGeometryComponent*);
~RemSimShieldingDecorator();
void ConstructComponent(G4VPhysicalVolume*);
void DestroyComponent();
void ChangeThickness(G4double);
void PrintDetectorParameters();
G4VPhysicalVolume* GetShelter(){return 0;};
void ChangeMother(G4VPhysicalVolume*){;};
private:
void ConstructShielding(G4VPhysicalVolume*);
G4double shieldingX;
G4double shieldingY;
G4double shieldingZ;
G4double translation;
RemSimMaterial* pMaterial;
G4String shieldingMaterial;
G4VisAttributes* shieldingVisAtt;
G4Box* shielding;
G4LogicalVolume* shieldingLog;
G4VPhysicalVolume* shieldingPhys;
};
#endif
@@ -0,0 +1,65 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: RemSimSteppingAction.hh,v 1.3 2004/05/17 10:34:57 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author: Susanna Guatelli (guatelli@ge.infn.it)
//
// History:
// -----------
// 27 May 2003 S.Guatelli first code review
// 17 May 2003 S. Guatelli 1st implementation
//
// -------------------------------------------------------------------
#ifndef RemSimSteppingAction_h
#define RemSimSteppingAction_h 1
#include "G4UserSteppingAction.hh"
#include "G4Event.hh"
#include "G4EventManager.hh"
#include "G4ios.hh"
#include "globals.hh"
class G4Step;
class RemSimPrimaryGeneratorAction;
class RemSimSteppingActionMessenger;
class RemSimSteppingAction : public G4UserSteppingAction
{
public:
RemSimSteppingAction(RemSimPrimaryGeneratorAction*);
~RemSimSteppingAction();
void UserSteppingAction(const G4Step* aStep);
void SetHadronicAnalysis(G4String);
private:
RemSimPrimaryGeneratorAction* primaryAction;
G4String hadronic;
RemSimSteppingActionMessenger* messenger;
};
#endif
@@ -0,0 +1,53 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: RemSimSteppingActionMessenger.hh,v 1.2 2004/05/22 12:57:05 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author: Susanna Guatelli, guatelli@ge.infn.it
//
#ifndef RemSimSteppingActionMessenger_h
#define RemSimSteppingActionMessenger_h 1
#include "globals.hh"
#include "G4UImessenger.hh"
#include "G4UIcommand.hh"
class RemSimSteppingAction;
class G4UIdirectory;
class G4UIcmdWithAString;
class RemSimSteppingActionMessenger: public G4UImessenger
{
public:
RemSimSteppingActionMessenger(RemSimSteppingAction*);
~RemSimSteppingActionMessenger();
void SetNewValue(G4UIcommand*, G4String);
private:
RemSimSteppingAction* steppingAction;
G4UIdirectory* stepDirectory;
G4UIcmdWithAString* hadronicCmd;
};
#endif
@@ -0,0 +1,44 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: RemSimVGeometryComponent.hh,v 1.5 2004/05/22 12:57:05 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Code developed by: S.Guatelli, guatelli@ge.infn.it
//
#ifndef RemSimVGeometryComponent_h
#define RemSimVGeometryComponent_h 1
#include "globals.hh"
class G4VPhysicalVolume;
class RemSimVGeometryComponent
{
public:
RemSimVGeometryComponent();
virtual ~RemSimVGeometryComponent();
virtual void ConstructComponent(G4VPhysicalVolume*) = 0;
virtual void DestroyComponent() = 0;
virtual G4VPhysicalVolume* GetShelter() = 0;
};
#endif
@@ -0,0 +1,48 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: RemSimVPrimaryGeneratorFactory.hh,v 1.7 2004/05/27 10:33:11 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Code developed by: S.Guatelli, guatelli@ge.infn.it
//
#ifndef RemSimVPrimaryGeneratorFactory_h
#define RemSimVPrimaryGeneratorFactory_h 1
#include "G4VUserPrimaryGeneratorAction.hh"
#include "globals.hh"
class RemSimVPrimaryGeneratorFactory : public G4VUserPrimaryGeneratorAction
{
public:
RemSimVPrimaryGeneratorFactory();
virtual ~RemSimVPrimaryGeneratorFactory();
public:
virtual void GeneratePrimaries(G4Event* anEvent)=0;
virtual G4double GetInitialEnergy()=0;
virtual void SetMoon(G4bool)=0; // Set moon configuration
};
#endif
@@ -0,0 +1,80 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: RemSimVehicle1.hh,v 1.7 2004/05/22 12:57:05 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Code developed by: S.Guatelli, guatelli@ge.infn.it
//
#ifndef RemSimVehicle1_h
#define RemSimVehicle1_h 1
class RemSimVGeometryComponent;
class G4VPhysicalVolume;
class G4Box;
class G4LogicalVolume;
class G4Material;
class RemSimMaterial;
class G4VisAttributes;
class RemSimVehicle1: public RemSimVGeometryComponent
{
public:
RemSimVehicle1();
~RemSimVehicle1();
void ConstructComponent(G4VPhysicalVolume*);
void DestroyComponent();
G4VPhysicalVolume* GetShelter(){return 0;};
private:
RemSimMaterial* pMaterial;
G4VPhysicalVolume* layervacuumPhys;
G4VPhysicalVolume* layer1Phys;
G4VPhysicalVolume* layer2Phys;
G4VPhysicalVolume* layer3Phys;
G4VPhysicalVolume* layer4Phys;
G4VPhysicalVolume* layer5Phys;
G4VPhysicalVolume* layer6Phys;
G4VPhysicalVolume* layer7Phys;
G4VPhysicalVolume* layer8Phys;
G4VPhysicalVolume* layer9Phys;
G4VPhysicalVolume* layer10Phys;
G4VPhysicalVolume* layer11Phys;
G4VPhysicalVolume* layer12Phys;
G4VPhysicalVolume* layer13Phys;
G4VPhysicalVolume* layer14Phys;
G4VPhysicalVolume* layer15Phys;
G4VPhysicalVolume* layerPhys;
G4VPhysicalVolume* layer16Phys;
G4VPhysicalVolume* layer17Phys;
G4VPhysicalVolume* layer18Phys;
G4VPhysicalVolume* layer19Phys;
G4VPhysicalVolume* layer20Phys;
G4VPhysicalVolume* layer21Phys;
G4VPhysicalVolume* layer22Phys;
G4VPhysicalVolume* layer23Phys;
G4VPhysicalVolume* layer24Phys;
G4VPhysicalVolume* layer25Phys;
G4VPhysicalVolume* layer26Phys;
G4VPhysicalVolume* layer27Phys;
};
#endif
@@ -0,0 +1,60 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: RemSimVisManager.hh,v 1.4 2004/05/22 12:57:05 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
//
// Example Visualization Manager implementing virtual function
// RegisterGraphicsSystems. Exploits C-pre-processor variables
// G4VIS_USE_DAWN, etc., which are set by the GNUmakefiles if
// environment variables of the same name are set.
// So all you have to do is set environment variables and compile and
// instantiate this in your main().
// Alternatively, you can implement an empty function here and just
// register the systems you want in your main(), e.g.:
// G4VisManager* myVisManager = new MyVisManager;
// myVisManager -> RegisterGraphicsSystem (new MyGraphicsSystem);
#ifndef RemSimVisManager_h
#define RemSimVisManager_h 1
#ifdef G4VIS_USE
#include "G4VisManager.hh"
class RemSimVisManager: public G4VisManager {
public:
RemSimVisManager ();
private:
void RegisterGraphicsSystems ();
};
#endif
#endif
@@ -0,0 +1,31 @@
#Example of Moon Habitat configuration
######################################
# Activate e.m. physics
/physics/addPhysics photon-epdl
/physics/addPhysics electron-eedl
/physics/addPhysics positron-standard
#
#Standard process for p, alpha and ions
#/physics/addPhysics ion-standard
#
#LowEnergy process for p, alpha and ions
/physics/addPhysics ion-ICRU
# Activate hadronic physics
#/physics/addPhysics hadronic
#/physics/addPhysics muon-standard
#/physics/addPhysics decay
# Sets some default verbose
#
/control/verbose 1
/run/verbose 1
/event/verbose 0
#/tracking/verbose 1
/run/initialize
/gun/particle proton
#/gun/generator Moon
/gun/energy 1. GeV
/configuration/choose moon
/configuration/AddRoof On
#/configuration/AddRoof Off
/roof/thickness 1. m
/run/beamOn 100
+124
View File
@@ -0,0 +1,124 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: remsim.cc,v 1.7 2004/05/27 08:36:50 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
#include "G4RunManager.hh"
#include "G4UImanager.hh"
#include "G4UIterminal.hh"
#include "RemSimDetectorConstruction.hh"
#include "RemSimPhysicsList.hh"
#include "RemSimPrimaryGeneratorAction.hh"
#include "RemSimEventAction.hh"
#include "RemSimRunAction.hh"
#include "RemSimSteppingAction.hh"
#ifdef G4VIS_USE
#include "RemSimVisManager.hh"
#endif
#ifdef G4ANALYSIS_USE
#include "RemSimAnalysisManager.hh"
#endif
int main(int argc,char** argv)
{
// Construct the default run manager
G4RunManager* runManager = new G4RunManager;
// HepRandom :: setTheSeed(0);
// Set mandatory initialization classes
// Geometry
RemSimDetectorConstruction* detector = new RemSimDetectorConstruction();
runManager -> SetUserInitialization(detector);
// Physics
runManager->SetUserInitialization(new RemSimPhysicsList);
// Set mandatory user action class
// Primary particles
RemSimPrimaryGeneratorAction* primary = new RemSimPrimaryGeneratorAction();
runManager -> SetUserAction(primary);
// Set optional user action class
RemSimEventAction* event = new RemSimEventAction();
runManager -> SetUserAction(event);
RemSimRunAction* run = new RemSimRunAction();
runManager -> SetUserAction(run);
runManager -> SetUserAction(new RemSimSteppingAction(primary));
#ifdef G4VIS_USE
// Visualisation
G4VisManager* visManager = new RemSimVisManager;
visManager -> Initialize();
#endif
// Analysis
#ifdef G4ANALYSIS_USE
RemSimAnalysisManager* analysis = RemSimAnalysisManager::getInstance();
analysis -> book();
#endif
// get the pointer to the UI manager and set verbosities
G4UImanager* UI = G4UImanager::GetUIpointer();
if(argc == 1)
// Define (G)UI terminal for interactive mode
{
// G4UIterminal is a (dumb) terminal.
G4UIsession * session = 0;
#ifdef G4UI_USE_TCSH
session = new G4UIterminal(new G4UItcsh);
#else
session = new G4UIterminal();
#endif
UI -> ApplyCommand("/control/execute vis.mac");
session -> SessionStart();
delete session;
}
else
// Batch mode
{
G4String command = "/control/execute ";
G4String fileName = argv[1];
UI -> ApplyCommand(command+fileName);
}
#ifdef G4ANALYSIS_USE
analysis -> finish();
#endif
#ifdef G4VIS_USE
delete visManager;
#endif
// job termination
delete runManager;
return 0;
}
@@ -0,0 +1,837 @@
1.0023 2329084.825
1.0162 2315943.759
1.0304 2302694.459
1.0447 2289526.714
1.0592 2276350.174
1.0739 2263168.017
1.0888 2249983.199
1.104 2236711.29
1.1193 2223529.727
1.1349 2210268.926
1.1506 2197101.881
1.1666 2183863.442
1.1828 2170639.984
1.1993 2157353.587
1.2159 2144167.836
1.2328 2130926.322
1.25 2117633.582
1.2674 2104370.28
1.285 2091138.478
1.3028 2077940.527
1.3209 2064705.599
1.3393 2051437.574
1.3579 2038211.714
1.3768 2024959.981
1.3959 2011755.292
1.4153 1998531.423
1.435 1985291.971
1.4549 1972106.893
1.4751 1958912.602
1.4956 1945712.622
1.5164 1932510.602
1.5375 1919309.671
1.5589 1906113.077
1.5805 1892984.979
1.6025 1879806.888
1.6248 1866642.791
1.6473 1853553.751
1.6702 1840426.22
1.6934 1827321.316
1.717 1814186.245
1.7408 1801135.097
1.765 1788060.637
1.7896 1774967.072
1.8144 1761963.622
1.8397 1748896.198
1.8652 1735922.615
1.8911 1722943.365
1.9174 1709962.398
1.9441 1696983.566
1.9711 1684058.217
1.9985 1671141.114
2.0263 1658235.806
2.0544 1645391.163
2.083 1632519.108
2.1119 1619712.907
2.1413 1606887.081
2.171 1594131.938
2.2012 1581364.221
2.2318 1568629.72
2.2628 1555931.496
2.2942 1543272.202
2.3261 1530614.715
2.3585 1517962.748
2.3912 1505396.749
2.4245 1492804.631
2.4582 1480265.739
2.4923 1467782.479
2.527 1455284.778
2.5621 1442847.702
2.5977 1430438.507
2.6338 1418060.359
2.6704 1405716.313
2.7075 1393409.322
2.7451 1381141.839
2.7833 1368884.894
2.822 1356673.733
2.8612 1344510.867
2.9009 1332399.106
2.9412 1320310.347
2.9821 1308248.207
3.0236 1296216.189
3.0656 1284245.758
3.1082 1272310.76
3.1514 1260414.349
3.1952 1248559.569
3.2396 1236748.895
3.2846 1224985.6
3.3303 1213246.706
3.3765 1201585.712
3.4235 1189929.808
3.471 1178356.194
3.5193 1166794.444
3.5682 1155295.413
3.6178 1143838.526
3.6681 1132426.52
3.719 1121084.286
3.7707 1109770.266
3.8231 1098509.108
3.8762 1087303.045
3.9301 1076133.792
3.9847 1065024.991
4.0401 1053958.926
4.0963 1042938.417
4.1532 1031985.518
4.2109 1021083.358
4.2694 1010234.491
4.3288 999423.2028
4.3889 988688.3185
4.4499 977996.4088
4.5118 967350.3714
4.5745 956769.9074
4.638 946257.0716
4.7025 935781.3181
4.7678 925377.6336
4.8341 915016.5908
4.9013 904716.4315
4.9694 894479.3375
5.0385 884292.6921
5.1085 874173.5956
5.1795 864109.8194
5.2515 854103.8153
5.3244 844171.5271
5.3984 834287.8926
5.4735 824455.5754
5.5495 814702.7623
5.6266 805005.8146
5.7048 795367.1427
5.7841 785788.9402
5.8645 776273.4269
5.946 766822.6902
6.0286 757438.6857
6.1124 748112.1931
6.1974 738845.4477
6.2835 729651.3114
6.3708 720521.0221
6.4594 711446.2535
6.5491 702449.3619
6.6401 693512.1155
6.7324 684636.6271
6.826 675824.9655
6.9209 667079.0633
7.017 658409.7383
7.1146 649791.8787
7.2134 641253.7937
7.3137 632771.3383
7.4153 624363.2603
7.5184 616014.7007
7.6229 607735.7043
7.7288 599527.8019
7.8362 591384.9192
7.9451 583308.7655
8.0555 575300.9117
8.1675 567355.9261
8.281 559482.5919
8.3961 551675.4085
8.5128 543935.946
8.6311 536265.7578
8.751 528666.2644
8.8726 521132.5576
8.9959 513666.1982
9.1209 506268.7393
9.2477 498935.6896
9.3762 491674.1203
9.5065 484479.6607
9.6386 477353.8557
9.7726 470292.7161
9.9084 463302.7806
10.046 456385.2019
10.186 449511.4032
10.327 442750.9309
10.471 436009.2471
10.616 429381.2286
10.764 422776.6906
10.913 416285.859
11.065 409822.5818
11.219 404673.8436
11.375 402298.6108
11.533 399907.1366
11.693 397499.8774
11.856 395062.3823
12.02 392625.0177
12.187 390158.5193
12.357 387663.6266
12.529 385155.6183
12.703 382634.9564
12.879 380102.103
13.058 377543.2727
13.24 374959.2177
13.424 372364.7449
13.61 369760.3167
13.799 367132.5401
13.991 364482.1739
14.186 361809.979
14.383 359130.27
14.583 356430.0552
14.785 353723.4455
14.991 350984.4061
15.199 348240.2931
15.41 345478.5215
15.625 342686.9222
15.842 339892.227
16.062 337082.1608
16.285 334257.4842
16.511 331418.9566
16.741 328554.9369
16.973 325691.0858
17.209 322803.4688
17.449 319893.1643
17.691 316985.174
17.937 314056.2105
18.186 311119.0878
18.439 308162.915
18.695 305200.2781
18.955 302220.5019
19.218 299235.9407
19.485 296236.1351
19.756 293222.1388
20.031 290195.0016
20.309 287166.6043
20.591 284126.9203
20.878 281066.3752
21.168 278007.3232
21.462 274940.0616
21.76 271865.6018
22.063 268774.8045
22.369 265689.0662
22.68 262589.2048
22.995 259486.3395
23.315 256371.7624
23.639 253256.3389
23.967 250141.0139
24.3 247017.3993
24.638 243886.7699
24.981 240750.3883
25.328 237618.4709
25.68 234483.0503
26.037 231345.3479
26.398 228215.1822
26.765 225076.4019
27.137 221938.912
27.514 218803.87
27.897 215664.2775
28.284 212537.651
28.678 209401.0326
29.076 206279.5652
29.48 203158.6251
29.89 200039.6067
30.305 196931.313
30.726 193827.4268
31.153 190729.2729
31.586 187638.1512
32.025 184555.336
32.47 181482.0752
32.922 178412.857
33.379 175362.4549
33.843 172318.6827
34.313 169289.4074
34.79 166269.4591
35.274 163260.2526
35.764 160269.2163
36.261 157291.4236
36.765 154328.1868
37.276 151380.7822
37.794 148450.4495
38.319 145538.3912
38.852 142640.3891
39.392 139763.1694
39.939 136907.8173
40.494 134070.3198
41.057 131252.0019
41.628 128454.1439
42.206 125682.7235
42.793 122929.3402
43.387 120204.52
43.99 117500.1851
44.602 114817.6903
45.221 112166.8033
45.85 109535.7773
46.487 106934.1788
47.133 104358.9225
47.788 101811.1019
48.452 99291.75637
49.126 96798.21828
49.808 94338.81708
50.501 91903.74649
51.202 89504.50555
51.914 87131.72385
52.635 84793.04252
53.367 82482.88787
54.109 80205.40063
54.861 77961.37359
55.623 75751.54018
56.396 73573.79862
57.18 71429.00788
57.974 69320.57748
58.78 67243.92644
59.597 65202.41528
60.425 63196.64596
61.265 61224.84776
62.116 59289.95559
62.98 57388.05239
63.855 55524.10591
64.742 53696.379
65.642 51903.34842
66.554 50147.47733
67.479 48427.24411
68.417 46743.08469
69.368 45095.36778
70.332 43484.39651
71.309 41910.41015
72.3 40372.06244
73.305 38869.64041
74.324 37403.36462
75.357 35973.39118
76.404 34579.81386
77.466 33221.41259
78.543 31898.31274
79.634 30611.73111
80.741 29359.31053
81.863 28142.19629
83.001 26959.25632
84.154 25811.42613
85.324 24696.61831
86.509 23616.58791
87.712 22568.45458
88.931 21553.82115
90.166 20572.37883
91.42 19621.55267
92.69 18703.37632
93.978 17816.05979
95.284 16959.31545
96.608 16132.80865
97.951 15335.58213
99.312 14567.85323
100.69 13829.68359
102.09 13118.0229
103.51 12433.59611
104.95 11775.98809
106.41 11144.74638
107.89 10539.3846
109.39 9959.385575
110.91 9404.204625
112.45 8873.272622
114.01 8365.999036
115.59 7881.774874
117.2 7460.178341
118.83 7228.348495
120.48 7003.450446
122.16 6784.025887
123.85 6572.534707
125.57 6366.321894
127.32 6165.337807
129.09 5970.626904
130.88 5782.037356
132.7 5598.407951
134.55 5419.675918
136.42 5246.698998
138.31 5079.327274
140.23 4916.566863
142.18 4758.344584
144.16 4604.587623
146.16 4455.961339
148.19 4311.610415
150.25 4171.458506
152.34 4035.426113
154.46 3903.431083
156.6 3775.986832
158.78 3651.820836
160.99 3531.446175
163.23 3414.777592
165.49 3302.230056
167.79 3192.727386
170.13 3086.228557
172.49 2983.558865
174.89 2883.766668
177.32 2787.205354
179.78 2693.793547
182.28 2603.087694
184.81 2515.384491
187.38 2430.27369
189.99 2347.707653
192.63 2267.938454
195.3 2190.88675
198.02 2115.924779
200.77 2043.552345
203.56 1973.441421
206.39 1905.544666
209.26 1839.811647
212.16 1776.407643
215.11 1714.843506
218.1 1655.287556
221.13 1597.689558
224.21 1541.818231
227.32 1487.986494
230.48 1435.798478
233.69 1385.220874
236.93 1336.520082
240.23 1289.204045
243.56 1243.662363
246.95 1199.443746
250.38 1156.775461
253.86 1115.493157
257.39 1075.562841
260.97 1036.951034
264.59 999.7271021
268.27 963.6521452
272 928.795793
275.78 895.1254624
279.61 862.6086051
283.5 831.1323546
287.44 800.7502622
291.43 771.4307263
295.48 743.0732417
299.59 715.6543936
303.75 689.2140487
307.97 663.6622519
312.25 638.975792
316.59 615.1320815
320.99 592.1088782
325.45 569.8835168
329.98 548.3864809
334.56 527.6908998
339.21 507.6849193
343.92 488.3927786
348.7 469.7547047
353.55 451.7539347
358.46 434.409637
363.45 417.6347324
368.5 401.4804357
373.62 385.8975528
378.81 370.8705312
384.07 356.3844696
389.41 342.3973977
394.82 328.9223875
400.31 315.9216842
405.87 303.4054049
411.51 291.3384686
417.23 279.7094854
423.03 268.50697
428.91 257.7198867
434.87 247.3373708
440.92 237.3321989
447.04 227.7269406
453.26 218.4650157
459.56 209.5676564
465.94 201.0250067
472.42 192.8020596
478.98 184.9160506
485.64 177.334933
492.39 170.0628821
499.23 163.092262
506.17 156.4058499
513.2 150.0063124
520.34 143.8691379
527.57 138.0052664
534.9 132.3999236
542.33 127.0470434
549.87 121.9337777
557.51 117.0611991
565.26 112.4173259
573.11 108.0026277
581.08 103.8006211
589.16 99.81163963
597.34 96.03498234
605.64 92.43547515
614.06 88.97808829
622.6 85.64880349
631.25 82.44723778
640.02 79.3654922
648.91 76.39957279
657.93 73.54252946
667.08 70.79095349
676.35 68.14424476
685.75 65.59611129
695.28 63.14345719
704.94 60.78310462
714.74 58.50968573
724.67 56.32263891
734.74 54.216913
744.95 52.18994497
755.3 50.23911874
765.8 48.36012541
776.44 46.55239596
787.23 44.81191579
798.17 43.13650084
809.27 41.52256768
820.51 39.97095146
831.92 38.47553858
843.48 37.03710191
855.2 35.65252951
867.09 34.31893295
879.14 33.03575641
891.35 31.80130535
903.74 30.612018
916.3 29.4674074
929.03 28.36598794
941.95 27.30466432
955.04 26.28376528
968.31 25.30118581
981.77 24.35496439
995.41 23.44458542
1009.2 22.57074682
1023.3 21.72245955
1037.5 20.91136838
1051.9 20.13047146
1066.5 19.37878131
1081.3 18.65532875
1096.4 17.95454302
1111.6 17.28480667
1127.1 16.63640061
1142.7 16.01682115
1158.6 15.41727361
1174.7 14.84089692
1191 14.286881
1207.6 13.75119866
1224.4 13.23648737
1241.4 12.7420038
1258.6 12.26700831
1276.1 11.80816335
1293.9 11.36506396
1311.8 10.94202484
1330.1 10.53140215
1348.6 10.13727998
1367.3 9.759048479
1386.3 9.39419581
1405.6 9.042329465
1425.1 8.704801282
1444.9 8.379416539
1465 8.065809075
1485.3 7.765102299
1506 7.473980389
1526.9 7.19491389
1548.1 6.926161446
1569.7 6.666189701
1591.5 6.417083294
1613.6 6.177323253
1636 5.946600954
1658.7 5.724616395
1681.8 5.510146888
1705.2 5.303880933
1728.9 5.105538212
1752.9 4.914844167
1777.3 4.730779485
1802 4.553877781
1827 4.383882915
1852.4 4.21990427
1878.1 4.062382268
1904.2 3.910501169
1930.7 3.76409275
1957.5 3.62351657
1984.7 3.488058335
2012.3 3.357559075
2040.3 3.231866672
2068.6 3.111254629
2097.4 2.994721077
2126.5 2.882931066
2156.1 2.77497312
2186.1 2.67109119
2216.4 2.571477607
2247.2 2.475339865
2278.5 2.382580676
2310.1 2.293672422
2342.2 2.20792851
2374.8 2.125253705
2407.8 2.04579621
2441.3 1.969213972
2475.2 1.895636354
2509.6 1.824750103
2544.5 1.756472947
2579.8 1.690906278
2615.7 1.627598065
2652 1.566822772
2688.9 1.508168062
2726.2 1.451876465
2764.1 1.397572847
2802.5 1.345336231
2841.5 1.29496697
2881 1.246532427
2921 1.199965692
2961.6 1.155091437
3002.8 1.111857663
3044.5 1.070312647
3086.8 1.030301363
3129.7 0.991775049
3173.2 0.954686163
3217.3 0.918987802
3262 0.88463397
3307.4 0.851506886
3353.3 0.819709119
3399.9 0.789059332
3447.2 0.759523056
3495.1 0.73112534
3543.6 0.703826412
3592.9 0.677480776
3642.8 0.652163442
3693.5 0.627741554
3744.8 0.604280495
3796.8 0.581702137
3849.6 0.559935961
3903.1 0.538996808
3957.3 0.518856555
4012.3 0.499452962
4068.1 0.480763399
4124.6 0.462796515
4181.9 0.445496504
4240.1 0.428813898
4299 0.412785116
4358.7 0.397360573
4419.3 0.38249553
4480.7 0.36819576
4543 0.35442004
4606.1 0.341173316
4670.1 0.328417275
4735.1 0.316117259
4800.9 0.304295688
4867.6 0.292918544
4935.2 0.281971161
5003.8 0.271423806
5073.3 0.26127859
5143.9 0.251494111
5215.3 0.242099366
5287.8 0.233042449
5361.3 0.224325002
5435.8 0.215935874
5511.4 0.207853504
5588 0.200078525
5665.6 0.192600483
5744.3 0.185399998
5824.2 0.178459527
5905.1 0.171787685
5987.2 0.165359357
6070.4 0.159174453
6154.8 0.153217754
6240.3 0.14748864
6327 0.141972953
6414.9 0.136663847
6504.1 0.131548767
6594.5 0.126627072
6686.1 0.121892274
6779 0.117333211
6873.3 0.112939548
6968.8 0.108714996
7065.6 0.104649595
7163.8 0.100733996
7263.4 0.09696341
7364.3 0.093336811
7466.7 0.08984249
7570.4 0.086482887
7675.6 0.083247069
7782.3 0.080131078
7890.5 0.077131139
8000.1 0.074246093
8111.3 0.071467007
8224 0.068792985
8338.3 0.066218184
8454.2 0.063739304
8571.7 0.061353306
8690.8 0.059057207
8811.6 0.056846146
8934.1 0.054717388
9058.2 0.052669903
9184.1 0.050697784
9311.7 0.048800147
9441.2 0.046971671
9572.4 0.04521289
9705.4 0.043520172
9840.3 0.041890126
9977 0.040321879
10116 0.038807906
10256 0.037360186
10399 0.035956246
10543 0.034614
10690 0.033313111
10838 0.032069622
10989 0.030865094
11142 0.029706347
11297 0.028591827
11454 0.027520036
11613 0.026489507
11774 0.025498795
11938 0.024540675
12104 0.02361992
12272 0.022735195
12442 0.02188523
12615 0.021064031
12791 0.020270856
12968 0.019513518
13149 0.018778238
13331 0.018076305
13517 0.017395228
13704 0.016745124
13895 0.016114706
14088 0.015509907
14284 0.014926777
14482 0.014367498
14684 0.01382579
14888 0.013306386
15095 0.012805994
15304 0.012326324
15517 0.011862207
15733 0.011415362
15951 0.010987187
16173 0.010573211
16398 0.010174867
16626 0.00979163
16857 0.009422991
17091 0.009068452
17329 0.008726093
17569 0.008398321
17814 0.008080646
18061 0.00777658
18312 0.007483219
18567 0.007200258
18825 0.006928449
19086 0.00666739
19351 0.006415738
19620 0.00617321
19893 0.005939526
20170 0.005714411
20450 0.005498368
20734 0.005290322
21022 0.005090018
21314 0.004897205
21611 0.004711012
21911 0.004532454
22215 0.004360666
22524 0.004194884
22837 0.00403545
23154 0.003882148
23476 0.003734306
23803 0.003591762
24133 0.003455188
24469 0.003323165
24809 0.003196328
25154 0.003074137
25503 0.002956781
25858 0.002843447
26217 0.002734634
26581 0.002629885
26951 0.002528792
27325 0.002431775
27705 0.002338187
28090 0.002248163
28480 0.002161586
28876 0.002078126
29277 0.001997885
29684 0.001920563
30097 0.001846071
30515 0.00177449
30939 0.001705554
31369 0.001639179
31805 0.001575283
32247 0.001513784
32695 0.001454603
33150 0.001397538
33610 0.001342764
34077 0.00128997
34551 0.001239094
35031 0.001190181
35518 0.001143065
36012 0.001097689
36512 0.001054085
37020 0.001012024
37534 0.000971619
38056 0.000932661
38585 0.000895178
39121 0.000859119
39664 0.000824438
40216 0.000790966
40775 0.000758783
41341 0.000727846
41916 0.000698007
42498 0.000669332
43089 0.000641686
43688 0.000615084
44295 0.00058949
44910 0.000564872
45535 0.000541118
46167 0.000518312
46809 0.000496318
47460 0.000475144
48119 0.000454794
48788 0.000435179
49466 0.000416306
50153 0.000398151
50850 0.000380663
51557 0.000363821
52274 0.000347606
53000 0.000332017
53737 0.000316992
54483 0.000302553
55241 0.000288624
56008 0.000275243
56787 0.000262339
57576 0.000249932
58376 0.000237987
59187 0.000226491
60010 0.000215415
60844 0.000204758
61689 0.000194507
62547 0.000184625
63416 0.000175123
64297 0.000165977
65191 0.000157165
66097 0.000148687
67015 0.00014053
67947 0.000132669
68891 0.000125109
69848 0.000117832
70819 0.000110822
71803 0.000104078
72801 9.75845E-05
73813 9.13325E-05
74839 8.53147E-05
75879 7.95233E-05
76933 7.39508E-05
78002 6.8585E-05
79086 6.3419E-05
80186 5.84421E-05
81300 5.36567E-05
82430 4.90481E-05
83575 4.46146E-05
84737 4.03428E-05
85914 3.62346E-05
87108 3.2278E-05
88319 2.84681E-05
89546 2.48031E-05
90791 2.12725E-05
92053 1.78747E-05
93332 1.46052E-05
94629 1.14575E-05
95944 8.42761E-06
97277 5.51157E-06
98629 2.70357E-06
100000 0
-1 -1
-2 -2
@@ -0,0 +1,844 @@
Data from: EADS UK. 20.02.2004
SPE envelope fluence of worst week Oct 1989 CREME96 (online) and Aug 1972 (code from D Henderyickx) models
Energy. [MeV/nuc]
Integral Flux. [particles/(m2-s-sr-MeV/nuc)]
Z=2
Energy Flux
1.0023 73978.04958
1.0162 73312.97597
1.0304 72644.52627
1.0447 71982.29239
1.0592 71321.73849
1.0739 70663.03059
1.0888 70006.34445
1.104 69347.50091
1.1193 68695.30307
1.1349 68041.36837
1.1506 67394.235
1.1666 66745.8079
1.1828 66100.33603
1.1993 65454.02391
1.2159 64814.8387
1.2328 64175.20666
1.25 63535.38079
1.2674 62899.24465
1.285 62266.89147
1.3028 61638.44547
1.3209 61010.53901
1.3393 60383.37104
1.3579 59760.51929
1.3768 59138.77915
1.3959 58521.57853
1.4153 57905.81775
1.435 57291.67935
1.4549 56682.42063
1.4751 56075.11406
1.4956 55469.92206
1.5164 54866.99968
1.5375 54266.51621
1.5589 53668.63449
1.5805 53076.25338
1.6025 52484.01519
1.6248 51894.80523
1.6473 51311.35297
1.6702 50728.60204
1.6934 50149.26898
1.717 49571.02052
1.7408 48998.89198
1.765 48428.17946
1.7896 47859.07083
1.8144 47296.30944
1.8397 46733.2156
1.8652 46176.61395
1.8911 45622.23695
1.9174 45070.20697
1.9441 44520.69685
1.9711 43975.90393
1.9985 43433.90718
2.0263 42894.85262
2.0544 42360.77952
2.083 41828.0179
2.1119 41300.4208
2.1413 40774.45963
2.171 40253.82839
2.2012 39735.13254
2.2318 39220.2357
2.2628 38709.23857
2.2942 38202.23818
2.3261 37697.74329
2.3585 37195.90587
2.3912 36699.90999
2.4245 36205.31268
2.4582 35715.21988
2.4923 35229.701
2.527 34746.03145
2.5621 34267.11826
2.5977 33791.68281
2.6338 33319.83283
2.6704 32851.67224
2.7075 32387.30137
2.7451 31926.80946
2.7833 31469.08796
2.822 31015.4437
2.8612 30565.95171
2.9009 30120.68808
2.9412 29678.62935
2.9821 29239.88657
3.0236 28804.56265
3.0656 28373.79099
3.1082 27946.61883
3.1514 27523.13464
3.1952 27103.42811
3.2396 26687.58154
3.2846 26275.67446
3.3303 25866.88467
3.3765 25463.06632
3.4235 25061.67956
3.471 24665.36667
3.5193 24271.69688
3.5682 23882.3846
3.6178 23496.70132
3.6681 23114.72601
3.719 22737.27167
3.7707 22362.9244
3.8231 21992.49298
3.8762 21626.03211
3.9301 21262.92098
3.9847 20903.90636
4.0401 20548.39079
4.0963 20196.44839
4.1532 19848.75667
4.2109 19504.74856
4.2694 19164.48758
4.3288 18827.46271
4.3889 18494.85796
4.4499 18165.61453
4.5118 17839.80064
4.5745 17517.98999
4.638 17200.21617
4.7025 16885.53696
4.7678 16574.97982
4.8341 16267.6446
4.9013 15964.04411
4.9694 15664.21533
5.0385 15367.7664
5.1085 15075.16783
5.1795 14786.0433
5.2515 14500.43098
5.3244 14218.76304
5.3984 13940.30575
5.4735 13665.10357
5.5495 13393.92247
5.6266 13126.07517
5.7048 12861.6002
5.7841 12600.53711
5.8645 12342.91867
5.946 12088.77087
6.0286 11838.11295
6.1124 11590.67925
6.1974 11346.50933
6.2835 11105.90668
6.3708 10868.61023
6.4594 10654.43396
6.5491 10618.43067
6.6401 10582.02992
6.7324 10545.23662
6.826 10508.05575
6.9209 10470.49232
7.017 10432.59073
7.1146 10394.23797
7.2134 10355.55727
7.3137 10316.43654
7.4153 10276.95944
7.5184 10237.05392
7.6229 10196.76466
7.7288 10156.09739
7.8362 10115.01975
7.9451 10073.53803
8.0555 10031.65859
8.1675 9989.350104
8.281 9946.657022
8.3961 9903.548436
8.5128 9860.031341
8.6311 9816.112776
8.751 9771.799819
8.8726 9727.062884
8.9959 9681.909639
9.1209 9636.347795
9.2477 9590.348918
9.3762 9543.957342
9.5065 9497.145066
9.6386 9449.920496
9.7726 9402.256603
9.9084 9354.197718
10.046 9305.752371
10.186 9256.71954
10.327 9207.597605
10.471 9157.699562
10.616 9107.728233
10.764 9057.004207
10.913 9006.222815
11.065 8954.71235
11.219 8902.824559
11.375 8850.569437
11.533 8797.957004
11.693 8744.997303
11.856 8691.372411
12.02 8637.75039
12.187 8583.487424
12.357 8528.599786
12.529 8473.423602
12.703 8417.96904
12.879 8362.246266
13.058 8305.951999
13.24 8249.102789
13.424 8192.024388
13.61 8134.726968
13.799 8076.915883
13.991 8018.607825
14.186 7959.819537
14.383 7900.86594
14.583 7841.461214
14.785 7781.915801
14.991 7721.656935
15.199 7661.286448
15.41 7600.527472
15.625 7539.112289
15.842 7477.628994
16.062 7415.807537
16.285 7353.664653
16.511 7291.217045
16.741 7228.208613
16.973 7165.203889
17.209 7101.676314
17.449 7037.649615
17.691 6973.673828
17.937 6909.236631
18.186 6844.619931
18.439 6779.58413
18.695 6714.406118
18.955 6648.851043
19.218 6583.190695
19.485 6517.194971
19.756 6450.887054
20.031 6384.290035
20.309 6317.665295
20.591 6250.792247
20.878 6183.460254
21.168 6116.161111
21.462 6048.681356
21.76 5981.04324
22.063 5913.045699
22.369 5845.159457
22.68 5776.962506
22.995 5708.699469
23.315 5640.178773
23.639 5571.639455
23.967 5503.102305
24.3 5434.382785
24.638 5365.508937
24.981 5296.508542
25.328 5227.606359
25.68 5158.627106
26.037 5089.597655
26.398 5020.734008
26.765 4951.680843
27.137 4882.656064
27.514 4813.68514
27.897 4744.614104
28.284 4675.828323
28.678 4606.822716
29.076 4538.150435
29.48 4469.489753
29.89 4400.871347
30.305 4332.488886
30.726 4264.20339
31.153 4196.044003
31.586 4128.039326
32.025 4060.217392
32.47 3992.605655
32.922 3925.082855
33.379 3857.974009
33.843 3791.01102
34.313 3724.366962
34.79 3657.928101
35.274 3591.725557
35.764 3525.922758
36.261 3460.411319
36.765 3395.22011
37.276 3330.377209
37.794 3265.90989
38.319 3201.844606
38.852 3138.088559
39.392 3074.789726
39.939 3011.971982
40.494 2949.547036
41.057 2887.544042
41.628 2825.991167
42.206 2765.019916
42.793 2704.445483
43.387 2644.499441
43.99 2585.004072
44.602 2525.989188
45.221 2467.669673
45.85 2409.787101
46.487 2352.551933
47.133 2295.896294
47.788 2239.844241
48.452 2184.41864
49.126 2129.560802
49.808 2075.453976
50.501 2021.882423
51.202 1969.099122
51.914 1916.897925
52.635 1865.446935
53.367 1814.623533
54.109 1764.518814
54.861 1715.150219
55.623 1666.533884
56.396 1618.62357
57.18 1571.438173
57.974 1525.052705
58.78 1479.366382
59.597 1434.453136
60.425 1390.326211
61.265 1346.946651
62.116 1304.379023
62.98 1262.537153
63.855 1221.53033
64.742 1181.320338
65.642 1141.873665
66.554 1103.244501
67.479 1065.39937
68.417 1028.347863
69.368 992.0980913
70.332 956.6567233
71.309 922.0290233
72.3 888.1853736
73.305 855.1320889
74.324 822.8740216
75.357 791.414606
76.404 760.7559049
77.466 730.8710771
78.543 701.7628803
79.634 673.4580843
80.741 645.9048316
81.863 619.1283184
83.001 593.1036391
84.154 567.8513749
85.324 543.3256029
86.509 519.564934
87.712 496.5060008
88.931 474.1840652
90.166 452.5923343
91.42 431.6741587
92.69 411.4742791
93.978 391.9533154
95.284 373.10494
96.608 354.9217904
97.951 337.3828069
99.312 320.492771
100.69 304.2530391
102.09 288.5965038
103.51 273.5391145
104.95 259.0717379
106.41 245.1844205
107.89 231.8664611
109.39 219.1064826
110.91 206.8925018
112.45 195.2119977
114.01 184.0519788
115.59 173.3990472
117.2 163.1778732
118.83 153.4433462
120.48 144.1806847
122.16 135.3238834
123.85 126.9632223
125.57 118.9843291
127.32 111.3806997
129.09 104.1843168
130.88 97.37937548
132.7 90.91592626
134.55 84.78544352
136.42 79.008689
138.31 73.56998125
140.23 68.42814721
142.18 63.57366697
144.16 58.99675026
146.16 54.708039
148.19 50.6736925
150.25 46.88374568
152.34 43.32817502
154.46 39.99694662
156.6 36.89398021
158.78 33.98041227
160.99 31.26152232
163.23 28.72763986
165.49 26.37922324
167.79 24.18624901
170.13 22.14213517
172.49 20.25548778
174.89 18.50164636
177.32 16.88054216
179.78 15.38405247
182.28 13.99908256
184.81 12.7243833
187.38 11.54830838
189.99 10.46512604
192.63 9.472811597
195.3 8.564887881
198.02 7.729386798
200.77 6.967496284
203.56 6.271232637
206.39 5.636033147
209.26 5.057531854
212.16 4.533274954
215.11 4.055702322
218.1 3.622968375
221.13 3.231524671
224.21 2.876941196
227.32 2.558366975
230.48 2.270781105
233.69 2.011723457
236.93 1.780203431
240.23 1.571765238
243.56 1.386162262
246.95 1.2197116
250.38 1.071629594
253.86 0.93975105
257.39 0.822548504
260.97 0.71860592
264.59 0.626851292
268.27 0.582864058
272 0.561002582
275.78 0.539970801
279.61 0.519741009
283.5 0.500235494
287.44 0.481480447
291.43 0.463450071
295.48 0.446076237
299.59 0.429338747
303.75 0.413256119
307.97 0.397768199
312.25 0.38285631
316.59 0.368501782
320.99 0.354686053
325.45 0.341391681
329.98 0.32857327
334.56 0.31627028
339.21 0.304412302
343.92 0.293010137
348.7 0.282024971
353.55 0.271443605
358.46 0.261274259
363.45 0.251463274
368.5 0.242037506
373.62 0.232965381
378.81 0.224235311
384.07 0.215835944
389.41 0.207741019
394.82 0.199955618
400.31 0.192455512
405.87 0.185244751
411.51 0.17830095
417.23 0.171615597
423.03 0.165180336
428.91 0.158986958
434.87 0.153027447
440.92 0.147284544
447.04 0.141769632
453.26 0.136448658
459.56 0.131332399
465.94 0.126413772
472.42 0.121671264
478.98 0.117113546
485.64 0.112720818
492.39 0.108494375
499.23 0.104428648
506.17 0.100512536
513.2 0.096746722
520.34 0.093115878
527.57 0.089625585
534.9 0.086266352
542.33 0.083033845
549.87 0.079919685
557.51 0.076924162
565.26 0.074039555
573.11 0.071265861
581.08 0.068592475
589.16 0.066019567
597.34 0.063546839
605.64 0.061164977
614.06 0.058871176
622.6 0.056662612
631.25 0.054538922
640.02 0.0524949
648.91 0.050527964
657.93 0.048633375
667.08 0.04680888
676.35 0.045054138
685.75 0.043364966
695.28 0.04173923
704.94 0.040174835
714.74 0.038668211
724.67 0.037218972
734.74 0.03582378
744.95 0.034480893
755.3 0.033188588
765.8 0.031944004
776.44 0.030746742
787.23 0.029594128
798.17 0.028484718
809.27 0.027416132
820.51 0.026388918
831.92 0.025399025
843.48 0.024446939
855.2 0.023530589
867.09 0.022648068
879.14 0.021799
891.35 0.020982259
903.74 0.020195481
916.3 0.019438335
929.03 0.018709837
941.95 0.018007939
955.04 0.017332849
968.31 0.016683164
981.77 0.016057578
995.41 0.015455752
1009.2 0.014878143
1023.3 0.014317487
1037.5 0.013781474
1051.9 0.013265454
1066.5 0.012768784
1081.3 0.012290839
1096.4 0.011827917
1111.6 0.01138554
1127.1 0.010957301
1142.7 0.010548146
1158.6 0.010152245
1174.7 0.00977168
1191 0.009405918
1207.6 0.009052307
1224.4 0.008712578
1241.4 0.008386223
1258.6 0.008072765
1276.1 0.007770002
1293.9 0.007477656
1311.8 0.007198569
1330.1 0.006927706
1348.6 0.00666776
1367.3 0.006418321
1386.3 0.006177725
1405.6 0.005945717
1425.1 0.005723185
1444.9 0.005508682
1465 0.005301966
1485.3 0.005103774
1506 0.004911921
1526.9 0.004728031
1548.1 0.004550954
1569.7 0.00437968
1591.5 0.00421558
1613.6 0.004057653
1636 0.003905697
1658.7 0.00375951
1681.8 0.003618287
1705.2 0.003482481
1728.9 0.003351904
1752.9 0.003226375
1777.3 0.003105222
1802 0.002988797
1827 0.002876931
1852.4 0.002769033
1878.1 0.002665394
1904.2 0.002565477
1930.7 0.002469171
1957.5 0.002376711
1984.7 0.002287627
2012.3 0.002201815
2040.3 0.002119169
2068.6 0.002039871
2097.4 0.001963264
2126.5 0.001889782
2156.1 0.001818824
2186.1 0.001750551
2216.4 0.001685092
2247.2 0.001621926
2278.5 0.001560987
2310.1 0.001502582
2342.2 0.00144626
2374.8 0.00139196
2407.8 0.001339779
2441.3 0.001289493
2475.2 0.001241184
2509.6 0.001194648
2544.5 0.001149829
2579.8 0.001106793
2615.7 0.001065244
2652 0.001025362
2688.9 0.000986875
2726.2 0.000949942
2764.1 0.000914318
2802.5 0.000880053
2841.5 0.000847016
2881 0.000815251
2921 0.000784715
2961.6 0.000755292
3002.8 0.000726947
3044.5 0.000699711
3086.8 0.000673485
3129.7 0.000648234
3173.2 0.000623928
3217.3 0.000600536
3262 0.000578026
3307.4 0.000556323
3353.3 0.000535493
3399.9 0.000515418
3447.2 0.000496073
3495.1 0.000477476
3543.6 0.000459601
3592.9 0.000442351
3642.8 0.000425776
3693.5 0.000409789
3744.8 0.000394433
3796.8 0.000379656
3849.6 0.000365413
3903.1 0.000351712
3957.3 0.000338534
4012.3 0.000325841
4068.1 0.000313615
4124.6 0.000301864
4181.9 0.00029055
4240.1 0.000279641
4299 0.00026916
4358.7 0.000259075
4419.3 0.000249357
4480.7 0.00024001
4543 0.000231006
4606.1 0.000222349
4670.1 0.000214014
4735.1 0.000205977
4800.9 0.000198254
4867.6 0.000190822
4935.2 0.000183671
5003.8 0.000176783
5073.3 0.000170157
5143.9 0.000163768
5215.3 0.000157634
5287.8 0.000151721
5361.3 0.000146031
5435.8 0.000140555
5511.4 0.00013528
5588 0.000130207
5665.6 0.000125327
5744.3 0.000120629
5824.2 0.000116102
5905.1 0.000111749
5987.2 0.000107557
6070.4 0.000103523
6154.8 9.96387E-05
6240.3 9.59032E-05
6327 9.23072E-05
6414.9 8.88461E-05
6504.1 8.55119E-05
6594.5 8.23041E-05
6686.1 7.92184E-05
6779 7.62475E-05
6873.3 7.33847E-05
6968.8 7.06325E-05
7065.6 6.79842E-05
7163.8 6.54337E-05
7263.4 6.2978E-05
7364.3 6.06163E-05
7466.7 5.83411E-05
7570.4 5.61536E-05
7675.6 5.40469E-05
7782.3 5.20186E-05
7890.5 5.00659E-05
8000.1 4.81883E-05
8111.3 4.63798E-05
8224 4.46398E-05
8338.3 4.29645E-05
8454.2 4.13519E-05
8571.7 3.97999E-05
8690.8 3.83065E-05
8811.6 3.68685E-05
8934.1 3.54842E-05
9058.2 3.41529E-05
9184.1 3.28708E-05
9311.7 3.16372E-05
9441.2 3.04487E-05
9572.4 2.93056E-05
9705.4 2.82055E-05
9840.3 2.71463E-05
9977 2.61273E-05
10116 2.51438E-05
10256 2.42033E-05
10399 2.32914E-05
10543 2.24196E-05
10690 2.15748E-05
10838 2.07674E-05
10989 1.99853E-05
11142 1.9233E-05
11297 1.85096E-05
11454 1.78139E-05
11613 1.71451E-05
11774 1.65021E-05
11938 1.58805E-05
12104 1.52831E-05
12272 1.47091E-05
12442 1.41578E-05
12615 1.36252E-05
12791 1.31107E-05
12968 1.26196E-05
13149 1.21429E-05
13331 1.16878E-05
13517 1.12463E-05
13704 1.08249E-05
13895 1.04163E-05
14088 1.00243E-05
14284 9.64645E-06
14482 9.28407E-06
14684 8.9331E-06
14888 8.59663E-06
15095 8.27252E-06
15304 7.96185E-06
15517 7.66129E-06
15733 7.37194E-06
15951 7.09472E-06
16173 6.82672E-06
16398 6.56886E-06
16626 6.3208E-06
16857 6.08222E-06
17091 5.8528E-06
17329 5.63127E-06
17569 5.41921E-06
17814 5.2137E-06
18061 5.01701E-06
18312 4.82727E-06
18567 4.64427E-06
18825 4.4685E-06
19086 4.2997E-06
19351 4.13701E-06
19620 3.98022E-06
19893 3.82918E-06
20170 3.68368E-06
20450 3.54406E-06
20734 3.40962E-06
21022 3.2802E-06
21314 3.15563E-06
21611 3.03536E-06
21911 2.92002E-06
22215 2.80907E-06
22524 2.70201E-06
22837 2.59906E-06
23154 2.50008E-06
23476 2.40464E-06
23803 2.31262E-06
24133 2.22447E-06
24469 2.13927E-06
24809 2.05741E-06
25154 1.97857E-06
25503 1.90286E-06
25858 1.82974E-06
26217 1.75955E-06
26581 1.69199E-06
26951 1.62679E-06
27325 1.56423E-06
27705 1.50389E-06
28090 1.44585E-06
28480 1.39004E-06
28876 1.33624E-06
29277 1.28452E-06
29684 1.23469E-06
30097 1.18669E-06
30515 1.14057E-06
30939 1.09616E-06
31369 1.0534E-06
31805 1.01225E-06
32247 9.72637E-07
32695 9.34526E-07
33150 8.97781E-07
33610 8.62515E-07
34077 8.28527E-07
34551 7.95777E-07
35031 7.64294E-07
35518 7.3397E-07
36012 7.0477E-07
36512 6.76713E-07
37020 6.49652E-07
37534 6.23659E-07
38056 5.98599E-07
38585 5.74491E-07
39121 5.51301E-07
39664 5.28999E-07
40216 5.07477E-07
40775 4.86787E-07
41341 4.66899E-07
41916 4.47719E-07
42498 4.29289E-07
43089 4.11523E-07
43688 3.94428E-07
44295 3.77984E-07
44910 3.62168E-07
45535 3.46908E-07
46167 3.3226E-07
46809 3.18134E-07
47460 3.04536E-07
48119 2.91469E-07
48788 2.78876E-07
49466 2.6676E-07
50153 2.55105E-07
50850 2.4388E-07
51557 2.33072E-07
52274 2.22666E-07
53000 2.12663E-07
53737 2.03023E-07
54483 1.9376E-07
55241 1.84825E-07
56008 1.76243E-07
56787 1.67968E-07
57576 1.60011E-07
58376 1.52352E-07
59187 1.44982E-07
60010 1.37882E-07
60844 1.31051E-07
61689 1.24481E-07
62547 1.18148E-07
63416 1.12059E-07
64297 1.06199E-07
65191 1.00553E-07
66097 9.51222E-08
67015 8.9898E-08
67947 8.48629E-08
68891 8.00214E-08
69848 7.53621E-08
70819 7.08742E-08
71803 6.65567E-08
72801 6.23997E-08
73813 5.83981E-08
74839 5.45467E-08
75879 5.08406E-08
76933 4.72749E-08
78002 4.38419E-08
79086 4.05371E-08
80186 3.73535E-08
81300 3.42929E-08
82430 3.13456E-08
83575 2.85105E-08
84737 2.57791E-08
85914 2.31526E-08
87108 2.06232E-08
88319 1.8188E-08
89546 1.58455E-08
90791 1.35892E-08
92053 1.1418E-08
93332 9.32904E-09
94629 7.31806E-09
95944 5.38252E-09
97277 3.51992E-09
98629 1.72652E-09
100000 0
@@ -0,0 +1,87 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4IonC12.cc,v 1.1 2004/05/14 12:29:33 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
//
// ----------------------------------------------------------------------
// GEANT 4 class implementation file
//
// History: first implementation, based on object model of
// 4th April 1996, G.Cosmo
// **********************************************************************
// ----------------------------------------------------------------------
#include <fstream>
#include <iomanip>
#include "G4IonC12.hh"
// ######################################################################
// ### IonC12 ###
// ######################################################################
G4IonC12::G4IonC12(
const G4String& aName, G4double mass,
G4double width, G4double charge,
G4int iSpin, G4int iParity,
G4int iConjugation, G4int iIsospin,
G4int iIsospin3, G4int gParity,
const G4String& pType, G4int lepton,
G4int baryon, G4int encoding,
G4bool stable, G4double lifetime,
G4DecayTable *decaytable )
: G4VIon( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
}
G4IonC12::~G4IonC12()
{
}
// ......................................................................
// ... static member definitions ...
// ......................................................................
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
G4IonC12 G4IonC12::theIonC12(
"IonC12", 11.1749*GeV, 0.0*MeV, +6.0*eplus,
0, +1, 0,
0, 0, 0,
"static_nucleus", 0, +12, 0,
true, -1.0, 0
);
G4IonC12* G4IonC12::IonC12Definition(){return &theIonC12;}
G4IonC12* G4IonC12::IonC12(){return &theIonC12;}
@@ -0,0 +1,87 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4IonFe52.cc,v 1.1 2004/05/14 12:29:33 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
//
// ----------------------------------------------------------------------
// GEANT 4 class implementation file
//
// History: first implementation, based on object model of
// 4th April 1996, G.Cosmo
// **********************************************************************
// ----------------------------------------------------------------------
#include <fstream>
#include <iomanip>
#include "G4IonFe52.hh"
// ######################################################################
// ### IonFe52 ###
// ######################################################################
G4IonFe52::G4IonFe52(
const G4String& aName, G4double mass,
G4double width, G4double charge,
G4int iSpin, G4int iParity,
G4int iConjugation, G4int iIsospin,
G4int iIsospin3, G4int gParity,
const G4String& pType, G4int lepton,
G4int baryon, G4int encoding,
G4bool stable, G4double lifetime,
G4DecayTable *decaytable )
: G4VIon( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
}
G4IonFe52::~G4IonFe52()
{
}
// ......................................................................
// ... static member definitions ...
// ......................................................................
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
G4IonFe52 G4IonFe52::theIonFe52(
"IonFe52", 48.3761*GeV, 0.0*MeV, +26.0*eplus,
0, +1, 0,
0, 0, 0,
"static_nucleus", 0, +52, 0,
true, -1.0, 0
);
G4IonFe52* G4IonFe52::IonFe52Definition(){return &theIonFe52;}
G4IonFe52* G4IonFe52::IonFe52(){return &theIonFe52;}
@@ -0,0 +1,74 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
#include <fstream>
#include <iomanip>
#include "G4IonO16.hh"
// ######################################################################
// ### IonO16 ###
// ######################################################################
G4IonO16::G4IonO16(
const G4String& aName, G4double mass,
G4double width, G4double charge,
G4int iSpin, G4int iParity,
G4int iConjugation, G4int iIsospin,
G4int iIsospin3, G4int gParity,
const G4String& pType, G4int lepton,
G4int baryon, G4int encoding,
G4bool stable, G4double lifetime,
G4DecayTable *decaytable )
: G4VIon( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
}
G4IonO16::~G4IonO16()
{
}
// ......................................................................
// ... static member definitions ...
// ......................................................................
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
G4IonO16 G4IonO16::theIonO16(
"IonO16", 14.8951*GeV, 0.0*MeV, +8.0*eplus,
0, +1, 0,
0, 0, 0,
"static_nucleus", 0, +16, 0,
true, -1.0, 0
);
G4IonO16* G4IonO16::IonO16Definition(){return &theIonO16;}
G4IonO16* G4IonO16::IonO16(){return &theIonO16;}
@@ -0,0 +1,87 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4IonSi28.cc,v 1.1 2004/05/14 12:29:33 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
//
// ----------------------------------------------------------------------
// GEANT 4 class implementation file
//
// History: first implementation, based on object model of
// 4th April 1996, G.Cosmo
// **********************************************************************
// ----------------------------------------------------------------------
#include <fstream>
#include <iomanip>
#include "G4IonSi28.hh"
// ######################################################################
// ### IonSi28 ###
// ######################################################################
G4IonSi28::G4IonSi28(
const G4String& aName, G4double mass,
G4double width, G4double charge,
G4int iSpin, G4int iParity,
G4int iConjugation, G4int iIsospin,
G4int iIsospin3, G4int gParity,
const G4String& pType, G4int lepton,
G4int baryon, G4int encoding,
G4bool stable, G4double lifetime,
G4DecayTable *decaytable )
: G4VIon( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
}
G4IonSi28::~G4IonSi28()
{
}
// ......................................................................
// ... static member definitions ...
// ......................................................................
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
G4IonSi28 G4IonSi28::theIonSi28(
"IonSi28", 26.0532*GeV, 0.0*MeV, +14.0*eplus,
0, +1, 0,
0, 0, 0,
"static_nucleus", 0, +28, 0,
true, -1.0, 0
);
G4IonSi28* G4IonSi28::IonSi28Definition(){return &theIonSi28;}
G4IonSi28* G4IonSi28::IonSi28(){return &theIonSi28;}
@@ -0,0 +1,198 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// *******************************
// * *
// * RemSimAnalysisManager.cc *
// * *
// *******************************
//
// $Id: RemSimAnalysisManager.cc,v 1.5 2004/05/22 12:57:06 guatelli Exp $
//
// Author:Susanna Guatelli, guatelli@ge.infn.it
//
#ifdef G4ANALYSIS_USE
#include <stdlib.h>
#include <fstream>
#include "RemSimAnalysisManager.hh"
#include "G4ios.hh"
#include <AIDA/AIDA.h>
#include "G4RunManager.hh"
RemSimAnalysisManager* RemSimAnalysisManager::instance = 0;
RemSimAnalysisManager::RemSimAnalysisManager()
: aFact(0), treeFact(0), theTree(0), dataPointFactory(0),
histogramFactory(0), dataPoint(0), energyDeposit(0),
primary(0), secondaryDeposit(0), primaryInitialE(0),
primaryInitialEout(0), initialE(0),
initialEout(0)
{
aFact = AIDA_createAnalysisFactory();
treeFact = aFact -> createTreeFactory();
}
RemSimAnalysisManager::~RemSimAnalysisManager()
{
delete initialEout;
initialEout = 0;
delete initialE;
initialE = 0;
delete primaryInitialEout;
primaryInitialEout = 0;
delete primaryInitialE;
primaryInitialE = 0;
delete secondaryDeposit;
secondaryDeposit = 0;
delete primary;
primary = 0;
delete energyDeposit;
energyDeposit = 0;
delete dataPoint;
dataPoint = 0;
delete histogramFactory;
histogramFactory = 0;
delete dataPointFactory;
dataPointFactory = 0;
delete theTree;
theTree = 0;
delete treeFact;
treeFact = 0;
delete aFact;
aFact = 0;
}
RemSimAnalysisManager* RemSimAnalysisManager::getInstance()
{
if (instance == 0) instance = new RemSimAnalysisManager;
return instance;
}
void RemSimAnalysisManager::book()
{
// Define the hbook file
theTree = treeFact -> create("remsim.hbk","hbook",false, true);
// Create histogram factory
histogramFactory = aFact -> createHistogramFactory(*theTree);
// Histograms
energyDeposit = histogramFactory -> createHistogram1D("10",
"Energy Deposit",
30,// number of bins
0.,//xmin
30.);//xmax
primary = histogramFactory -> createHistogram1D("20",
"Initial energy of primary particles",
200000,0.,100000.);
secondaryDeposit = histogramFactory -> createHistogram1D("30",
"EnergyDeposit given by secondaries",
30,0.,30.);
primaryInitialE = histogramFactory -> createHistogram1D("40",
"Initial energy of primaries reaching the phantom",
200000,0.,100000.);
primaryInitialEout = histogramFactory -> createHistogram1D("50",
"Initial energy of primaries ougoing the phantom",
200000,0.,100000.);
initialE = histogramFactory -> createHistogram1D("60",
"Energy of primaries reaching the phantom",
200000,0.,100000.);
initialEout = histogramFactory -> createHistogram1D("70",
"Energy of primaries outgoing the phantom",
200000,0.,100000.);
}
void RemSimAnalysisManager::energyDepositStore(G4int layer, G4double eDep)
{
energyDeposit -> fill(layer,eDep);
}
void RemSimAnalysisManager::primaryParticleEnergyDistribution(G4double energy)
{
primary -> fill(energy);
}
void RemSimAnalysisManager::SecondaryEnergyDeposit(G4int i, G4double EnergyDep)
{
secondaryDeposit -> fill(i,EnergyDep);
}
void RemSimAnalysisManager::PrimaryInitialEnergyIn(G4double EnergyDep)
{
primaryInitialE -> fill(EnergyDep);
}
void RemSimAnalysisManager::PrimaryInitialEnergyOut(G4double EnergyDep)
{
primaryInitialEout -> fill(EnergyDep);
}
void RemSimAnalysisManager::PrimaryEnergyIn(G4double EnergyDep)
{
initialE -> fill(EnergyDep);
}
void RemSimAnalysisManager::PrimaryEnergyOut(G4double EnergyDep)
{
initialEout -> fill(EnergyDep);
}
void RemSimAnalysisManager::finish()
{
theTree -> commit();
theTree -> close();
}
#endif
@@ -0,0 +1,162 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// **********************************
// * *
// * RemSimAstronautDecorator.cc *
// * *
// **********************************
//
// $Id: RemSimAstronautDecorator.cc,v 1.5 2004/05/22 12:57:06 guatelli Exp $
//
// Author:Susanna Guatelli, guatelli@ge.infn.it
#include "RemSimVGeometryComponent.hh"
#include "RemSimMaterial.hh"
#include "G4Material.hh"
#include "G4MaterialTable.hh"
#include "RemSimAstronautDecorator.hh"
#include "RemSimDecorator.hh"
#include "G4Box.hh"
#include "G4LogicalVolume.hh"
#include "G4VPhysicalVolume.hh"
#include "G4PVPlacement.hh"
#include "G4VisAttributes.hh"
#include "RemSimSensitiveDetector.hh"
#include "RemSimROGeometry.hh"
#include "G4SDManager.hh"
#include "G4RunManager.hh"
#include "G4UserLimits.hh"
RemSimAstronautDecorator::RemSimAstronautDecorator(RemSimVGeometryComponent* comp)
: RemSimDecorator(comp), phantom(0), phantomLog(0), phantomPhys(0)
{
motherAstronaut = 0;
flag = false;
}
RemSimAstronautDecorator::~RemSimAstronautDecorator()
{
}
void RemSimAstronautDecorator::ConstructComponent(G4VPhysicalVolume* motherVolume)
{
RemSimDecorator::ConstructComponent(motherVolume);
if (flag == false) ConstructAstronaut(motherVolume);
else ConstructAstronaut(motherAstronaut);
}
void RemSimAstronautDecorator::DestroyComponent()
{
}
void RemSimAstronautDecorator::ConstructAstronaut(G4VPhysicalVolume* motherVolume)
{
// Astronaut definition: Box of water
// The Astronaut is the sensitive detector
RemSimMaterial* pMaterial = new RemSimMaterial();
G4Material* water = pMaterial -> GetMaterial("Water");
delete pMaterial;
// Phantom sizes
G4double phantomX = 3. *m;
G4double phantomY = 3. *m;
G4double phantomZ = 30. *cm;
phantom = new G4Box("phantom",phantomX/2.,phantomY/2.,phantomZ/2.);
phantomLog = new G4LogicalVolume(phantom,
water,
"phantom",
0,0,0);
phantomPhys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,0.),
"phantom",phantomLog,
motherVolume,false,0);
G4cout << "The mother volume of the phantom is: "
<< motherVolume -> GetName()
<< G4endl;
// Visualisation attributes
G4Colour lblue (0.0, 0.0,.75);
G4VisAttributes* phantomVisAtt = new G4VisAttributes(lblue);
phantomVisAtt -> SetVisibility(true);
phantomVisAtt -> SetForceSolid(true);
phantomLog -> SetVisAttributes(phantomVisAtt);
//Sensitive Detector
G4SDManager* SDman = G4SDManager::GetSDMpointer();
G4String sensitiveDetectorName = "AstronautSD";
RemSimSensitiveDetector* sensitiveDetector = new
RemSimSensitiveDetector(sensitiveDetectorName);
G4int VoxelNbAlongZ = 30;
G4double translation = 0;
if (flag == true)
{
G4double thickShelter = 4.5 *m;
translation = 0.5*m + thickShelter/2.;
}
RemSimROGeometry* ROGeometry = new RemSimROGeometry(phantomX,
phantomY,
phantomZ,
VoxelNbAlongZ,
translation);
ROGeometry -> BuildROGeometry();
sensitiveDetector -> SetROgeometry(ROGeometry);
SDman->AddNewDetector(sensitiveDetector);
phantomLog -> SetSensitiveDetector(sensitiveDetector);
// Set max step allowd to particles in the phantom
phantomLog -> SetUserLimits(new G4UserLimits(0.1*cm));
}
void RemSimAstronautDecorator::ChangeThickness(G4double)
{
G4cout << "It is not possible to change the sizes of the Astronaut"
<< G4endl;
}
void RemSimAstronautDecorator::PrintDetectorParameters()
{
G4cout << "-----------------------------------------------------------------------"
<< G4endl
<< "the astronaut is a box whose thickness is: " << G4endl
<< ((phantom -> GetZHalfLength())*2.)/cm
<< " cm along the Z axis"
<< G4endl
<< "material of the astronaut: "
<< phantomLog -> GetMaterial() -> GetName() <<G4endl
<< G4endl;
}
void RemSimAstronautDecorator::ChangeMother(G4VPhysicalVolume* mother)
{
motherAstronaut = mother;
flag = true;
}
@@ -0,0 +1,79 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// **********************************
// * *
// * RemSimBasicGenerator.hh *
// * *
// **********************************
//
// $Id: RemSimBasicGenerator.cc,v 1.5 2004/05/22 12:57:06 guatelli Exp $
//
// Author:Susanna Guatelli, guatelli@ge.infn.it
#include "RemSimBasicGenerator.hh"
#include "RemSimVPrimaryGeneratorFactory.hh"
#include "G4Event.hh"
#include "G4ParticleGun.hh"
#include "G4ParticleTable.hh"
#include "G4ParticleDefinition.hh"
#include "G4ios.hh"
#ifdef G4ANALYSIS_USE
#include "RemSimAnalysisManager.hh"
#endif
RemSimBasicGenerator::RemSimBasicGenerator()
{
G4int n_particle = 1;
particleGun = new G4ParticleGun(n_particle);
G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
G4String particleName = "proton";
particleGun -> SetParticleDefinition(particleTable->FindParticle(particleName));
particleGun -> SetParticlePosition(G4ThreeVector(0., 0., -25.*m));
G4ThreeVector v(0.0,0.0,1.0);
particleGun -> SetParticleEnergy(100.*MeV);
particleGun -> SetParticleMomentumDirection(v);
}
RemSimBasicGenerator::~RemSimBasicGenerator()
{
delete particleGun;
}
void RemSimBasicGenerator::GeneratePrimaries(G4Event* anEvent)
{
#ifdef G4ANALYSIS_USE
G4double energy = particleGun -> GetParticleEnergy();
RemSimAnalysisManager* analysis = RemSimAnalysisManager::getInstance();
analysis -> primaryParticleEnergyDistribution(energy/MeV);
#endif
particleGun -> GeneratePrimaryVertex(anEvent);
}
G4double RemSimBasicGenerator:: GetInitialEnergy()
{
G4double primaryParticleEnergy = particleGun -> GetParticleEnergy();
return primaryParticleEnergy;
}
@@ -0,0 +1,68 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// ***********************
// * *
// * RemSimDecay.cc *
// * *
// ***********************
//
// $Id: RemSimDecay.cc,v 1.2 2004/05/22 12:57:06 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author:Susanna Guatelli, guatelli@ge.infn.it
//
#include "RemSimDecay.hh"
#include "G4ProcessManager.hh"
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
#include "G4ProcessManager.hh"
RemSimDecay::RemSimDecay(const G4String& name): G4VPhysicsConstructor(name)
{ }
RemSimDecay::~RemSimDecay()
{ }
void RemSimDecay::ConstructProcess()
{
// Add Decay Process
G4Decay* theDecayProcess = new G4Decay();
theParticleIterator -> reset();
while( (*theParticleIterator)() )
{
G4ParticleDefinition* particle = theParticleIterator -> value();
G4ProcessManager* pmanager = particle -> GetProcessManager();
if (theDecayProcess -> IsApplicable(*particle))
{
pmanager -> AddProcess(theDecayProcess);
// set ordering for PostStepDoIt and AtRestDoIt
pmanager -> SetProcessOrdering(theDecayProcess, idxPostStep);
pmanager -> SetProcessOrdering(theDecayProcess, idxAtRest);
}
}
}
@@ -0,0 +1,55 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// ***************************
// * *
// * RemSimDecorator.cc *
// * *
// ***************************
//
// $Id: RemSimDecorator.cc,v 1.5 2004/05/22 12:57:06 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author:Susanna Guatelli, guatelli@ge.infn.it
//
#include "RemSimVGeometryComponent.hh"
#include "RemSimDecorator.hh"
RemSimDecorator::RemSimDecorator(RemSimVGeometryComponent* geoComponent)
: component(geoComponent)
{
}
RemSimDecorator::~RemSimDecorator()
{;}
void RemSimDecorator::ConstructComponent(G4VPhysicalVolume* motherVolume)
{
component -> ConstructComponent(motherVolume) ;
}
void RemSimDecorator::DestroyComponent()
{
component -> DestroyComponent();
}
@@ -0,0 +1,274 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// **************************************
// * *
// * RemSimDetectorConstruction.cc *
// * *
// **************************************
//
// $Id: RemSimDetectorConstruction.cc,v 1.13 2004/05/27 08:36:51 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author:Susanna Guatelli, guatelli@ge.infn.it
//
#include "RemSimDetectorConstruction.hh"
#include "RemSimMaterial.hh"
#include "RemSimDetectorMessenger.hh"
#include "G4Material.hh"
#include "G4Box.hh"
#include "G4Tubs.hh"
#include "G4LogicalVolume.hh"
#include "G4ThreeVector.hh"
#include "G4PVPlacement.hh"
#include "globals.hh"
#include "G4RunManager.hh"
#include "G4Colour.hh"
#include "G4VisAttributes.hh"
#include "G4UserLimits.hh"
#include "RemSimVGeometryComponent.hh"
#include "RemSimVehicle1.hh"
#include "RemSimMoonHabitat.hh"
#include "G4VisAttributes.hh"
#include "RemSimSensitiveDetector.hh"
#include "G4SDManager.hh"
#include "RemSimROGeometry.hh"
#include "RemSimDecorator.hh"
#include "RemSimShieldingDecorator.hh"
#include "RemSimShelterSPEDecorator.hh"
#include "RemSimAstronautDecorator.hh"
#include "RemSimRoofDecorator.hh"
RemSimDetectorConstruction::RemSimDetectorConstruction()
: experimentalHall_log(0), experimentalHall_phys(0),
phantomPhys(0), detectorPhys(0)
{
pMaterial = new RemSimMaterial();
pVehicle = new RemSimVehicle1();
pMoon = new RemSimMoonHabitat();
messenger = new RemSimDetectorMessenger(this);
decoratorValue ="Nothing";
astronautValue ="On";
decorator = 0; //pointing to shielding
decoratorSPE = 0; //pointing to SPE shelter
decorator1 = 0; //pointing to the phantom/astronaut
decoratorRoof = 0; //pointing to the roof of the Moon Habitat
moon = false; // moon = true: moon configuration selected
// moon = false: vehicle configuration selected
flag = false; // flag = true : the geometry configuration (vehicle/moon)
// has been chosen
// flag = false : the geometry configuration (vehicle/moon)
// has not been chosen}
}
RemSimDetectorConstruction::~RemSimDetectorConstruction()
{
delete decoratorRoof;
delete decorator1;
delete decoratorSPE;
delete decorator;
delete messenger;
delete pMoon;
delete pVehicle;
delete pMaterial;
}
G4VPhysicalVolume* RemSimDetectorConstruction::Construct()
{
pMaterial -> DefineMaterials();
G4Material* vacuum = pMaterial -> GetMaterial("Galactic");
// World definition
G4double expHall_x = 30.0*m;
G4double expHall_y = 30.0*m;
G4double expHall_z = 30.0*m;
G4Box* experimentalHall_box
= new G4Box("world",expHall_x,expHall_y,expHall_z);
experimentalHall_log = new G4LogicalVolume(experimentalHall_box,
vacuum,"world",0,0,0);
experimentalHall_phys = new G4PVPlacement(0,G4ThreeVector(),"world",
experimentalHall_log,0,
false,0);
return experimentalHall_phys;
}
void RemSimDetectorConstruction::ConstructVolume()
{
if (moon == true)
{
pMoon -> ConstructComponent(experimentalHall_phys);
decorator1 = new RemSimAstronautDecorator(pMoon);
G4VPhysicalVolume* shelter = pMoon -> GetShelter();
decorator1 -> ChangeMother(shelter);
decorator1 -> ConstructComponent(experimentalHall_phys);
}
else
{
pVehicle -> ConstructComponent(experimentalHall_phys);
decorator1 = new RemSimAstronautDecorator(pVehicle);
decorator1 -> ConstructComponent(experimentalHall_phys);
}
}
void RemSimDetectorConstruction::AddShielding(G4String value)
{
if (moon == false)
{
decoratorValue = value;
if (decoratorValue == "On")
{
if (decorator == 0)
{
decorator = new RemSimShieldingDecorator(pVehicle);
decorator -> ConstructComponent(experimentalHall_phys);
G4RunManager::GetRunManager() -> DefineWorldVolume(experimentalHall_phys);
}
else G4cout<<" The shielding alread exists!"<<G4endl;
}
if (decoratorValue == "Off")
{
if (decorator != 0)
{
decorator -> DestroyComponent();
G4RunManager::GetRunManager() -> DefineWorldVolume(experimentalHall_phys);
decorator = 0;
}
else G4cout<<" The shielding does not exist!"<<G4endl;
}
}
else G4cout << " The shielding is not available in moon habitat configuration"<<G4endl;
}
void RemSimDetectorConstruction::AddShelterSPE(G4String value)
{
if (moon == false)
{
if (value == "On")
{
if (decoratorSPE == 0)
{
decoratorSPE = new RemSimShelterSPEDecorator(pVehicle);
decoratorSPE -> ConstructComponent(experimentalHall_phys);
G4RunManager::GetRunManager() -> DefineWorldVolume(experimentalHall_phys);
}
else G4cout<<" The SPE shelter alread exists!"<<G4endl;
}
if (value == "Off")
{
if (decoratorSPE != 0)
{
decoratorSPE -> DestroyComponent();
G4RunManager::GetRunManager() -> DefineWorldVolume(experimentalHall_phys);
decoratorSPE = 0;
}
else G4cout<<" The SPE shelter does not exist!"<<G4endl;
}
}
else G4cout<< " It is not possible to select SPE shelter in moon habitat configuration" << G4endl;
}
void RemSimDetectorConstruction::AddHabitatRoof(G4String value)
{
if (moon == true)
{
if (value == "On")
{
if (decoratorRoof == 0)
{
decoratorRoof = new RemSimRoofDecorator(pMoon);
decoratorRoof -> ConstructComponent(experimentalHall_phys);
G4RunManager::GetRunManager() -> DefineWorldVolume(experimentalHall_phys);
}
else G4cout<<" The roof alread exists!"<<G4endl;
}
if (value == "Off")
{
if (decoratorRoof != 0)
{
decoratorRoof -> DestroyComponent();
G4RunManager::GetRunManager() -> DefineWorldVolume(experimentalHall_phys);
decoratorRoof = 0;
}
else G4cout<<" The roof does not exist!"<<G4endl;
}
}
else G4cout<< " It is not possible to select the roof in the vehicle configuration" << G4endl;
}
void RemSimDetectorConstruction::ChangeShieldingThickness(G4double thick)
{
if (moon == false)
{
if (decorator != 0)
{
decorator -> ChangeThickness(thick);
G4RunManager::GetRunManager() -> DefineWorldVolume(experimentalHall_phys);
}
else G4cout<<" Define the shielding before!"<< G4endl;
}
}
void RemSimDetectorConstruction::ChangeRoofThickness(G4double thick)
{
if (moon == true)
{
if (decoratorRoof != 0)
{
decoratorRoof -> ChangeThickness(thick);
G4RunManager::GetRunManager() -> DefineWorldVolume(experimentalHall_phys);
}
else G4cout<<" Define the roof before!"<< G4endl;
}
else G4cout<<"The roof can be selected in moon habitat configuration"<<G4endl;
}
void RemSimDetectorConstruction:: ChooseConfiguration(G4String value)
{
if (flag == false)
{
if (value == "vehicle") ConstructVolume();
else if (value == "moon")
{
moon = true;
ConstructVolume();
}
G4RunManager::GetRunManager() -> DefineWorldVolume(experimentalHall_phys);
flag = true;
}
else
G4cout<< "The configurations vehicle/moon can not be switched" << G4endl;
}
@@ -0,0 +1,131 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// Code developed by:
// S.Guatelli
//
// *********************************
// * *
// * RemSimDetectorMessenger.cc *
// * *
// *********************************
//
//
// $Id: RemSimDetectorMessenger.cc,v 1.9 2004/05/22 12:57:06 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
//
#include "RemSimDetectorMessenger.hh"
#include "RemSimDetectorConstruction.hh"
#include "G4UIdirectory.hh"
#include "G4UIcmdWithAString.hh"
#include "G4UIcmdWithADoubleAndUnit.hh"
RemSimDetectorMessenger::RemSimDetectorMessenger( RemSimDetectorConstruction* Det): detector(Det)
{
vehicleDir = new G4UIdirectory("/configuration/");
vehicleDir -> SetGuidance("geometry control.");
vehicleCmd = new G4UIcmdWithAString("/configuration/choose",this);
vehicleCmd -> SetGuidance("Assign the geometrical set-up to G4RunManager.");
vehicleCmd -> SetParameterName("choice",true);
vehicleCmd -> SetCandidates("vehicle moon");
vehicleCmd -> AvailableForStates(G4State_Idle);
shieldingCmd = new G4UIcmdWithAString("/configuration/AddShielding",this);
shieldingCmd -> SetGuidance("Add shielding layer in vehicle configuration.");
shieldingCmd -> SetParameterName("choice",true);
shieldingCmd -> SetCandidates("On Off");
shieldingCmd -> AvailableForStates(G4State_PreInit,G4State_Idle);
SPECmd = new G4UIcmdWithAString("/configuration/AddSPE",this);
SPECmd -> SetGuidance("Add SPE shelter in vehicle configuration.");
SPECmd -> SetParameterName("choice",true);
SPECmd -> SetCandidates("On Off");
SPECmd -> AvailableForStates(G4State_PreInit,G4State_Idle);
roofCmd = new G4UIcmdWithAString("/configuration/AddRoof",this);
roofCmd -> SetGuidance("Add the Roof to the moon habitat.");
roofCmd -> SetParameterName("choice",true);
roofCmd -> SetCandidates("On Off");
roofCmd -> AvailableForStates(G4State_Idle);
// Fix the parameters of the shielding: material and thickness
shieldingDir = new G4UIdirectory("/shielding/");
shieldingDir -> SetGuidance("shielding control.");
thicknessCmd = new G4UIcmdWithADoubleAndUnit("/shielding/thickness",this);
thicknessCmd -> SetGuidance("Set the thickness of the shielding.");
thicknessCmd -> SetParameterName("Size",true);
thicknessCmd -> SetRange("Size>=0.");
thicknessCmd -> SetUnitCategory("Length");
thicknessCmd -> AvailableForStates(G4State_Idle);
roofDir = new G4UIdirectory("/roof/");
roofDir -> SetGuidance("Roof control.");
thicknessRoofCmd = new G4UIcmdWithADoubleAndUnit("/roof/thickness",this);
thicknessRoofCmd -> SetGuidance("Set the thickness of the Roof.");
thicknessRoofCmd -> SetParameterName("Size",true);
thicknessRoofCmd -> SetRange("Size>=0.");
thicknessRoofCmd -> SetUnitCategory("Length");
thicknessRoofCmd -> AvailableForStates(G4State_Idle);
}
RemSimDetectorMessenger::~RemSimDetectorMessenger()
{
delete thicknessRoofCmd;
delete roofDir;
delete thicknessCmd;
delete shieldingDir;
delete roofCmd;
delete SPECmd;
delete shieldingCmd;
delete vehicleCmd;
delete vehicleDir;
}
void RemSimDetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue)
{
if(command == vehicleCmd)
detector -> ChooseConfiguration(newValue);
if(command == shieldingCmd)
detector -> AddShielding(newValue);
if(command == SPECmd)
detector -> AddShelterSPE(newValue);
if(command == roofCmd)
detector -> AddHabitatRoof(newValue);
if(command == thicknessCmd)
detector -> ChangeShieldingThickness
(thicknessCmd -> GetNewDoubleValue(newValue));
if(command == thicknessRoofCmd)
detector -> ChangeRoofThickness
(thicknessRoofCmd -> GetNewDoubleValue(newValue));
}
@@ -0,0 +1,60 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: RemSimElectronEEDL.cc,v 1.3 2004/05/22 12:57:06 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author: Susanna Guatelli, guatelloi@ge.infn.it
#include "RemSimElectronEEDL.hh"
#include "G4ProcessManager.hh"
#include "G4ParticleDefinition.hh"
#include "G4MultipleScattering.hh"
#include "G4LowEnergyIonisation.hh"
#include "G4LowEnergyBremsstrahlung.hh"
RemSimElectronEEDL::RemSimElectronEEDL(const G4String& name): G4VPhysicsConstructor(name)
{ }
RemSimElectronEEDL::~RemSimElectronEEDL()
{ }
void RemSimElectronEEDL::ConstructProcess()
{
// Add EEDL processes for electrons
theParticleIterator->reset();
while( (*theParticleIterator)() )
{
G4ParticleDefinition* particle = theParticleIterator -> value();
G4ProcessManager* manager = particle -> GetProcessManager();
G4String particleName = particle -> GetParticleName();
if (particleName == "e-")
{
manager -> AddProcess(new G4MultipleScattering, -1, 1,1);
manager -> AddProcess(new G4LowEnergyIonisation, -1, 2,2);
manager -> AddProcess(new G4LowEnergyBremsstrahlung,-1,-1,3);
}
}
}
@@ -0,0 +1,72 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// **********************************
// * *
// * RemSimEventAction.cc *
// * *
// **********************************
//
//
// $Id: RemSimEventAction.cc,v 1.7 2004/05/27 12:31:31 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author : Susanna Guatelli, guatelli@ge.infn.it
//
#include "RemSimEventAction.hh"
#include "G4Event.hh"
#include "G4EventManager.hh"
#include "G4TrajectoryContainer.hh"
#include "G4Trajectory.hh"
#include "G4VVisManager.hh"
#include "G4ios.hh"
#include "Randomize.hh"
#include "CLHEP/Random/RandEngine.h"
RemSimEventAction::RemSimEventAction():evtNo(-1)
{}
RemSimEventAction::~RemSimEventAction()
{}
void RemSimEventAction::BeginOfEventAction(const G4Event* evt)
{
evtNo = evt -> GetEventID();
G4int printModul = 500;
if (evtNo%printModul == 0)
G4cout << "\n---> Begin Of Event: " << evtNo << G4endl;
}
void RemSimEventAction::EndOfEventAction(const G4Event* evt)
{
G4TrajectoryContainer* trajectoryContainer = evt->GetTrajectoryContainer();
G4int n_trajectories =0;
if (trajectoryContainer) n_trajectories = trajectoryContainer->entries();
if (G4VVisManager::GetConcreteInstance())
{
for (G4int i=0; i<n_trajectories; i++)
{ G4Trajectory* trj = (G4Trajectory*)
((*(evt->GetTrajectoryContainer()))[i]);
trj->DrawTrajectory(50);
}
}
}
@@ -0,0 +1,271 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// **************************************
// * *
// * RemSimHadronicPhysics.cc *
// * *
// **************************************
//
// $Id: RemSimHadronicPhysics.cc,v 1.2 2004/05/22 12:57:06 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author : Susanna Guatelli, guatelli@ge.infn.it
//
#include "RemSimHadronicPhysics.hh"
#include "G4BinaryLightIonReaction.hh"
#include "G4TripathiCrossSection.hh"
#include "G4IonsShenCrossSection.hh"
#include "G4ParticleDefinition.hh"
#include "G4ProcessManager.hh"
#include "G4ProcessVector.hh"
#include "G4ParticleTypes.hh"
#include "G4ParticleTable.hh"
#include "G4Material.hh"
#include "G4ios.hh"
#include "G4ProtonInelasticCrossSection.hh"
#include "G4NeutronInelasticCrossSection.hh"
#include "G4PiNuclearCrossSection.hh"
#include "G4LElastic.hh"
#include "G4CascadeInterface.hh"
#include "G4LEProtonInelastic.hh"
#include "G4LENeutronInelastic.hh"
#include "G4LEPionPlusInelastic.hh"
#include "G4LEPionMinusInelastic.hh"
#include "G4LEAlphaInelastic.hh"
#include "G4LFission.hh"
#include "G4LCapture.hh"
#include "G4TheoFSGenerator.hh"
#include "G4GeneratorPrecompoundInterface.hh"
#include "G4ExcitationHandler.hh"
#include "G4PreCompoundModel.hh"
#include "G4QGSMFragmentation.hh"
#include "G4ExcitedStringDecay.hh"
RemSimHadronicPhysics::RemSimHadronicPhysics(const G4String& name):
G4VPhysicsConstructor(name)
{
// Hadronic cross sections
proton_XC = new G4ProtonInelasticCrossSection();
neutron_XC = new G4NeutronInelasticCrossSection();
pion_XC = new G4PiNuclearCrossSection();
// Hadronic cross sections for alpha particles
tripathi = new G4TripathiCrossSection();
shen = new G4IonsShenCrossSection();
// Hadronic models
elastic_model = new G4LElastic();
bertini_model = new G4CascadeInterface();
binary_ion_model = new G4BinaryLightIonReaction();
LEP_proton_model = new G4LEProtonInelastic();
LEP_neutron_model = new G4LENeutronInelastic();
LEP_pip_model = new G4LEPionPlusInelastic();
LEP_pim_model = new G4LEPionMinusInelastic();
LEP_alpha_model = new G4LEAlphaInelastic();
nfission_model = new G4LFission();
ncapture_model = new G4LCapture();
QGSP_model = new G4TheoFSGenerator();
theCascade = new G4GeneratorPrecompoundInterface();
theHandler = new G4ExcitationHandler();
thePreEquilib = new G4PreCompoundModel(theHandler);
theCascade -> SetDeExcitation(thePreEquilib);
QGSP_model -> SetTransport(theCascade);
theFragmentation = new G4QGSMFragmentation();
theStringDecay = new G4ExcitedStringDecay(theFragmentation);
theStringModel.SetFragmentationModel(theStringDecay);
QGSP_model -> SetHighEnergyGenerator(&theStringModel);
}
RemSimHadronicPhysics::~RemSimHadronicPhysics()
{}
#include "G4HadronElasticProcess.hh"
#include "G4HadronFissionProcess.hh"
#include "G4HadronCaptureProcess.hh"
#include "G4ProtonInelasticProcess.hh"
#include "G4NeutronInelasticProcess.hh"
#include "G4PionPlusInelasticProcess.hh"
#include "G4PionMinusInelasticProcess.hh"
#include "G4AlphaInelasticProcess.hh"
void RemSimHadronicPhysics::ConstructProcess()
{
// Set model energy regions
// 0 - 3.2 GeV: Bertini cascade model for p, n, pi+, pi-
bertini_model -> SetMaxEnergy(3.2*GeV);
// 80 MeV - 20 GeV for light ions
binary_ion_model -> SetMinEnergy(80*MeV);
binary_ion_model -> SetMaxEnergy(110.*GeV);
// 2.8 - 25 GeV: LEP models for p, n, pi+, pi-
LEP_proton_model -> SetMinEnergy(2.8*GeV);
LEP_proton_model -> SetMaxEnergy(25*GeV);
LEP_neutron_model -> SetMinEnergy(2.8*GeV);
LEP_neutron_model -> SetMaxEnergy(25*GeV);
LEP_pip_model -> SetMinEnergy(2.8*GeV);
LEP_pip_model -> SetMaxEnergy(25*GeV);
LEP_pim_model -> SetMinEnergy(2.8*GeV);
LEP_pim_model -> SetMaxEnergy(25*GeV);
nfission_model -> SetMinEnergy(0*TeV);
nfission_model -> SetMaxEnergy(100*TeV);
ncapture_model -> SetMinEnergy(0*TeV);
ncapture_model -> SetMaxEnergy(100*TeV);
// Up to 100 MeV for alphas
LEP_alpha_model -> SetMaxEnergy(100.*MeV);
// 15 GeV - 100 TeV: QGSP model for p, n, pi+, pi-
QGSP_model -> SetMinEnergy(15*GeV);
QGSP_model -> SetMaxEnergy(100*TeV);
// ******************************************
// * register models, processes to proton *
// ******************************************
G4ParticleDefinition* proton = G4Proton::ProtonDefinition();
G4ProcessManager* protMan = proton -> GetProcessManager();
// Elastic process
G4HadronElasticProcess* protelProc = new G4HadronElasticProcess();
protelProc -> RegisterMe(elastic_model);
protMan -> AddDiscreteProcess(protelProc);
// Inelastic process
G4ProtonInelasticProcess* protinelProc = new G4ProtonInelasticProcess();
protinelProc -> AddDataSet(proton_XC);
protinelProc -> RegisterMe(bertini_model);
protinelProc -> RegisterMe(LEP_proton_model);
protinelProc -> RegisterMe(QGSP_model);
protMan -> AddDiscreteProcess(protinelProc);
// ******************************************
// * register models, processes to neutron *
// ******************************************
G4ParticleDefinition* neutron = G4Neutron::NeutronDefinition();
G4ProcessManager* neutMan = neutron->GetProcessManager();
// Elastic process
G4HadronElasticProcess* neutelProc = new G4HadronElasticProcess();
neutelProc -> RegisterMe(elastic_model);
neutMan -> AddDiscreteProcess(neutelProc);
// Inelastic process
G4NeutronInelasticProcess* neutinelProc = new G4NeutronInelasticProcess();
neutinelProc -> AddDataSet(neutron_XC);
neutinelProc -> RegisterMe(bertini_model);
neutinelProc -> RegisterMe(LEP_neutron_model);
neutinelProc -> RegisterMe(QGSP_model);
neutMan -> AddDiscreteProcess(neutinelProc);
G4HadronCaptureProcess* neutcapProc = new G4HadronCaptureProcess();
neutcapProc -> RegisterMe(ncapture_model);
neutMan -> AddDiscreteProcess(neutcapProc);
G4HadronFissionProcess* neutfisProc = new G4HadronFissionProcess();
neutfisProc -> RegisterMe(nfission_model);
neutMan -> AddDiscreteProcess(neutfisProc);
// ******************************************
// * register models, processes to pi+ *
// ******************************************
G4ParticleDefinition* piplus = G4PionPlus::PionPlusDefinition();
G4ProcessManager* pipMan = piplus -> GetProcessManager();
// Elastic process
G4HadronElasticProcess* pipelProc = new G4HadronElasticProcess();
pipelProc -> RegisterMe(elastic_model);
pipMan -> AddDiscreteProcess(pipelProc);
// Inelastic process
G4PionPlusInelasticProcess* pipinelProc = new G4PionPlusInelasticProcess();
pipinelProc -> AddDataSet(pion_XC);
pipinelProc -> RegisterMe(bertini_model);
pipinelProc -> RegisterMe(LEP_pip_model);
pipinelProc -> RegisterMe(QGSP_model);
pipMan -> AddDiscreteProcess(pipinelProc);
// ******************************************
// * register models, processes to pi- *
// ******************************************
G4ParticleDefinition* piminus = G4PionMinus::PionMinusDefinition();
G4ProcessManager* pimMan = piminus -> GetProcessManager();
// Elastic process
G4HadronElasticProcess* pimelProc = new G4HadronElasticProcess();
pimelProc -> RegisterMe(elastic_model);
pimMan -> AddDiscreteProcess(pimelProc);
// Inelastic process
G4PionMinusInelasticProcess* piminelProc = new G4PionMinusInelasticProcess();
piminelProc -> AddDataSet(pion_XC);
piminelProc -> RegisterMe(bertini_model);
piminelProc -> RegisterMe(LEP_pim_model);
piminelProc -> RegisterMe(QGSP_model);
pimMan -> AddDiscreteProcess(piminelProc);
// ******************************************
// * register models, processes to alpha *
// ******************************************
G4ParticleDefinition* alpha = G4Alpha::AlphaDefinition();
G4ProcessManager* alfMan = alpha -> GetProcessManager();
// Elastic process
G4HadronElasticProcess* alfelProc = new G4HadronElasticProcess();
alfelProc -> RegisterMe(elastic_model);
alfMan -> AddDiscreteProcess(alfelProc);
// Inelastic process
G4AlphaInelasticProcess* alfinelProc = new G4AlphaInelasticProcess();
alfinelProc -> AddDataSet(tripathi);
alfinelProc -> AddDataSet(shen);
alfinelProc -> RegisterMe(LEP_alpha_model);
alfinelProc -> RegisterMe(binary_ion_model);
alfMan -> AddDiscreteProcess(alfinelProc);
}
@@ -0,0 +1,84 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
#include "RemSimHit.hh"
#include "G4VVisManager.hh"
#include "G4Circle.hh"
#include "G4Colour.hh"
#include "G4VisAttributes.hh"
#include "G4UnitsTable.hh"
#include "G4ios.hh"
G4Allocator<RemSimHit> RemSimHitAllocator;
RemSimHit::RemSimHit()
{;}
RemSimHit::~RemSimHit()
{;}
RemSimHit::RemSimHit(const RemSimHit &right)
: G4VHit()
{
edep = right.edep;
zID = right.zID;
position = right.position;
}
const RemSimHit& RemSimHit::operator=(const RemSimHit &right)
{
edep = right.edep;
zID = right.zID;
position = right.position;
return *this;
}
G4int RemSimHit::operator==(const RemSimHit &right) const
{
return (this==&right) ? 1 : 0;
}
void RemSimHit::Draw()
{
G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
if(pVVisManager)
{
G4Circle circle(position);
circle.SetScreenSize(4.);
circle.SetFillStyle(G4Circle::filled);
G4Colour colour(1.,0.,0.);
G4VisAttributes attribs(colour);
circle.SetVisAttributes(attribs);
pVVisManager->Draw(circle);
}
}
void RemSimHit::Print()
{
G4cout<<
"Hit in Astronaut:"
<< G4BestUnit(edep, "Energy")
<< " in position: "
<< G4BestUnit(position, "Length") <<G4endl;
}
@@ -0,0 +1,146 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// Author : Susanna Guatelli, guatelli@ge.infn.it
//
#include "CLHEP/Random/RandGeneral.h"
#include "RemSimInterplanetarySpaceConfiguration.hh"
#include "RemSimVPrimaryGeneratorFactory.hh"
#include "G4Event.hh"
#include "G4ParticleGun.hh"
#include "G4ParticleTable.hh"
#include "G4ParticleDefinition.hh"
#include "G4ios.hh"
#include "Randomize.hh"
#ifdef G4ANALYSIS_USE
#include "RemSimAnalysisManager.hh"
#endif
#include "RemSimRunAction.hh"
#include <fstream>
#include <strstream>
RemSimInterplanetarySpaceConfiguration::RemSimInterplanetarySpaceConfiguration()
{
G4int n_particle = 1;
particleGun = new G4ParticleGun(n_particle);
run = new RemSimRunAction();
moon = false;
G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
G4String particleName = "proton";
particleGun -> SetParticleDefinition(particleTable->FindParticle(particleName));
particleGun -> SetParticlePosition(G4ThreeVector(0., 0., -25.*m));
G4ThreeVector v(0.0,0.0,1.0);
particleGun -> SetParticleEnergy(1.*MeV);
particleGun -> SetParticleMomentumDirection(v);
}
RemSimInterplanetarySpaceConfiguration::~RemSimInterplanetarySpaceConfiguration()
{
delete run;
delete particleGun;
}
void RemSimInterplanetarySpaceConfiguration::GeneratePrimaries(G4Event* anEvent){
// Read the ASCII files containing the fluxes of particles in respect
// to the energy in MeV
G4bool value = run -> GetFile();
if (value == true)
{
G4DataVector* energies = run -> GetPrimaryParticleEnergy();
G4DataVector* data = run -> GetPrimaryParticleEnergyDistribution();
G4double sum = run -> GetPrimaryParticleEnergyDistributionSum();
G4double partSum = 0;
G4int j = 0;
G4double random = sum*G4UniformRand();
while (partSum<random)
{
partSum += (*data)[j];
j++;
}
particleGun -> SetParticleEnergy((*energies)[j]);
#ifdef G4ANALYSIS_USE
G4double energy = particleGun -> GetParticleEnergy();
RemSimAnalysisManager* analysis = RemSimAnalysisManager::getInstance();
analysis -> primaryParticleEnergyDistribution(energy/MeV);
#endif
if (moon == true) MoonConfiguration();
else
{
particleGun -> SetParticlePosition(G4ThreeVector(0., 0., -25.*m));
G4ThreeVector v(0.0,0.0,1.0);
particleGun -> SetParticleMomentumDirection(v);
}
particleGun -> GeneratePrimaryVertex(anEvent);
}
else
{
G4String excep = "Load data file";
G4Exception(excep);
}
}
void RemSimInterplanetarySpaceConfiguration:: MoonConfiguration()
{
//Generate the primary particles on a hemisphere with random direction
//position
G4double radius = 25.* m;
G4double angle = pi * G4UniformRand()*rad;
G4double y0 = radius*cos(angle);
G4double x0 = 0.*m;
G4double z0 = -radius*sin(angle);
if ( z0 < 0. *m)
{
particleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0));
}
//direction
G4double angledir = pi * G4UniformRand()*rad;
if ((angledir> (pi/2.-angle)) && angledir<(3*pi/2.-angle))
{
G4double a,b,c;
b=cos(angledir);
a=0.;
c=sin(angledir);
G4ThreeVector direction(a,b,c);
particleGun -> SetParticleMomentumDirection(direction);
}
}
G4double RemSimInterplanetarySpaceConfiguration:: GetInitialEnergy()
{
G4double primaryParticleEnergy = particleGun -> GetParticleEnergy();
return primaryParticleEnergy;
}
void RemSimInterplanetarySpaceConfiguration::SetMoon(G4bool value)
{
moon = value;
}
@@ -0,0 +1,72 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
#include "RemSimIonICRU.hh"
#include "G4ProcessManager.hh"
#include "G4ParticleDefinition.hh"
#include "G4MultipleScattering.hh"
#include "G4hLowEnergyIonisation.hh"
#include "G4hIonisation.hh"
#include "G4hLowEnergyLoss.hh"
RemSimIonICRU::RemSimIonICRU(const G4String& name): G4VPhysicsConstructor(name)
{ }
RemSimIonICRU::~RemSimIonICRU()
{ }
void RemSimIonICRU::ConstructProcess()
{
theParticleIterator -> reset();
while( (*theParticleIterator)() )
{
G4ParticleDefinition* particle = theParticleIterator -> value();
G4ProcessManager* manager = particle -> GetProcessManager();
G4String particleName = particle -> GetParticleName();
G4double charge = particle -> GetPDGCharge();
if (particleName == "proton" || particleName == "alpha"
|| particleName == "GenericIon")
{
G4hLowEnergyIonisation* ionisation = new G4hLowEnergyIonisation();
G4VProcess* multipleScattering = new G4MultipleScattering();
manager -> AddProcess(multipleScattering, -1,1,1);
manager -> AddProcess(ionisation, -1,2,2);
}
else if (charge != 0.0)
{
if (particleName != "e+" && particleName != "e-" &&
(particleName != "mu+") && (particleName != "mu-"))
{
if((!particle -> IsShortLived()) &&
(particle -> GetParticleName() != "chargedgeantino"))
{
G4hLowEnergyIonisation* ionisation = new G4hLowEnergyIonisation();
G4VProcess* multipleScattering = new G4MultipleScattering();
manager -> AddProcess(multipleScattering, -1,1,1);
manager -> AddProcess(ionisation, -1,2,2);
}
}
}
}
}
@@ -0,0 +1,70 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
#include "RemSimIonStandard.hh"
#include "G4ProcessManager.hh"
#include "G4ParticleDefinition.hh"
#include "G4MultipleScattering.hh"
#include "G4hIonisation.hh"
RemSimIonStandard::RemSimIonStandard(const G4String& name): G4VPhysicsConstructor(name)
{ }
RemSimIonStandard::~RemSimIonStandard()
{ }
void RemSimIonStandard::ConstructProcess()
{
theParticleIterator -> reset();
while( (*theParticleIterator)() )
{
G4ParticleDefinition* particle = theParticleIterator -> value();
G4ProcessManager* manager = particle -> GetProcessManager();
G4String particleName = particle -> GetParticleName();
G4double charge = particle -> GetPDGCharge();
if (particleName == "proton" || particleName == "alpha"
|| particleName == "GenericIon")
{
G4hIonisation* ionisation = new G4hIonisation();
G4VProcess* multipleScattering = new G4MultipleScattering();
manager -> AddProcess(multipleScattering, -1,1,1);
manager -> AddProcess(ionisation, -1,2,2);
}
else if (charge != 0.0)
{
if (particleName != "e+" && particleName != "e-" &&
(particleName != "mu+") && (particleName != "mu-"))
{
if((!particle -> IsShortLived()) &&
(particle -> GetParticleName() != "chargedgeantino"))
{
G4hIonisation* ionisation = new G4hIonisation();
G4VProcess* multipleScattering = new G4MultipleScattering();
manager -> AddProcess(multipleScattering, -1,1,1);
manager -> AddProcess(ionisation, -1,2,2);
}
}
}
}
}
@@ -0,0 +1,250 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// Code developed by:
// S.Guatelli
//
// *******************************
// * *
// * RemSimMaterial.cc *
// * *
// *******************************
//
// $Id: RemSimMaterial.cc,v 1.5 2004/05/22 12:57:06 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
#include "G4MaterialPropertiesTable.hh"
#include "G4MaterialPropertyVector.hh"
#include "globals.hh"
#include "G4MaterialTable.hh"
#include "Randomize.hh"
#include "G4RunManager.hh"
#include "G4Element.hh"
#include "G4ElementTable.hh"
#include "RemSimMaterial.hh"
RemSimMaterial::RemSimMaterial():
matPb(0), matAir(0), matH2O(0), Al(0), nylon(0), mylar(0),
beta(0), nextel(0), kevlar(0),
vacuum(0), betaCloth(0), eterogeneousNextel(0), kevlarVacuum(0),
polyethylene(0), polyacrylate(0), evoh(0), nomex(0), nomexAir(0),
kevlarAir(0), moon(0)
{;}
RemSimMaterial::~RemSimMaterial()
{
delete moon;
delete kevlarAir;
delete nomexAir;
delete nomex;
delete evoh;
delete polyacrylate;
delete polyethylene;
delete kevlarVacuum;
delete eterogeneousNextel;
delete betaCloth;
delete vacuum;
delete kevlar;
delete nextel;
delete beta;
delete mylar;
delete nylon;
delete Al;
delete matH2O;
delete matAir;
delete matPb;
}
void RemSimMaterial::DefineMaterials()
{
// Define required materials
G4double A; // atomic mass
G4double Z; // atomic number
G4double d; // density
// General elements
A = 1.01*g/mole;
G4Element* elH = new G4Element ("Hydrogen","H",Z = 1.,A);
A = 10.811*g/mole;
G4Element* elB = new G4Element ("Boro","B",Z = 5.,A);
A = 14.01*g/mole;
G4Element* elN = new G4Element("Nitrogen","N",Z = 7.,A);
A = 16.00*g/mole;
G4Element* elO = new G4Element("Oxygen","O",Z = 8.,A);
A=26.98*g/mole;
G4Element* elAl = new G4Element("Aluminum","Al", Z = 13.,A);
A = 12.011*g/mole;
G4Element* elC = new G4Element("Carbon","C",Z = 6.,A);
A = 24.305*g/mole;
G4Element* elMg = new G4Element("Magnesium","Mg",Z = 12.,A);
A = 35.453*g/mole;
G4Element* elCl = new G4Element("Chlorine","Cl",Z = 17.,A);
A = 40.08*g/mole;
G4Element* elCa = new G4Element("Calcium","Ca",Z = 20.,A);
A = 28.09*g/mole;
G4Element* elSi = new G4Element("Silicon","Si",Z = 14.,A);
A = 55.85*g/mole;
G4Element* elFe = new G4Element("Iron","Fe",Z = 26.,A);
//Lead material
A = 207.19*g/mole;
Z = 82;
d = 11.35*g/cm3;
matPb = new G4Material("Lead",Z,A,d);
// Air material
G4double airDensity = 1.290*mg/cm3;
G4Material* matAir = new G4Material("Air",airDensity,2);
matAir -> AddElement(elN,0.7);
matAir -> AddElement(elO,0.3);
// Water
d = 1.000*g/cm3;
matH2O = new G4Material("Water",d,2);
matH2O -> AddElement(elH,2);
matH2O -> AddElement(elO,1);
matH2O -> GetIonisation() -> SetMeanExcitationEnergy(75.0*eV);
Al = new G4Material("Aluminium", Z= 13., A= 26.98*g/mole, d = 2.7*g/cm3);
//nylon (alenia spazio)
d = 1.14 *g/cm3;
nylon = new G4Material("nylon",d,4);
nylon -> AddElement(elH,0.108);
nylon -> AddElement(elC,0.68);
nylon -> AddElement(elN,0.099);
nylon -> AddElement(elO,0.113);
//mylar (alenia spazio)
d= 1.4 *g/cm3;
mylar = new G4Material("mylar",d,3);
mylar -> AddElement(elH,0.042);
mylar -> AddElement(elC,0.625);
mylar -> AddElement(elO,0.333);
//beta cloth
G4double betaDensity = 2.3 *g/cm3;
beta = new G4Material("beta",betaDensity,2);
beta -> AddElement(elO,0.53);
beta -> AddElement(elSi,0.47);
G4double nextelDensity = 2.7 * g/cm3;
nextel = new G4Material("nextel",nextelDensity,4);
nextel -> AddElement(elB,0.04);
nextel -> AddElement(elO,0.52);
nextel -> AddElement(elAl,0.33);
nextel -> AddElement(elSi,0.11);
//kevlar
G4double kevlarDensity = 1.44 *g/cm3;
kevlar = new G4Material("kevlar",d,4);
kevlar -> AddElement(elH,0.04);
kevlar -> AddElement(elC,0.71);
kevlar -> AddElement(elO,0.12);
kevlar -> AddElement(elN,0.13);
//vacuum
G4double vacuumDensity = 1.e-25 *g/cm3;
G4double pressure = 3.e-18*pascal;
G4double temperature = 2.73*kelvin;
vacuum = new G4Material("Galactic", Z=1., A=1.01*g/mole,
vacuumDensity,kStateGas,temperature,pressure);
d = (vacuumDensity*0.44)+ (betaDensity*0.56);
betaCloth = new G4Material("betacloth",d,2);
betaCloth -> AddMaterial (beta, 0.56);
betaCloth -> AddMaterial (vacuum,0.44);
d = (vacuumDensity*0.73)+ (nextelDensity*0.27);
eterogeneousNextel = new G4Material("Nextel312AF62",d,2);
eterogeneousNextel -> AddMaterial (vacuum, 0.73);
eterogeneousNextel -> AddMaterial (nextel, 0.27);
d = (vacuumDensity*0.44)+ (kevlarDensity*0.56);
kevlarVacuum = new G4Material("kevlarVacuum",d,2);
kevlarVacuum -> AddMaterial (vacuum, 0.44);
kevlarVacuum -> AddMaterial (kevlar, 0.56);
d = 0.94 * g/cm3;
polyethylene = new G4Material("polyethylene",d,2);
polyethylene -> AddElement(elH,0.14);
polyethylene -> AddElement(elC,0.86);
d = 1.19 * g/cm3;
polyacrylate = new G4Material("polyacrylate",d,3);
polyacrylate -> AddElement(elH,0.08);
polyacrylate -> AddElement(elC,0.60);
polyacrylate -> AddElement(elO,0.32);
d = 1.17 * g/cm3;
evoh = new G4Material("evoh",d,3);
evoh -> AddElement(elH,0.11);
evoh -> AddElement(elC,0.67);
evoh -> AddElement(elO,0.22);
G4double nomexDensity = 0.98 * g/cm3;
nomex = new G4Material("nomex",nomexDensity,5);
nomex -> AddElement(elH,0.04);
nomex -> AddElement(elC,0.54);
nomex -> AddElement(elN,0.09);
nomex -> AddElement(elO,0.10);
nomex -> AddElement(elCl,0.23);
d = 0.45*(nomexDensity)+ 0.55*(airDensity);
nomexAir = new G4Material("nomexAir",d,2);
nomexAir -> AddMaterial(nomex,0.45);
nomexAir -> AddMaterial(matAir,0.55);
d =0.56*(kevlarDensity)+ 0.44*(airDensity);
kevlarAir = new G4Material("kevlarAir",d,2);
kevlarAir -> AddMaterial(kevlar,0.56);
kevlarAir -> AddMaterial(matAir,0.44);
d = 1.5*g/cm3;
moon = new G4Material("moon",d,6);
moon -> AddElement(elO,0.45);
moon -> AddElement(elMg,0.05);
moon -> AddElement(elAl,0.13);
moon -> AddElement(elSi,0.21);
moon -> AddElement(elCa,0.10);
moon -> AddElement(elFe,0.06);
}
G4Material* RemSimMaterial::GetMaterial(G4String material)
{
G4Material* pttoMaterial = G4Material::GetMaterial(material);
return pttoMaterial;
}
@@ -0,0 +1,115 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// **************************************
// * *
// * RemSimMoonHabitat.cc *
// * *
// **************************************
//
// $Id: RemSimMoonHabitat.cc,v 1.4 2004/05/22 12:57:06 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author:Susanna Guatelli, guatelli@ge.infn.it
//
#include "RemSimVGeometryComponent.hh"
#include "RemSimMaterial.hh"
#include "G4Material.hh"
#include "RemSimMoonHabitat.hh"
#include "G4Box.hh"
#include "G4Trd.hh"
#include "G4LogicalVolume.hh"
#include "G4VPhysicalVolume.hh"
#include "G4PVPlacement.hh"
#include "G4VisAttributes.hh"
#include "G4UserLimits.hh"
#include "RemSimDecorator.hh"
#include "RemSimAstronautDecorator.hh"
RemSimMoonHabitat::RemSimMoonHabitat()
{
pMaterial = new RemSimMaterial();
shelterPhys = 0;
}
RemSimMoonHabitat::~RemSimMoonHabitat()
{
delete pMaterial;
}
void RemSimMoonHabitat::ConstructComponent(G4VPhysicalVolume* motherVolume)
{
pMaterial -> DefineMaterials();
G4Material* moonMaterial = pMaterial->GetMaterial("moon");
G4Material* air = pMaterial -> GetMaterial("Air");
// Moon Surface definition
G4double sizeX = 30.*m;
G4double sizeY = 30.*m;
G4double sizeZ = 15.*m;
G4Box* moon = new G4Box("moon",sizeX,sizeY,sizeZ);
G4LogicalVolume* moonLogical = new G4LogicalVolume(moon,
moonMaterial,
"moon",0,0,0);
G4VPhysicalVolume* moonPhys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,sizeZ), "moon",moonLogical,
motherVolume,
false,0);
G4double thick = 4.5 *m;
G4Box* shelter = new G4Box("shelter",5.*m,5.*m,thick/2.);
G4LogicalVolume* shelterLog = new G4LogicalVolume(shelter,
air,
"shelter",
0,0,0);
G4double translation = - sizeZ + thick/2. + 0.5 *m;
shelterPhys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,translation),
"shelter",shelterLog,
moonPhys,false,0);
G4Colour red (1.0,0.0,0.0);
G4Colour blue (0.,0.,1.);
G4VisAttributes* moonVisAtt = new G4VisAttributes(red);
moonVisAtt -> SetVisibility(true);
moonVisAtt -> SetForceWireframe(true);
moonLogical -> SetVisAttributes(moonVisAtt);
G4VisAttributes* shelterVisAtt = new G4VisAttributes(blue);
shelterVisAtt -> SetVisibility(true);
shelterVisAtt -> SetForceWireframe(true);
shelterLog -> SetVisAttributes(shelterVisAtt);
}
void RemSimMoonHabitat::DestroyComponent()
{}
G4VPhysicalVolume* RemSimMoonHabitat::GetShelter()
{
return shelterPhys;
}
@@ -0,0 +1,86 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: RemSimMuonStandard.cc,v 1.3 2004/05/22 12:57:07 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author:Susanna Guatelli, guatelli@ge.infn.it
//
#include "RemSimMuonStandard.hh"
#include "G4ProcessManager.hh"
//muon:
#include "G4hIonisation.hh"
#include "G4MultipleScattering.hh"
#include "G4MuIonisation.hh"
#include "G4MuBremsstrahlung.hh"
#include "G4MuPairProduction.hh"
#include "G4MuonMinusCaptureAtRest.hh"
RemSimMuonStandard::RemSimMuonStandard(const G4String& name): G4VPhysicsConstructor(name)
{ }
RemSimMuonStandard::~RemSimMuonStandard()
{ }
void RemSimMuonStandard::ConstructProcess()
{
// Add standard processes for muons
theParticleIterator -> reset();
while( (*theParticleIterator)() )
{
G4ParticleDefinition* particle = theParticleIterator->value();
G4ProcessManager* pmanager = particle -> GetProcessManager();
G4String particleName = particle -> GetParticleName();
if(( particleName == "mu+")|| (particleName == "mu-" ))
{//muon
G4VProcess* aMultipleScattering = new G4MultipleScattering();
G4VProcess* aBremsstrahlung = new G4MuBremsstrahlung();
G4VProcess* aPairProduction = new G4MuPairProduction();
G4VProcess* anIonisation = new G4MuIonisation();
//
// add processes
pmanager -> AddProcess(anIonisation);
pmanager -> AddProcess(aMultipleScattering);
pmanager -> AddProcess(aBremsstrahlung);
pmanager -> AddProcess(aPairProduction);
//
// set ordering for AlongStepDoIt
pmanager -> SetProcessOrdering(aMultipleScattering, idxAlongStep,1);
pmanager -> SetProcessOrdering(anIonisation, idxAlongStep,2);
pmanager -> SetProcessOrdering(aBremsstrahlung, idxAlongStep,3);
pmanager -> SetProcessOrdering(aPairProduction, idxAlongStep,4);
//
// set ordering for PostStepDoIt
pmanager -> SetProcessOrdering(aMultipleScattering, idxPostStep,1);
pmanager -> SetProcessOrdering(anIonisation, idxPostStep,2);
pmanager -> SetProcessOrdering(aBremsstrahlung, idxPostStep,3);
pmanager -> SetProcessOrdering(aPairProduction, idxPostStep,4);
if( particleName == "mu-" )
pmanager -> AddProcess(new G4MuonMinusCaptureAtRest(), 0,-1,-1);
}
}
}
@@ -0,0 +1,110 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: RemSimParticles.cc,v 1.4 2004/05/22 12:57:07 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author:Susanna Guatelli, guatelli@ge.infn.it
//
#include "RemSimParticles.hh"
#include "G4Gamma.hh"
#include "G4Electron.hh"
#include "G4Positron.hh"
#include "G4Proton.hh"
#include "G4Alpha.hh"
#include "G4IonO16.hh"
#include "G4IonC12.hh"
#include "G4IonSi28.hh"
#include "G4IonFe52.hh"
#include "G4MesonConstructor.hh"
#include "G4BaryonConstructor.hh"
#include "G4ShortLivedConstructor.hh"
#include "G4IonConstructor.hh"
#include "G4MuonPlus.hh"
#include "G4MuonMinus.hh"
#include "G4TauMinus.hh"
#include "G4TauPlus.hh"
#include "G4NeutrinoTau.hh"
#include "G4AntiNeutrinoTau.hh"
#include "G4NeutrinoMu.hh"
#include "G4AntiNeutrinoMu.hh"
#include "G4NeutrinoE.hh"
#include "G4AntiNeutrinoE.hh"
#include "G4ChargedGeantino.hh"
#include "G4Geantino.hh"
#include "G4PionPlus.hh"
#include "G4PionMinus.hh"
#include "G4PionZero.hh"
RemSimParticles::RemSimParticles(const G4String& name)
: G4VPhysicsConstructor(name)
{ }
RemSimParticles::~RemSimParticles()
{}
void RemSimParticles::ConstructParticle()
{
G4Gamma::GammaDefinition();
G4Electron::ElectronDefinition();
G4Positron::PositronDefinition();
G4Proton :: ProtonDefinition();
G4Alpha :: AlphaDefinition();
G4IonO16::IonO16Definition();
G4IonC12::IonC12Definition();
G4IonSi28::IonSi28Definition();
G4IonFe52::IonFe52Definition();
// Mu
G4MuonPlus::MuonPlusDefinition();
G4MuonMinus::MuonMinusDefinition();
G4NeutrinoMu::NeutrinoMuDefinition();
G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
// Tau
G4TauMinus::TauMinusDefinition();
G4TauPlus::TauPlusDefinition();
G4NeutrinoTau::NeutrinoTauDefinition();
G4AntiNeutrinoTau::AntiNeutrinoTauDefinition();
G4NeutrinoE::NeutrinoEDefinition();
G4AntiNeutrinoE::AntiNeutrinoEDefinition();
G4Geantino::GeantinoDefinition();
G4ChargedGeantino::ChargedGeantinoDefinition();
G4PionPlus::PionPlusDefinition();
G4PionMinus::PionMinusDefinition();
G4PionZero::PionZeroDefinition();
G4MesonConstructor pMesonConstructor;
pMesonConstructor.ConstructParticle();
G4BaryonConstructor pBaryonConstructor;
pBaryonConstructor.ConstructParticle();
G4ShortLivedConstructor pShortLivedConstructor;
pShortLivedConstructor.ConstructParticle();
G4IonConstructor pConstructor;
pConstructor.ConstructParticle();
}
@@ -0,0 +1,65 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: RemSimPhotonEPDL.cc,v 1.4 2004/05/22 12:57:07 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author:Susanna Guatelli, guatelli@ge.infn.it
//
#include "RemSimPhotonEPDL.hh"
#include "G4ProcessManager.hh"
#include "G4Gamma.hh"
#include "G4ParticleDefinition.hh"
#include "G4LowEnergyCompton.hh"
#include "G4LowEnergyGammaConversion.hh"
#include "G4LowEnergyPhotoElectric.hh"
#include "G4LowEnergyRayleigh.hh"
RemSimPhotonEPDL::RemSimPhotonEPDL(const G4String& name):
G4VPhysicsConstructor(name)
{ }
RemSimPhotonEPDL::~RemSimPhotonEPDL()
{ }
void RemSimPhotonEPDL::ConstructProcess()
{
// Add EPDL processes for photons
theParticleIterator -> reset();
while( (*theParticleIterator)() )
{
G4ParticleDefinition* particle = theParticleIterator -> value();
G4ProcessManager* manager = particle -> GetProcessManager();
G4String particleName = particle -> GetParticleName();
if (particleName == "gamma")
{
manager -> AddDiscreteProcess(new G4LowEnergyPhotoElectric);
manager -> AddDiscreteProcess(new G4LowEnergyCompton);
manager -> AddDiscreteProcess(new G4LowEnergyGammaConversion);
manager -> AddDiscreteProcess(new G4LowEnergyRayleigh);
}
}
}
@@ -0,0 +1,239 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: RemSimPhysicsList.cc,v 1.6 2004/05/27 13:32:46 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author: Susanna Guatelli
#include "RemSimPhysicsList.hh"
#include "RemSimPhysicsListMessenger.hh"
#include "RemSimParticles.hh"
#include "RemSimPhotonEPDL.hh"
#include "RemSimElectronEEDL.hh"
#include "RemSimPositronStandard.hh"
#include "RemSimIonICRU.hh"
#include "RemSimIonStandard.hh"
#include "RemSimMuonStandard.hh"
#include "RemSimDecay.hh"
#include "RemSimHadronicPhysics.hh"
#include "G4ParticleDefinition.hh"
#include "G4ProcessManager.hh"
#include "G4ProcessVector.hh"
#include "G4VProcess.hh"
RemSimPhysicsList::RemSimPhysicsList(): G4VModularPhysicsList(),
electronIsRegistered(false),
positronIsRegistered(false),
photonIsRegistered(false),
ionIsRegistered(false),
hadronicIsRegistered(false),
decayIsRegistered(false),
muonIsRegistered(false)
{
defaultCutValue = 1.* mm;
SetVerboseLevel(1);
messenger = new RemSimPhysicsListMessenger(this);
RegisterPhysics( new RemSimParticles("particles") );
}
RemSimPhysicsList::~RemSimPhysicsList()
{
delete messenger;
}
void RemSimPhysicsList::AddPhysicsList(const G4String& name)
{
G4cout << "Adding PhysicsList chunk " << name << G4endl;
// Register LowE-EPDL processes for photons
if (name == "photon-epdl")
{
if (photonIsRegistered)
{
G4cout << "RemSimPhysicsList::AddPhysicsList: " << name
<< " cannot be registered ---- photon List already existing"
<< G4endl;
}
else
{
G4cout << "RemSimPhysicsList::AddPhysicsList: " << name
<< " is registered" << G4endl;
RegisterPhysics( new RemSimPhotonEPDL(name) );
photonIsRegistered = true;
}
}
// Register LowE-EEDL processes for electrons
if (name == "electron-eedl")
{
if (electronIsRegistered)
{
G4cout << "RemSimPhysicsList::AddPhysicsList: " << name
<< " cannot be registered ---- electron List already existing" << G4endl;
}
else
{
G4cout << "RemSimPhysicsList::AddPhysicsList: " << name
<< " is registered" << G4endl;
RegisterPhysics( new RemSimElectronEEDL(name) );
electronIsRegistered = true;
}
}
// Register standard processes for positrons
if (name == "positron-standard")
{
if (positronIsRegistered)
{
G4cout << "RemSimPhysicsList::AddPhysicsList: " << name
<< " cannot be registered ---- positron List already existing" << G4endl;
}
else
{
G4cout << "RemSimPhysicsList::AddPhysicsList: " << name
<< " is registered" << G4endl;
RegisterPhysics( new RemSimPositronStandard(name) );
positronIsRegistered = true;
}
}
// Register LowEnergy processes - ICRU Model - for p, alpha, ions.
if (name == "ion-ICRU")
{
if (ionIsRegistered)
{
G4cout << "RemSimPhysicsList::AddPhysicsList: " << name
<< " cannot be registered ----ion e.m. List already existing"
<< G4endl;
}
else
{
G4cout << "RemSimPhysicsList::AddPhysicsList: " << name
<< " is registered" << G4endl;
RegisterPhysics( new RemSimIonICRU(name) );
ionIsRegistered = true;
}
}
if (name == "ion-standard")
{
if (ionIsRegistered)
{
G4cout << "RemSimPhysicsList::AddPhysicsList: " << name
<< " cannot be registered ----ion e.m. List already existing"
<< G4endl;
}
else
{
G4cout << "RemSimPhysicsList::AddPhysicsList: " << name
<< " is registered" << G4endl;
RegisterPhysics( new RemSimIonStandard(name) );
ionIsRegistered = true;
}
}
// Register hadronic process for p and alpha particle
if (name == "hadronic")
{
if (hadronicIsRegistered)
{
G4cout << "RemSimPhysicsList::AddPhysicsList: " << name
<< " cannot be registered ---- hadronic physics List already existing" << G4endl;
}
else
{
G4cout << "RemSimPhysicsList::AddPhysicsList: " << name
<< " is registered" << G4endl;
RegisterPhysics( new RemSimHadronicPhysics(name) );
hadronicIsRegistered = true;
}
}
if (name == "muon-standard")
{
if (muonIsRegistered)
{
G4cout << "RemSimPhysicsList::AddPhysicsList: " << name
<< " cannot be registered -- muon e.m. List already existing"
<< G4endl;
}
else
{
G4cout << "RemSimPhysicsList::AddPhysicsList: " << name
<< " is registered" << G4endl;
RegisterPhysics( new RemSimMuonStandard(name) );
muonIsRegistered = true;
}
}
if (name == "decay")
{
if (decayIsRegistered)
{
G4cout << "RemSimPhysicsList::AddPhysicsList: " << name
<< " cannot be registered ---- decay physics List already existing" << G4endl;
}
else
{
G4cout << "RemSimPhysicsList::AddPhysicsList: " << name
<< " is registered" << G4endl;
RegisterPhysics( new RemSimDecay(name) );
decayIsRegistered = true;
}
}
if (electronIsRegistered && positronIsRegistered && photonIsRegistered &&
ionIsRegistered)
{
G4cout << "The electromagnetic processes are registered" << G4endl;
if (muonIsRegistered && decayIsRegistered && hadronicIsRegistered)
{
G4cout << "The hadronic physics is registered for p and alpha (up to 100 GeV), the e.m. physics for muons is registered, the decay is registered"
<< G4endl;
}
}
}
void RemSimPhysicsList::SetCuts()
{
G4VUserPhysicsList::SetCutsWithDefault();
if (verboseLevel>0) DumpCutValuesTable();
}
@@ -0,0 +1,63 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: RemSimPhysicsListMessenger.cc,v 1.3 2004/05/22 12:57:07 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author: Susanna Guatelli, guatelli@ge.infn.it
#include "RemSimPhysicsListMessenger.hh"
#include "RemSimPhysicsList.hh"
#include "G4UIdirectory.hh"
#include "G4UIcmdWithAString.hh"
RemSimPhysicsListMessenger::RemSimPhysicsListMessenger(RemSimPhysicsList * List)
:RemSimList(List)
{
EnDir = new G4UIdirectory("/physics/");
EnDir -> SetGuidance("physics commands");
physicsListCmd = new G4UIcmdWithAString("/physics/addPhysics",this);
physicsListCmd -> SetGuidance("Add chunks of PhysicsList");
physicsListCmd -> SetParameterName("choice",false);
physicsListCmd -> AvailableForStates(G4State_PreInit);
}
RemSimPhysicsListMessenger::~RemSimPhysicsListMessenger()
{
delete physicsListCmd;
delete EnDir;
}
void RemSimPhysicsListMessenger::SetNewValue(G4UIcommand* command,G4String newValue)
{
if (command == physicsListCmd)
{ RemSimList->AddPhysicsList(newValue); }
}
@@ -0,0 +1,62 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: RemSimPositronStandard.cc,v 1.3 2004/05/22 12:57:07 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Author: Susanna Guatelli, guatelli@ge.infn.it
#include "RemSimPositronStandard.hh"
#include "G4ProcessManager.hh"
#include "G4Gamma.hh"
#include "G4ParticleDefinition.hh"
#include "G4MultipleScattering.hh"
#include "G4eIonisation.hh"
#include "G4eBremsstrahlung.hh"
#include "G4eplusAnnihilation.hh"
RemSimPositronStandard::RemSimPositronStandard(const G4String& name): G4VPhysicsConstructor(name)
{ }
RemSimPositronStandard::~RemSimPositronStandard()
{ }
void RemSimPositronStandard::ConstructProcess()
{
// Add standard processes for positrons
theParticleIterator -> reset();
while( (*theParticleIterator)() )
{
G4ParticleDefinition* particle = theParticleIterator -> value();
G4ProcessManager* manager = particle -> GetProcessManager();
G4String particleName = particle -> GetParticleName();
if (particleName == "e+")
{
manager -> AddProcess(new G4MultipleScattering, -1, 1,1);
manager -> AddProcess(new G4eIonisation, -1, 2,2);
manager -> AddProcess(new G4eBremsstrahlung, -1,-1,3);
manager -> AddProcess(new G4eplusAnnihilation, 0,-1,4);
}
}
}
@@ -0,0 +1,106 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: RemSimPrimaryGeneratorAction.cc,v 1.8 2004/05/27 10:33:12 guatelli Exp $// Author: Susanna Guatelli, guatelli@ge.infn.it
#include "RemSimPrimaryGeneratorAction.hh"
#include "RemSimPrimaryGeneratorMessenger.hh"
#include "RemSimBasicGenerator.hh"
#include "RemSimInterplanetarySpaceConfiguration.hh"
#include "RemSimVPrimaryGeneratorFactory.hh"
#include "G4Event.hh"
#include "G4ParticleGun.hh"
#include "G4ParticleTable.hh"
#include "G4ParticleDefinition.hh"
#include "globals.hh"
RemSimPrimaryGeneratorAction::RemSimPrimaryGeneratorAction()
{
value = "Basic";
primaryFactory1 = new RemSimBasicGenerator();
primaryFactory2 = new RemSimInterplanetarySpaceConfiguration();
messenger = new RemSimPrimaryGeneratorMessenger(this);
}
RemSimPrimaryGeneratorAction::~RemSimPrimaryGeneratorAction()
{
delete messenger;
delete primaryFactory2;
delete primaryFactory1;
}
G4double RemSimPrimaryGeneratorAction::GetInitialEnergy()
{
G4double initialEnergy = 0.;
if(value == "Basic")
initialEnergy = primaryFactory1 -> GetInitialEnergy();
else if(value == "Interplanetary")
initialEnergy = primaryFactory2 -> GetInitialEnergy();
return initialEnergy;
}
void RemSimPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
{
if(value == "Basic")
primaryFactory1 -> GeneratePrimaries(anEvent);
else if(value == "Interplanetary")
{
primaryFactory2 -> SetMoon(false);
primaryFactory2 -> GeneratePrimaries(anEvent);
}
else if(value == "Moon")
{
primaryFactory2 -> SetMoon(true);
primaryFactory2 -> GeneratePrimaries(anEvent);
}
}
void RemSimPrimaryGeneratorAction::SelectPrimaries(G4String val)
{
value = val;
if(value == "Basic")
G4cout<< "The configuration is the basic generator" <<G4endl;
else if(value == "Interplanetary")
{
G4cout<< "The configuration is the interplanetary space configuration"
<<G4endl;
G4cout<<
"Remember to type /run/data file.txt with the energy spectrum of primary particles!!!" <<G4endl;
}
else if (value == "Moon")
{
G4cout<< "The configuration is the Moon Configuration" <<G4endl;
G4cout<<
"Remember to type /run/data file.txt with the energy spectrum of primary particles!!!" <<G4endl;
}
else G4cout << "This Generator is not defined!" <<G4endl;
}
@@ -0,0 +1,69 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// Code developed by: S.Guatelli, guatelli@ge.infn.it
//
// *****************************************
// * *
// * RemSimPrimaryGeneratorMessenger.cc *
// * *
// *****************************************
//
//
// $Id: RemSimPrimaryGeneratorMessenger.cc,v 1.5 2004/05/22 12:57:07 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
//
#include "RemSimPrimaryGeneratorMessenger.hh"
#include "RemSimRunAction.hh"
#include "RemSimPrimaryGeneratorAction.hh"
#include "G4UIdirectory.hh"
#include "G4UIcmdWithAString.hh"
#include "G4UIcmdWithAnInteger.hh"
#include "G4UIcmdWithADoubleAndUnit.hh"
#include "G4UIcmdWithoutParameter.hh"
RemSimPrimaryGeneratorMessenger::RemSimPrimaryGeneratorMessenger( RemSimPrimaryGeneratorAction* prim): primary(prim)
{
gunDir = new G4UIdirectory("/gun/");
gunDir->SetGuidance("Select the generation configuration of primary particles.");
fluxCmd = new G4UIcmdWithAString("/gun/generator",this);
fluxCmd -> SetGuidance("Assign the configuration of generation of primary particles.");
fluxCmd -> SetParameterName("choice",true);
fluxCmd -> SetCandidates("Moon Interplanetary Basic");
fluxCmd -> AvailableForStates(G4State_PreInit,G4State_Idle);
}
RemSimPrimaryGeneratorMessenger::~RemSimPrimaryGeneratorMessenger()
{
delete fluxCmd;
delete gunDir;
}
void RemSimPrimaryGeneratorMessenger::SetNewValue(G4UIcommand* command,G4String newValue)
{
if(command == fluxCmd) primary -> SelectPrimaries(newValue);
}
@@ -0,0 +1,140 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// Code developed by: S.Guatelli, guatelli@ge.infn.it
//
// ************************************
// * *
// * RemSimROGeometry.cc *
// * *
// ************************************
//
// $Id: RemSimROGeometry.cc,v 1.5 2004/05/22 12:57:07 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
#include "RemSimROGeometry.hh"
#include "RemSimDummySD.hh"
#include "G4LogicalVolume.hh"
#include "G4VPhysicalVolume.hh"
#include "G4PVPlacement.hh"
#include "G4PVReplica.hh"
#include "G4SDManager.hh"
#include "G4Box.hh"
#include "G4Tubs.hh"
#include "G4SubtractionSolid.hh"
#include "G4ThreeVector.hh"
#include "G4Material.hh"
RemSimROGeometry::RemSimROGeometry(G4double astronautDimX,
G4double astronautDimY,
G4double astronautDimZ,
G4int numberOfVoxelsZ,
G4double trans):
astronautDimensionX(astronautDimX),
astronautDimensionY(astronautDimY),
astronautDimensionZ(astronautDimZ),
numberOfVoxelsAlongZ(numberOfVoxelsZ),
translation(trans),
ROAstronautZDivisionPhys(0)
{
}
RemSimROGeometry::~RemSimROGeometry()
{
}
G4VPhysicalVolume* RemSimROGeometry::Build()
{
// A dummy material is used to fill the volumes of the readout geometry.
// (It will be allowed to set a NULL pointer in volumes of such virtual
// division in future, since this material is irrelevant for tracking.)
G4Material* dummyMat = new G4Material(name="dummyMat", 1., 1.*g/mole, 1.*g/cm3);
G4double worldDimensionX = 30.0*m;
G4double worldDimensionY = 30.0*m;
G4double worldDimensionZ = 30.0*m;
// world volume of ROGeometry ...
G4Box *ROWorld = new G4Box("ROWorld",
worldDimensionX,
worldDimensionY,
worldDimensionZ);
G4LogicalVolume *ROWorldLog = new G4LogicalVolume(ROWorld,
dummyMat,
"ROWorldLog",
0,0,0);
G4VPhysicalVolume *ROWorldPhys = new G4PVPlacement(0,
G4ThreeVector(),
"ROWorldPhys",
ROWorldLog,
0,false,0);
// ROGeometry corresponding to the phantom
G4Box *ROAstronaut = new G4Box("ROAstronaut",
astronautDimensionX/2.,
astronautDimensionY/2.,
astronautDimensionZ/2.);
G4LogicalVolume *ROAstronautLog = new G4LogicalVolume(ROAstronaut,
dummyMat,
"ROAstronautLog",
0,0,0);
G4VPhysicalVolume *ROAstronautPhys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,translation),
"AstronautPhys",
ROAstronautLog,
ROWorldPhys,
false,0);
// Z division ...
G4double voxelSizeZ = astronautDimensionZ/numberOfVoxelsAlongZ;
G4Box *ROAstronautZDivision = new G4Box("ROAstronautZDivision",
astronautDimensionX/2,
astronautDimensionY/2.,
voxelSizeZ/2.);
G4LogicalVolume *ROAstronautZDivisionLog = new G4LogicalVolume(ROAstronautZDivision,
dummyMat,
"ROAstronautZDivisionLog",
0,0,0);
ROAstronautZDivisionPhys = new G4PVReplica("ROAstronautXDivisionPhys",
ROAstronautZDivisionLog,
ROAstronautPhys,
kZAxis,
numberOfVoxelsAlongZ,
voxelSizeZ);
RemSimDummySD *dummySD = new RemSimDummySD;
ROAstronautZDivisionLog -> SetSensitiveDetector(dummySD);
return ROWorldPhys;
}
@@ -0,0 +1,126 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// ************************************
// * *
// * RemSimRoofDecorator.cc *
// * *
// ************************************
//
// Code developed by: S.Guatelli, guatelli@ge.infn.it
//
//
// $Id: RemSimRoofDecorator.cc,v 1.4 2004/06/18 09:18:08 gunter Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
#include "RemSimVGeometryComponent.hh"
#include "RemSimMaterial.hh"
#include "G4Material.hh"
#include "G4MaterialTable.hh"
#include "RemSimRoofDecorator.hh"
#include "RemSimDecorator.hh"
#include "G4Trd.hh"
#include "G4LogicalVolume.hh"
#include "G4VPhysicalVolume.hh"
#include "G4PVPlacement.hh"
#include "G4VisAttributes.hh"
#include "RemSimSensitiveDetector.hh"
#include "RemSimROGeometry.hh"
#include "G4SDManager.hh"
#include "G4RunManager.hh"
#include "G4VisAttributes.hh"
RemSimRoofDecorator::RemSimRoofDecorator(RemSimVGeometryComponent* comp)
: RemSimDecorator(comp)
{
pMaterial = new RemSimMaterial();
roofVisAtt = 0;
roof = 0;
roofLog = 0;
roofPhys = 0;
}
RemSimRoofDecorator::~RemSimRoofDecorator()
{
delete pMaterial;
}
void RemSimRoofDecorator::ConstructComponent(G4VPhysicalVolume* motherVolume)
{
pMaterial -> DefineMaterials();
RemSimDecorator::ConstructComponent(motherVolume);
ConstructRoof(motherVolume);
}
void RemSimRoofDecorator::DestroyComponent()
{
delete roofVisAtt;
roofVisAtt = 0;
delete roofPhys;
roofPhys = 0;
delete roofLog;
roofLog = 0;
delete roof;
roof = 0;
}
void RemSimRoofDecorator::ConstructRoof(G4VPhysicalVolume* motherVolume)
{
// Geometry definition
pMaterial -> DefineMaterials();
G4Material* moonMaterial = pMaterial -> GetMaterial("moon");
roof = new G4Trd("roof",2.25*m,7.*m,5.*m, 8.*m, 1.5 *m);
roofLog = new G4LogicalVolume(roof,
moonMaterial,
"roof",
0,0,0);
roofPhys = new G4PVPlacement(0,
G4ThreeVector(0.,0., - 1.5 *m),
"roof",roofLog,
motherVolume,false,0);
//Visualisation attributes
G4Colour red (1.0,0.0,0.0);
roofVisAtt = new G4VisAttributes(red);
roofVisAtt -> SetVisibility(true);
roofVisAtt -> SetForceSolid(true);
roofLog -> SetVisAttributes(roofVisAtt);
PrintDetectorParameters();
}
void RemSimRoofDecorator::ChangeThickness(G4double thick)
{
PrintDetectorParameters();
roof -> SetZHalfLength(thick/2.);
roofPhys -> SetTranslation(G4ThreeVector
(0.,0., - thick/2.));
}
void RemSimRoofDecorator::PrintDetectorParameters()
{
;
}
@@ -0,0 +1,167 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// *******************************
// * *
// * RemSimRunAction.cc *
// * *
// *******************************
//
// Code developed by: S.Guatelli, guatelli@ge.infn.it
//
// $Id: RemSimRunAction.cc,v 1.9 2004/06/18 09:18:09 gunter Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
#include "RemSimRunAction.hh"
#include "RemSimDetectorConstruction.hh"
#include "RemSimPrimaryGeneratorAction.hh"
#ifdef G4ANALYSIS_USE
#include "RemSimAnalysisManager.hh"
#endif
#include "RemSimRunMessenger.hh"
#include "G4Run.hh"
#include "G4RunManager.hh"
#include "G4ios.hh"
#include "RemSimRunAction.hh"
#include <fstream>
#include <strstream>
RemSimRunAction::RemSimRunAction()
{
//Read the input file concerning the generation of primary particles
energies = new G4DataVector;
data = new G4DataVector;
messenger = new RemSimRunMessenger(this);
file = "";
}
RemSimRunAction::~RemSimRunAction()
{
delete messenger;
delete energies;
delete data;
}
void RemSimRunAction::BeginOfRunAction(const G4Run*)
{
}
void RemSimRunAction::EndOfRunAction(const G4Run* aRun)
{
G4double numberEvents = aRun -> GetNumberOfEvent();
G4cout<< "Number of events:" << numberEvents << G4endl;
}
void RemSimRunAction::Read(G4String name)
{
file = name;
ReadData(MeV,name);
G4cout << name << " is the input file!" << G4endl;
}
void RemSimRunAction::ReadData(G4double unitE, G4String fileName)
{
char nameChar[100] = {""};
std::ostrstream ost(nameChar, 100, std::ios::out);
ost << fileName;
G4String name(nameChar);
std::ifstream file(fileName);
std::filebuf* lsdp = file.rdbuf();
if (! (lsdp->is_open()) )
{
G4String excep = "RemSimRunAction - data file: not found";
G4Exception(excep);
}
G4double a = 0;
G4int k = 1;
do
{
file >> a;
G4int nColumns = 2;
// The file is organized into two columns:
// 1st column is the energy
// 2nd column is the corresponding value
// The file terminates with the pattern: -1 -1
// -2 -2
if (a == -1 || a == -2)
{
}
else
{
if (k%nColumns != 0)
{
G4double e = a * unitE;
energies->push_back(e);
// G4cout<<e<<"energy";
k++;
}
else if (k%nColumns == 0)
{
G4double value = a;
data->push_back(value);
//G4cout<<" "<<a<<"flux"<<G4endl;
k = 1;
}
}
} while (a != -2); // end of file
file.close();
}
G4DataVector* RemSimRunAction::GetPrimaryParticleEnergy()
{
return energies;
}
G4DataVector* RemSimRunAction::GetPrimaryParticleEnergyDistribution()
{
return data;
}
G4double RemSimRunAction::GetPrimaryParticleEnergyDistributionSum()
{
G4double sum = 0;
size_t size = data -> size();
for (size_t i = 0; i < size; i++)
{
sum+=(*data)[i];
}
return sum;
}
G4bool RemSimRunAction::GetFile()
{
if (file == "") return false;
else return true;
}
@@ -0,0 +1,65 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// Code developed by: S.Guatelli, guatelli@ge.infn.it
//
// *********************************
// * *
// * RemSimRunMessenger.cc *
// * *
// *********************************
//
//
// $Id: RemSimRunMessenger.cc,v 1.2 2004/05/22 12:57:07 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
//
#include "RemSimRunMessenger.hh"
#include "RemSimRunAction.hh"
#include "RemSimRunAction.hh"
#include "G4UIdirectory.hh"
#include "G4UIcmdWithAString.hh"
RemSimRunMessenger::RemSimRunMessenger( RemSimRunAction* arun): run(arun)
{
runDir = new G4UIdirectory("/run/");
runDir->SetGuidance("Select data.txt.");
readFileCmd = new G4UIcmdWithAString("/run/data",this);
readFileCmd->SetGuidance("Select data.txt/ write the name of the file");
readFileCmd->SetParameterName("choice",true);
readFileCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
}
RemSimRunMessenger::~RemSimRunMessenger()
{
delete readFileCmd;
delete runDir;
}
void RemSimRunMessenger::SetNewValue(G4UIcommand* command,G4String newValue)
{
if(command == readFileCmd) run -> Read(newValue);
}
@@ -0,0 +1,88 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: RemSimSensitiveDetector.cc,v 1.6 2004/05/22 12:57:07 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Code developed by: S.Guatelli, guatelli@ge.infn.it
//
#include "RemSimSensitiveDetector.hh"
#include "RemSimHit.hh"
#include "G4Step.hh"
#include "G4HCofThisEvent.hh"
#include "G4TouchableHistory.hh"
#include "G4ios.hh"
#ifdef G4ANALYSIS_USE
#include "RemSimAnalysisManager.hh"
#endif
RemSimSensitiveDetector::RemSimSensitiveDetector(G4String name)
:G4VSensitiveDetector(name)
{
G4String HCname;
collectionName.insert(HCname="trackerCollection");
}
RemSimSensitiveDetector::~RemSimSensitiveDetector(){;}
void RemSimSensitiveDetector::Initialize(G4HCofThisEvent* HCE)
{
static G4int HCID = -1;
trackerCollection = new RemSimHitsCollection
(SensitiveDetectorName,collectionName[0]);
if(HCID<0)
{ HCID = GetCollectionID(0); }
HCE -> AddHitsCollection(HCID,trackerCollection);
}
G4bool RemSimSensitiveDetector::ProcessHits(G4Step* aStep,
G4TouchableHistory* ROhist)
{
G4double edep = aStep -> GetTotalEnergyDeposit();
if(edep==0.) return false;
G4int i = ROhist -> GetReplicaNumber();
RemSimHit* newHit = new RemSimHit();
newHit -> SetEdep(edep);
newHit -> SetIndexes(i);
newHit->SetPosition(aStep->GetPreStepPoint()->GetPosition());
trackerCollection -> insert( newHit );
#ifdef G4ANALYSIS_USE
RemSimAnalysisManager* analysis = RemSimAnalysisManager::getInstance();
// Energy deposit in the phantom
analysis -> energyDepositStore(i,edep/MeV);
// Energy deposit of secondary particles in the phantom
if(aStep -> GetTrack() -> GetTrackID()!= 1)
analysis -> SecondaryEnergyDeposit(i,edep/MeV);
#endif
return true;
}
void RemSimSensitiveDetector::EndOfEvent(G4HCofThisEvent*)
{
}
@@ -0,0 +1,122 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: RemSimShelterSPEDecorator.cc,v 1.2 2004/05/22 12:57:07 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Code developed by: S.Guatelli, guatelli@ge.infn.it
//
#include "RemSimVGeometryComponent.hh"
#include "RemSimMaterial.hh"
#include "G4Material.hh"
#include "G4MaterialTable.hh"
#include "RemSimShelterSPEDecorator.hh"
#include "RemSimDecorator.hh"
#include "G4Box.hh"
#include "G4LogicalVolume.hh"
#include "G4VPhysicalVolume.hh"
#include "G4PVPlacement.hh"
#include "G4VisAttributes.hh"
#include "RemSimSensitiveDetector.hh"
#include "RemSimROGeometry.hh"
#include "G4SDManager.hh"
#include "G4RunManager.hh"
#include "G4VisAttributes.hh"
RemSimShelterSPEDecorator::RemSimShelterSPEDecorator(RemSimVGeometryComponent* comp)
: RemSimDecorator(comp)
{
shelterSPEX = 5.*m;
shelterSPEY = 5.*m;
shelterSPEZ = 75.*cm;
translation = - 2.* m;
pMaterial = new RemSimMaterial();
shelterSPEVisAtt = 0;
}
RemSimShelterSPEDecorator::~RemSimShelterSPEDecorator()
{
delete pMaterial;
}
void RemSimShelterSPEDecorator::ConstructComponent(G4VPhysicalVolume* motherVolume)
{
pMaterial -> DefineMaterials();
RemSimDecorator::ConstructComponent(motherVolume);
ConstructShelterSPE(motherVolume);
}
void RemSimShelterSPEDecorator::DestroyComponent()
{
delete shelterSPEVisAtt;
shelterSPEVisAtt = 0;
delete shelterSPEPhys;
shelterSPEPhys = 0;
delete shelterSPELog;
shelterSPELog = 0;
delete shelterSPE;
shelterSPE = 0;
}
void RemSimShelterSPEDecorator::ConstructShelterSPE(G4VPhysicalVolume* motherVolume)
{
// Geometry definition
pMaterial -> DefineMaterials();
G4Material* water = pMaterial -> GetMaterial("Water");
shelterSPE = new G4Box("shelterSPE",shelterSPEX/2.,shelterSPEY/2.,shelterSPEZ/2.);
shelterSPELog = new G4LogicalVolume(shelterSPE, water,
"shelterSPELog",0,0,0);
shelterSPEPhys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,translation + shelterSPEZ/2.),
"shelterSPEPhys", shelterSPELog, motherVolume,false,0);
//Visualisation attributes
G4Colour red (1.0,0.0,0.0);
shelterSPEVisAtt = new G4VisAttributes(red);
shelterSPEVisAtt -> SetVisibility(true);
shelterSPEVisAtt -> SetForceSolid(true);
shelterSPELog -> SetVisAttributes(shelterSPEVisAtt);
PrintDetectorParameters();
}
void RemSimShelterSPEDecorator::ChangeThickness(G4double)
{
;
}
void RemSimShelterSPEDecorator::PrintDetectorParameters()
{
G4cout << "-----------------------------------------------------------------------"
<< G4endl
<< "the shelterSPE is a box whose thickness is: " << G4endl
<< ((shelterSPE -> GetZHalfLength())*2.)/cm
<< " cm along the Z axis"
<< G4endl
<< "material of the shelterSPE: "
<< shelterSPELog -> GetMaterial() -> GetName() <<G4endl
<< G4endl;
}
@@ -0,0 +1,125 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: RemSimShieldingDecorator.cc,v 1.5 2004/05/27 08:36:52 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Code developed by: S.Guatelli, guatelli@ge.infn.it
//
#include "RemSimVGeometryComponent.hh"
#include "RemSimMaterial.hh"
#include "G4Material.hh"
#include "G4MaterialTable.hh"
#include "RemSimShieldingDecorator.hh"
#include "RemSimDecorator.hh"
#include "G4Box.hh"
#include "G4LogicalVolume.hh"
#include "G4VPhysicalVolume.hh"
#include "G4PVPlacement.hh"
#include "G4VisAttributes.hh"
#include "RemSimSensitiveDetector.hh"
#include "RemSimROGeometry.hh"
#include "G4SDManager.hh"
#include "G4RunManager.hh"
#include "G4VisAttributes.hh"
RemSimShieldingDecorator::RemSimShieldingDecorator(RemSimVGeometryComponent* comp)
: RemSimDecorator(comp)
{
shieldingX = 5.*m;
shieldingY = 5.*m;
shieldingZ = 10.*cm;
translation = -4.4* m;
pMaterial = new RemSimMaterial();
shieldingVisAtt = 0;
}
RemSimShieldingDecorator::~RemSimShieldingDecorator()
{
delete pMaterial;
}
void RemSimShieldingDecorator::ConstructComponent(G4VPhysicalVolume* motherVolume)
{
pMaterial -> DefineMaterials();
RemSimDecorator::ConstructComponent(motherVolume);
ConstructShielding(motherVolume);
}
void RemSimShieldingDecorator::DestroyComponent()
{
delete shieldingVisAtt;
shieldingVisAtt = 0;
delete shieldingPhys;
shieldingPhys = 0;
delete shieldingLog;
shieldingLog = 0;
delete shielding;
shielding = 0;
}
void RemSimShieldingDecorator::ConstructShielding(G4VPhysicalVolume* motherVolume)
{
// Geometry definition
pMaterial -> DefineMaterials();
G4Material* water = pMaterial -> GetMaterial("Water");
shielding = new G4Box("shielding",shieldingX/2.,shieldingY/2.,shieldingZ/2.);
shieldingLog = new G4LogicalVolume(shielding, water,
"shieldingLog",0,0,0);
shieldingPhys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,translation + shieldingZ/2.),
"shieldingPhys", shieldingLog, motherVolume,false,0);
//Visualisation attributes
G4Colour red (1.0,0.0,0.0);
shieldingVisAtt = new G4VisAttributes(red);
shieldingVisAtt -> SetVisibility(true);
shieldingVisAtt -> SetForceSolid(true);
shieldingLog -> SetVisAttributes(shieldingVisAtt);
PrintDetectorParameters();
}
void RemSimShieldingDecorator::ChangeThickness(G4double thick)
{
PrintDetectorParameters();
shielding -> SetZHalfLength(thick/2.);
shieldingPhys -> SetTranslation(G4ThreeVector
(0.,0.,translation + thick/2.));
}
void RemSimShieldingDecorator::PrintDetectorParameters()
{
G4cout << "-----------------------------------------------------------------------"
<< G4endl
<< "the shielding is a box whose thickness is: " << G4endl
<< ((shielding -> GetZHalfLength())*2.)/cm
<< " cm along the Z axis"
<< G4endl
<< "material of the shielding: "
<< shieldingLog -> GetMaterial() -> GetName() <<G4endl
<< G4endl;
}
@@ -0,0 +1,160 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: RemSimSteppingAction.cc,v 1.5 2004/05/22 12:57:07 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
//
// Author: Susanna Guatelli (guatelli@ge.infn.it)
//
#include "G4ios.hh"
#include "G4SteppingManager.hh"
#include "G4Step.hh"
#include "G4Track.hh"
#include "G4StepPoint.hh"
#include "G4ParticleDefinition.hh"
#include "G4VPhysicalVolume.hh"
#include "RemSimSteppingAction.hh"
#include "RemSimPrimaryGeneratorAction.hh"
#include "G4TrackStatus.hh"
#include "RemSimSteppingActionMessenger.hh"
#ifdef G4ANALYSIS_USE
#include "RemSimAnalysisManager.hh"
#endif
RemSimSteppingAction::RemSimSteppingAction(RemSimPrimaryGeneratorAction* primary):
primaryAction(primary)
{
hadronic = "Off";
messenger = new RemSimSteppingActionMessenger(this);
}
RemSimSteppingAction::~RemSimSteppingAction()
{
delete messenger;
}
void RemSimSteppingAction::UserSteppingAction(const G4Step* aStep)
{
G4String oldVolumeName = aStep -> GetPreStepPoint()->
GetPhysicalVolume()-> GetName();
// Store in histograms useful information concerning primary particles
#ifdef G4ANALYSIS_USE
RemSimAnalysisManager* analysis = RemSimAnalysisManager::getInstance();
G4VPhysicalVolume* volume = aStep -> GetPostStepPoint() -> GetPhysicalVolume();
G4String particleName = (aStep -> GetTrack() -> GetDynamicParticle()
-> GetDefinition() -> GetParticleName());
if(oldVolumeName != "phantom")
{
if (volume)
{
G4String volumeName = volume -> GetName();
if (volumeName == "phantom")
{
G4double initialEnergy = primaryAction -> GetInitialEnergy();
G4double particleEnergy = aStep -> GetTrack() -> GetKineticEnergy();
if ( particleName == "proton" ||
particleName == "alpha" ||
particleName == "IonO16" ||
particleName == "IonC12" ||
particleName == "IonFe52"||
particleName == "IonSi28")
{
analysis -> PrimaryInitialEnergyIn(initialEnergy);
analysis -> PrimaryEnergyIn(particleEnergy);
}
}
}
}
if(oldVolumeName == "phantom")
{
if (volume)
{
G4String volumeName = volume -> GetName();
if (volumeName != "phantom")
{
G4double initialEnergy = primaryAction -> GetInitialEnergy();
G4double particleEnergy = aStep->GetTrack() -> GetKineticEnergy();
if ( particleName == "proton" ||
particleName == "alpha" ||
particleName == "IonO16" ||
particleName == "IonC12" ||
particleName == "IonFe52"||
particleName == "IonSi28" )
{
analysis -> PrimaryInitialEnergyOut(initialEnergy);
analysis -> PrimaryEnergyOut(particleEnergy);
}
}
}
}
//analysis of hadronic physics
if (hadronic == "On")
{
if(aStep -> GetPostStepPoint() -> GetProcessDefinedStep() != NULL)
{
G4String process = aStep -> GetPostStepPoint() ->
GetProcessDefinedStep() ->GetProcessName();
if ((process != "Transportation") &&
(process != "msc") &&
(process != "LowEnergyIoni") &&
(process != "LowEnergyBrem") &&
(process != "eIoni") &&
(process != "hIoni") &&
(process != "eBrem") &&
(process != "compt") &&
(process != "phot") &&
(process != "conv") &&
(process != "annihil") &&
(process != "hLowEIoni") &&
(process != "LowEnBrem") &&
(process != "LowEnCompton") &&
(process != "LowEnPhotoElec") &&
(process != "LowEnRayleigh") &&
(process != "LowEnConversion"))
G4cout << "Hadronic Process:" << process << G4endl;
}
}
#endif
}
void RemSimSteppingAction::SetHadronicAnalysis(G4String value)
{
hadronic = value;
}
@@ -0,0 +1,58 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
//$Id: RemSimSteppingActionMessenger.cc,v 1.2 2004/05/22 12:57:07 guatelli Exp $// GEANT4 tag $Name: geant4-06-02 $
//
// Code developed by: S.Guatelli, guatelli@ge.infn.it
//
#include "RemSimSteppingActionMessenger.hh"
#include "RemSimSteppingAction.hh"
#include "globals.hh"
#include "G4UIdirectory.hh"
#include "G4UIcmdWithAString.hh"
RemSimSteppingActionMessenger::RemSimSteppingActionMessenger(RemSimSteppingAction* SA)
:steppingAction(SA)
{
stepDirectory = new G4UIdirectory("/step/");
stepDirectory -> SetGuidance("Step control command.");
hadronicCmd = new G4UIcmdWithAString("/step/hadronicVerbose",this);
hadronicCmd -> SetGuidance("Set the verbose level of hadronic processes");
hadronicCmd -> SetParameterName("choice", true);
hadronicCmd -> SetCandidates("On Off");
hadronicCmd -> AvailableForStates(G4State_PreInit,G4State_Idle);
}
RemSimSteppingActionMessenger::~RemSimSteppingActionMessenger()
{
delete hadronicCmd;
delete stepDirectory;
}
void RemSimSteppingActionMessenger::SetNewValue(G4UIcommand* command, G4String newValue)
{
if(command == hadronicCmd) steppingAction -> SetHadronicAnalysis(newValue);
}
@@ -0,0 +1,34 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: RemSimVGeometryComponent.cc,v 1.3 2004/05/22 12:57:07 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Code developed by: S.Guatelli, guatelli@ge.infn.it
//
#include"RemSimVGeometryComponent.hh"
RemSimVGeometryComponent::RemSimVGeometryComponent()
{;}
RemSimVGeometryComponent::~RemSimVGeometryComponent()
{;}
@@ -0,0 +1,35 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: RemSimVPrimaryGeneratorFactory.cc,v 1.5 2004/05/22 12:57:07 guatelli Exp $Name: geant4-06-02 $
//
// Code developed by: S.Guatelli, guatelli@ge.infn.it
//
#include "RemSimVPrimaryGeneratorFactory.hh"
RemSimVPrimaryGeneratorFactory::RemSimVPrimaryGeneratorFactory()
{
}
RemSimVPrimaryGeneratorFactory::~RemSimVPrimaryGeneratorFactory()
{
}
@@ -0,0 +1,456 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: RemSimVehicle1.cc,v 1.8 2004/05/27 08:36:52 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
// Code developed by: S.Guatelli, guatelli@ge.infn.it
//
#include "RemSimVGeometryComponent.hh"
#include "RemSimMaterial.hh"
#include "G4Material.hh"
#include "RemSimVehicle1.hh"
#include "G4Box.hh"
#include "G4LogicalVolume.hh"
#include "G4VPhysicalVolume.hh"
#include "G4PVPlacement.hh"
#include "G4VisAttributes.hh"
#include "G4UserLimits.hh"
RemSimVehicle1::RemSimVehicle1():
layervacuumPhys(0), layer1Phys(0), layer2Phys(0), layer3Phys(0),
layer4Phys(0), layer5Phys(0), layer6Phys(0), layer7Phys(0), layer8Phys(0),
layer9Phys(0), layer10Phys(0), layer11Phys(0), layer12Phys(0),
layer13Phys(0), layer14Phys(0), layer15Phys(0), layerPhys(0),
layer16Phys(0), layer17Phys(0), layer18Phys(0), layer19Phys(0),
layer20Phys(0), layer21Phys(0), layer22Phys(0), layer23Phys(0),
layer24Phys(0), layer25Phys(0), layer26Phys(0), layer27Phys(0)
{
pMaterial = new RemSimMaterial();
}
RemSimVehicle1::~RemSimVehicle1()
{
delete pMaterial;
}
void RemSimVehicle1::ConstructComponent(G4VPhysicalVolume* motherVolume)
{
G4double sizeX = 5.*m;
G4double sizeY = 5.*m;
G4Material* betacloth = pMaterial -> GetMaterial("betacloth");
//layer of betacloth
G4double translation = - 5.*m;
G4double thick = 0.03 *cm;
G4Box* layer1 = new G4Box("layer1",sizeX/2.,sizeY/2.,thick/2.);
G4LogicalVolume* layer1Log = new G4LogicalVolume(layer1,
betacloth,
"layer1Log",
0,0,0);
layer1Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,translation+thick/2.),
"layer1Phys",
layer1Log,
motherVolume,
false,
0);
translation = translation + thick;
thick = 0.01*cm;
// Mylar layer
G4Material* mylar = pMaterial -> GetMaterial("mylar");
G4Box* layer2 = new G4Box("layer2",sizeX/2.,sizeY/2.,thick/2.);
G4LogicalVolume* layer2Log = new G4LogicalVolume(layer2,
mylar,
"layer2Log",
0,0,0);
layer2Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+ translation),
"layer2Phys",
layer2Log,
motherVolume,
false,0);
// Nextel layer
G4Material* nextel = pMaterial -> GetMaterial("Nextel312AF62");
translation = translation + thick;
thick = 0.1*cm;
G4Box* layer3 = new G4Box("layer3",sizeX/2.,sizeY/2.,thick/2.);
G4LogicalVolume* layer3Log = new G4LogicalVolume(layer3,
nextel,
"layer3Log",
0,0,0);
layer3Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+ translation),
"layer3Phys",
layer3Log,
motherVolume,
false,0);
translation = translation + thick;
thick = 10.06*cm;
G4Material* vacuum = pMaterial -> GetMaterial("Galactic") ;
G4Box* layer4 = new G4Box("layer4",sizeX/2.,sizeY/2.,thick/2.);
G4LogicalVolume* layer4Log = new G4LogicalVolume(layer4,
vacuum,
"layer4Log",
0,0,0);
layer4Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+ translation),
"layer4Phys",
layer4Log,
motherVolume,
false,0);
// Nextel layer
thick = 0.1*cm;
translation = translation + 10.06*cm;
layer5Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+ translation),
"layer5Phys",
layer3Log,
motherVolume,
false,0);
//Vacuum layer
translation = translation + thick;
thick = 10.06 * cm;
layer6Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+ translation),
"layer6Phys",
layer4Log,
motherVolume,
false,0);
// Nextel layer
translation = translation + thick;
thick = 0.2*cm;
layer7Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+ translation),
"layer7Phys",
layer3Log,
motherVolume,
false,0);
// mylar layer
translation = translation + thick;
thick = 0.20 *cm;
G4Box* layer8 = new G4Box("layer8",sizeX/2.,sizeY/2.,thick/2.);
G4LogicalVolume* layer8Log = new G4LogicalVolume(layer8,
mylar,
"layer8Log",
0,0,0);
layer8Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+translation),
"layer8Phys",
layer8Log,
motherVolume,
false,0);
//Vacuum layer
translation = translation + thick;
thick = 10.06 * cm;
layer9Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+translation),
"layer6Phys",
layer4Log,
motherVolume,
false,0);
// mylar layer
translation = translation + thick;
thick = 0.2 *cm;
G4Box* layer10 = new G4Box("layer10",sizeX/2.,sizeY/2.,thick/2.);
G4LogicalVolume* layer10Log = new G4LogicalVolume(layer10,
mylar,
"layer10Log",
0,0,0);
layer10Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+translation),
"layer10Phys",
layer10Log,
motherVolume,
false,0);
//Redundant Bladder
//Polyethylene
G4Material* polyethilene = pMaterial -> GetMaterial("polyethylene");
translation = translation + thick;
thick = 0.0028*cm;
G4Box* layer11 = new G4Box("layer11", sizeX/2.,sizeY/2.,thick/2.);
G4LogicalVolume* layer11Log = new G4LogicalVolume(layer11,
polyethilene,
"layer11Log",
0,0,0);
layer11Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+translation),
"layer11Phys",
layer11Log,
motherVolume,
false,0);
//ployacrylate
translation = translation + thick;
thick = 0.0028*cm;
G4Material* polyacrylate = pMaterial ->GetMaterial("polyacrylate");
G4LogicalVolume* layer12Log = new G4LogicalVolume(layer11,
polyacrylate,
"layer12Log",
0,0,0);
layer12Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+translation),
"layer12Phys",
layer12Log,
motherVolume,
false,0);
//evoh layer
translation = translation + thick;
thick = 0.0028*cm;
G4Material* evoh = pMaterial ->GetMaterial("evoh");
G4LogicalVolume* layer13Log = new G4LogicalVolume(layer11,
evoh,
"layer13Log",
0,0,0);
layer13Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+translation),
"layer13Phys",
layer13Log,
motherVolume,
false,0);
//polyacrylate
translation = translation + thick;
thick = 0.0028*cm;
layer14Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+translation),
"layer14Phys",
layer12Log,
motherVolume,
false,0);
//polyethilene
translation = translation + thick;
thick = 0.0028*cm;
layer15Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+translation),
"layer15Phys",
layer11Log,
motherVolume,
false,0);
//kevlar layer
translation = translation + thick;
thick = 0.026*cm;
G4Material* kevlarAir = pMaterial -> GetMaterial("kevlarAir");
G4Box* layer = new G4Box("layer",sizeX/2.,sizeY/2.,thick/2.);
G4LogicalVolume* layerLog = new G4LogicalVolume(layer,
kevlarAir,
"layerLog",
0,0,0);
layerPhys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+translation),
"layerPhys",
layerLog,
motherVolume,
false,0);
//polyethilene layer
translation = translation + thick;
thick = 0.0028*cm;
layer16Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+translation),
"layer16Phys",
layer11Log,
motherVolume,
false,0);
//polyacrylate layer
translation = translation + thick;
thick = 0.0028*cm;
layer17Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+translation),
"layer17Phys",
layer12Log,
motherVolume,
false,0);
//evoh
translation = translation + thick;
thick = 0.0028*cm;
layer18Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+translation),
"layer18Phys",
layer13Log,
motherVolume,
false,0);
//polyacrylate layer
translation = translation + thick;
thick = 0.0028*cm;
layer19Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+translation),
"layer19Phys",
layer12Log,
motherVolume,
false,0);
//polyethilene layer
translation = translation + thick;
thick = 0.0028*cm;
layer20Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+translation),
"layer20Phys",
layer11Log,
motherVolume,
false,0);
//kevlar layer
translation = translation + thick;
thick = 0.026*cm;
layer21Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+translation),
"layer21Phys",
layerLog,
motherVolume,
false,0);
//polyethilene layer
translation = translation + thick;
thick = 0.0028*cm;
layer22Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+translation),
"layer22Phys",
layer11Log,
motherVolume,
false,0);
//polyacrylate layer
translation = translation + thick;
thick = 0.0028*cm;
layer23Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+translation),
"layer23Phys",
layer12Log,
motherVolume,
false,0);
//evoh layer
translation = translation + thick;
thick = 0.0028*cm;
layer24Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+translation),
"layer24Phys",
layer13Log,
motherVolume,
false,0);
//polyacrylate layer
translation = translation + thick;
thick = 0.0028*cm;
layer25Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+translation),
"layer25Phys",
layer12Log,
motherVolume,
false,0);
//polyethilene layer
translation = translation + thick;
thick = 0.0028*cm;
layer26Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+translation),
"layer26Phys",
layer11Log,
motherVolume,
false,0);
//nomex layer
translation = translation + thick;
thick = 0.03*cm;
G4Material* nomex= pMaterial ->GetMaterial("nomexAir");
G4Box* layer27 = new G4Box("layer27",sizeX/2.,sizeY/2.,thick/2.);
G4LogicalVolume* layer27Log = new G4LogicalVolume(layer27,
nomex,
"layer27Log",
0,0,0);
layer27Phys = new G4PVPlacement(0,
G4ThreeVector(0.,0.,thick/2.+translation),
"layer27Phys",
layer27Log,
motherVolume,
false,0);
translation = translation + thick;
G4Colour magenta (1.0, 0.0, 1.0) ;
G4Colour green (0.0,1.0,0.0);
G4VisAttributes* layer1VisAtt = new G4VisAttributes(green);
layer1VisAtt -> SetVisibility(true);
layer1VisAtt -> SetForceSolid(true);
layer1Log -> SetVisAttributes(layer1VisAtt);
layer3Log -> SetVisAttributes(layer1VisAtt);
layer8Log -> SetVisAttributes(layer1VisAtt);
layer11Log -> SetVisAttributes(layer1VisAtt);
layer13Log -> SetVisAttributes(layer1VisAtt);
G4VisAttributes* layer2VisAtt = new G4VisAttributes(magenta);
layer2VisAtt -> SetVisibility(true);
layer2VisAtt -> SetForceSolid(true);
layer2Log -> SetVisAttributes(layer2VisAtt);
layer4Log -> SetVisAttributes(layer2VisAtt);
layer10Log -> SetVisAttributes(layer2VisAtt);
layer12Log -> SetVisAttributes(layer2VisAtt);
layer27Log -> SetVisAttributes(layer2VisAtt);
}
void RemSimVehicle1::DestroyComponent()
{
}
+136
View File
@@ -0,0 +1,136 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: RemSimVisManager.cc,v 1.4 2004/05/22 12:57:07 guatelli Exp $
// GEANT4 tag $Name: geant4-06-02 $
//
//
// John Allison 24th January 1998.
#ifdef G4VIS_USE
#include "RemSimVisManager.hh"
// Supported drivers...
// Not needing external packages or libraries...
#include "G4ASCIITree.hh"
#include "G4DAWNFILE.hh"
#include "G4GAGTree.hh"
#include "G4HepRepFile.hh"
#include "G4HepRep.hh"
#include "G4RayTracer.hh"
#include "G4VRML1File.hh"
#include "G4VRML2File.hh"
// Needing external packages or libraries...
#ifdef G4VIS_USE_DAWN
#include "G4FukuiRenderer.hh"
#endif
#ifdef G4VIS_USE_OPENGLX
#include "G4OpenGLImmediateX.hh"
#include "G4OpenGLStoredX.hh"
#endif
#ifdef G4VIS_USE_OPENGLWIN32
#include "G4OpenGLImmediateWin32.hh"
#include "G4OpenGLStoredWin32.hh"
#endif
#ifdef G4VIS_USE_OPENGLXM
#include "G4OpenGLImmediateXm.hh"
#include "G4OpenGLStoredXm.hh"
#endif
#ifdef G4VIS_USE_OIX
#include "G4OpenInventorX.hh"
#endif
#ifdef G4VIS_USE_OIWIN32
#include "G4OpenInventorWin32.hh"
#endif
#ifdef G4VIS_USE_VRML
#include "G4VRML1.hh"
#include "G4VRML2.hh"
#endif
RemSimVisManager::RemSimVisManager ()
{}
void RemSimVisManager::RegisterGraphicsSystems () {
// Graphics Systems not needing external packages or libraries...
RegisterGraphicsSystem (new G4ASCIITree);
RegisterGraphicsSystem (new G4DAWNFILE);
RegisterGraphicsSystem (new G4GAGTree);
RegisterGraphicsSystem (new G4HepRepFile);
RegisterGraphicsSystem (new G4HepRep);
RegisterGraphicsSystem (new G4RayTracer);
RegisterGraphicsSystem (new G4VRML1File);
RegisterGraphicsSystem (new G4VRML2File);
// Graphics systems needing external packages or libraries...
#ifdef G4VIS_USE_DAWN
RegisterGraphicsSystem (new G4FukuiRenderer);
#endif
#ifdef G4VIS_USE_OPENGLX
RegisterGraphicsSystem (new G4OpenGLImmediateX);
RegisterGraphicsSystem (new G4OpenGLStoredX);
#endif
#ifdef G4VIS_USE_OPENGLWIN32
RegisterGraphicsSystem (new G4OpenGLImmediateWin32);
RegisterGraphicsSystem (new G4OpenGLStoredWin32);
#endif
#ifdef G4VIS_USE_OPENGLXM
RegisterGraphicsSystem (new G4OpenGLImmediateXm);
RegisterGraphicsSystem (new G4OpenGLStoredXm);
#endif
#ifdef G4VIS_USE_OIX
RegisterGraphicsSystem (new G4OpenInventorX);
#endif
#ifdef G4VIS_USE_OIWIN32
RegisterGraphicsSystem (new G4OpenInventorWin32);
#endif
#ifdef G4VIS_USE_VRML
RegisterGraphicsSystem (new G4VRML1);
RegisterGraphicsSystem (new G4VRML2);
#endif
if (fVerbose > 0) {
G4cout <<
"\nYou have successfully chosen to use the following graphics systems."
<< G4endl;
PrintAvailableGraphicsSystems ();
}
}
#endif
@@ -0,0 +1,54 @@
#############################
############# Activate physics
#### Add e.m. physics
/physics/addPhysics photon-epdl
/physics/addPhysics electron-eedl
/physics/addPhysics positron-standard
#
#Standard process for p, alpha and ions
#/physics/addPhysics ion-standard
#
#LowEnergy process for p, alpha and ions
/physics/addPhysics ion-ICRU
#### Add Hadronic Physics, muon physics and decay
#/physics/addPhysics hadronic
#/physics/addPhysics muon-standard
#/physics/addPhysics decay
##############################
#### Sets some default verbose
/control/verbose 1
/run/verbose 1
/event/verbose 0
/run/initialize
################
## Visualisation
#/vis/scene/create
# --- Choose one the following visualisation tools
#/vis/open OGLIX
#/vis/open DAWNFILE
#/vis/open VRML2FILE
# --------
#/vis/drawVolume
#/vis/viewer/set/viewpointThetaPhi 90 180 deg
#/vis/viewer/zoom 2
#/tracking/storeTrajectory 1
################
# Generation of primary particles
/gun/generator Basic
/gun/particle proton
/gun/energy 500. MeV
# Geometrical configuration
/configuration/choose vehicle
/configuration/AddShielding On
/configuration/AddSPE On
/shielding/thickness 30. cm
# Number of events
/run/beamOn 2000
@@ -0,0 +1,49 @@
#############################
############# Activate physics
#### Add e.m. physics
/physics/addPhysics photon-epdl
/physics/addPhysics electron-eedl
/physics/addPhysics positron-standard
#/physics/addPhysics ion-standard
/physics/addPhysics ion-ICRU
#### Add Hadronic Physics, muon physics and decay
#/physics/addPhysics hadronic
#/physics/addPhysics muon-standard
#/physics/addPhysics decay
##############################
#### Sets some default verbose
/control/verbose 1
/run/verbose 1
/event/verbose 0
/run/initialize
################
## Visualisation
#/vis/scene/create
# --- Choose one the following visualisation tools
#/vis/open OGLIX
#/vis/open DAWNFILE
#/vis/open VRML2FILE
# --------
#/vis/drawVolume
#/vis/viewer/set/viewpointThetaPhi 90 180 deg
#/vis/viewer/zoom 2
#/tracking/storeTrajectory 1
################
/run/initialize
# Generation of primary particles
/gun/generator Interplanetary
/gun/particle IonC12
/run/data gcrZ=6.txt
# Geometry configuration
/configuration/choose vehicle
/configuration/AddShielding On
#/configuration/AddShielding Off
/configuration/AddSPE On
#/configuration/AddSPE Off
/run/beamOn 1000
+52
View File
@@ -0,0 +1,52 @@
#############################
############# Activate physics
#### Add e.m. physics
/physics/addPhysics photon-epdl
/physics/addPhysics electron-eedl
/physics/addPhysics positron-standard
/physics/addPhysics positron-standard
#
#Standard process for p, alpha and ions
#/physics/addPhysics ion-standard
#
##LowEnergy process for p, alpha and ions
/physics/addPhysics ion-ICRU
#### Add Hadronic Physics, muon physics and decay
/physics/addPhysics hadronic
/physics/addPhysics muon-standard
/physics/addPhysics decay
##############################
#### Sets some default verbose
/control/verbose 1
/run/verbose 1
/event/verbose 0
################
## Visualisation
#/vis/scene/create
# --- Choose one the following visualisation tools
/vis/open OGLIX
#/vis/open DAWNFILE
#/vis/open VRML2FILE
# --------
/vis/drawVolume
#/vis/viewer/zoom 2
/tracking/storeTrajectory 1
/vis/scene/endOfEventAction accumulate
######################
/run/initialize
/vis/viewer/set/viewpointThetaPhi 90 180 deg
/gun/particle p
/gun/generator Basic
/gun/energy 100. MeV
/configuration/choose vehicle
/configuration/AddShielding On
/configuration/AddSPE On