Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
np
nptool
Commits
9ca362a3
Commit
9ca362a3
authored
Jan 04, 2016
by
adrien-matta
Browse files
* Restoring README folder
parent
ce43d7d8
Changes
15
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
825 additions
and
544 deletions
+825
-544
Inputs/DetectorConfiguration/Nana_Lab.detector
Inputs/DetectorConfiguration/Nana_Lab.detector
+0
-7
NPLib/ressources/DetectorSkeleton/NPSimulation/DETECTORNAME.cc
.../ressources/DetectorSkeleton/NPSimulation/DETECTORNAME.cc
+88
-385
NPLib/ressources/DetectorSkeleton/NPSimulation/DETECTORNAME.hh
.../ressources/DetectorSkeleton/NPSimulation/DETECTORNAME.hh
+22
-39
NPSimulation/Core/CalorimeterScorers.cc
NPSimulation/Core/CalorimeterScorers.cc
+1
-3
NPSimulation/Core/MaterialManager.cc
NPSimulation/Core/MaterialManager.cc
+76
-72
NPSimulation/Detectors/Nana/Nana.cc
NPSimulation/Detectors/Nana/Nana.cc
+21
-19
Projects/Nana/Eu.mac
Projects/Nana/Eu.mac
+1
-1
Projects/Nana/NIM.cxx
Projects/Nana/NIM.cxx
+16
-17
Projects/Nana/PhysicsListOption.txt
Projects/Nana/PhysicsListOption.txt
+1
-1
README/CREDITS
README/CREDITS
+11
-0
README/G4LICENSE
README/G4LICENSE
+73
-0
README/GPL2.0
README/GPL2.0
+340
-0
README/HOWTO
README/HOWTO
+68
-0
README/INSTALL
README/INSTALL
+83
-0
README/header_template
README/header_template
+24
-0
No files found.
Inputs/DetectorConfiguration/Nana_Lab.detector
View file @
9ca362a3
...
...
@@ -28,10 +28,3 @@ NanaDetector
Beta= 0 0 0
Vis= all
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2
NanaDetector
Theta= 300.000000000000000
Phi= 0.000000000000000
R= 70.000000000000000
Beta= 0 0 0
Vis= all
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2
NPLib/ressources/DetectorSkeleton/NPSimulation/DETECTORNAME.cc
View file @
9ca362a3
This diff is collapsed.
Click to expand it.
NPLib/ressources/DetectorSkeleton/NPSimulation/DETECTORNAME.hh
View file @
9ca362a3
...
...
@@ -24,9 +24,7 @@
// C++ header
#include <string>
#include <vector>
// G4 header defining G4 types
#include "globals.hh"
using
namespace
std
;
// G4 headers
#include "G4ThreeVector.hh"
...
...
@@ -38,9 +36,6 @@
#include "NPSVDetector.hh"
#include "TDETECTORNAMEData.h"
using
namespace
std
;
using
namespace
CLHEP
;
class
DETECTORNAME
:
public
NPS
::
VDetector
{
////////////////////////////////////////////////////
...
...
@@ -55,23 +50,17 @@ class DETECTORNAME : public NPS::VDetector
////////////////////////////////////////////////////
public:
// Cylindric plastic
void
AddDETECTORNAME
(
G4double
R
,
G4double
Theta
,
G4double
Phi
,
G4double
Thickness
,
G4double
Radius
,
G4String
Scintillator
);
// Squared DETECTORNAME
void
AddDETECTORNAME
(
G4double
R
,
G4double
Theta
,
G4double
Phi
,
G4double
Height
,
G4double
Width
,
G4double
Thickness
,
G4String
Scintillator
);
void
AddDETECTORNAME
(
double
R
,
double
Theta
,
double
Phi
,
string
Shape
);
void
VolumeMaker
(
G4ThreeVector
Det_pos
,
int
DetNumber
,
G4LogicalVolume
*
world
)
;
G4LogicalVolume
*
BuildSquareDetector
();
G4LogicalVolume
*
BuildCylindricalDetector
();
private:
G4LogicalVolume
*
m_SquareDetector
();
G4LogicalVolume
*
m_CylindricalDetector
();
////////////////////////////////////////////////////
////// Inherite from NPS::VDetector class /////////
////////////////////////////////////////////////////
...
...
@@ -108,23 +97,17 @@ class DETECTORNAME : public NPS::VDetector
///////////////Private intern Data//////////////////
////////////////////////////////////////////////////
private:
// Geometry
vector
<
double
>
m_DETECTORNAME_Thickness
;
vector
<
double
>
m_DETECTORNAME_Radius
;
// cylindrical shape
vector
<
double
>
m_DETECTORNAME_Height
;
// squared shape
vector
<
double
>
m_DETECTORNAME_Width
;
// squared shape
// Used for By Angle Definition
vector
<
G4double
>
m_R
;
vector
<
G4double
>
m_Theta
;
vector
<
G4double
>
m_Phi
;
// Used for By Position Definition
vector
<
G4double
>
m_X
;
vector
<
G4double
>
m_Y
;
vector
<
G4double
>
m_Z
;
// Scintillator type
vector
<
G4String
>
m_Scintillator
;
// Detector Coordinate
vector
<
double
>
m_R
;
vector
<
double
>
m_Theta
;
vector
<
double
>
m_Phi
;
// Shape type
vector
<
string
>
m_Shape
;
// Visualisation Attribute
G4VisAttributes
*
m_VisSquare
;
G4VisAttributes
*
m_VisCylinder
;
// Needed for dynamic loading of the library
public:
...
...
NPSimulation/Core/CalorimeterScorers.cc
View file @
9ca362a3
...
...
@@ -29,15 +29,13 @@ PS_Calorimeter::PS_Calorimeter(G4String name, vector<G4int> NestingLevel,G4int d
m_NestingLevel
=
NestingLevel
;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
PS_Calorimeter
::~
PS_Calorimeter
(){
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4bool
PS_Calorimeter
::
ProcessHits
(
G4Step
*
aStep
,
G4TouchableHistory
*
){
// contain Energy, Time + as many copy number as nested volume
// Contain Energy, Time + as many copy number as nested volume
unsigned
int
mysize
=
m_NestingLevel
.
size
();
G4double
*
Infos
=
new
G4double
[
2
+
mysize
];
Infos
[
0
]
=
aStep
->
GetTotalEnergyDeposit
();
...
...
NPSimulation/Core/MaterialManager.cc
View file @
9ca362a3
...
...
@@ -113,15 +113,15 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name){
m_Material
[
Name
]
=
material
;
return
material
;
}
else
if
(
Name
==
"Epoxy"
){
// Actually taken value fron Epoxy
G4Material
*
material
=
new
G4Material
(
Name
,
1.2
*
g
/
cm3
,
3
);
material
->
AddElement
(
GetElementFromLibrary
(
"H"
),
8
);
material
->
AddElement
(
GetElementFromLibrary
(
"C"
),
5
);
material
->
AddElement
(
GetElementFromLibrary
(
"O"
),
2
);
m_Material
[
Name
]
=
material
;
return
material
;
// Actually taken value fron Epoxy
G4Material
*
material
=
new
G4Material
(
Name
,
1.2
*
g
/
cm3
,
3
);
material
->
AddElement
(
GetElementFromLibrary
(
"H"
),
8
);
material
->
AddElement
(
GetElementFromLibrary
(
"C"
),
5
);
material
->
AddElement
(
GetElementFromLibrary
(
"O"
),
2
);
m_Material
[
Name
]
=
material
;
return
material
;
}
else
if
(
Name
==
"Mylar"
){
...
...
@@ -132,7 +132,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name){
m_Material
[
Name
]
=
material
;
return
material
;
}
else
if
(
Name
==
"Kapton"
){
G4Material
*
material
=
new
G4Material
(
Name
,
1.39
*
g
/
cm3
,
3
);
...
...
@@ -165,15 +165,15 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name){
m_Material
[
Name
]
=
material
;
return
material
;
}
// Cooling
else
if
(
Name
==
"N2_liquid"
){
else
if
(
Name
==
"N2_liquid"
){
G4Material
*
material
=
new
G4Material
(
Name
,
7
,
14.01
*
g
/
mole
,
0.808
*
g
/
cm3
,
kStateLiquid
,
77
*
kelvin
);
kStateLiquid
,
77
*
kelvin
);
m_Material
[
Name
]
=
material
;
return
material
;
}
}
// Usual Target
else
if
(
Name
==
"CD2"
){
G4Material
*
material
=
new
G4Material
(
Name
,
1.06
*
g
/
cm3
,
2
);
...
...
@@ -231,25 +231,25 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name){
else
if
(
Name
==
"Si"
){
G4Material
*
material
=
new
G4Material
(
Name
,
2.321
*
g
/
cm3
,
1
);
material
->
AddElement
(
GetElementFromLibrary
(
"Si"
),
1
);
// Adding Optical property:
// Adding Optical property:
double
*
energy_r
=
new
double
[
2
];
double
*
rindex
=
new
double
[
2
];
double
*
absorption
=
new
double
[
2
];
energy_r
[
0
]
=
1
*
eV
;
energy_r
[
1
]
=
1
*
MeV
;
rindex
[
0
]
=
1
;
rindex
[
1
]
=
1
;
absorption
[
0
]
=
1
*
um
;
absorption
[
1
]
=
1
*
um
;
G4MaterialPropertiesTable
*
MPT
=
new
G4MaterialPropertiesTable
();
// From St Gobain
MPT
->
AddProperty
(
"RINDEX"
,
energy_r
,
rindex
,
2
)
;
MPT
->
AddProperty
(
"ABSLENGTH"
,
energy_r
,
absorption
,
2
);
material
->
SetMaterialPropertiesTable
(
MPT
);
m_Material
[
Name
]
=
material
;
return
material
;
}
...
...
@@ -315,14 +315,14 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name){
m_Material
[
Name
]
=
material
;
return
material
;
}
else
if
(
Name
==
"NaturalUranium"
){
G4Material
*
material
=
new
G4Material
(
Name
,
19.1
*
g
/
cm3
,
1
);
material
->
AddElement
(
GetElementFromLibrary
(
"U"
),
1
);
m_Material
[
Name
]
=
material
;
return
material
;
}
else
if
(
Name
==
"CsI_Scintillator"
){
G4Material
*
material
=
new
G4Material
(
Name
,
4.51
*
g
/
cm3
,
2
);
material
->
AddElement
(
GetElementFromLibrary
(
"Cs"
),
1
);
...
...
@@ -335,32 +335,32 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name){
double
*
energy_r
=
new
double
[
NumberOfPoints
];
double
*
rindex
=
new
double
[
NumberOfPoints
];
double
*
absorption
=
new
double
[
NumberOfPoints
];
double
*
energy_e
=
new
double
[
5
];
double
*
fast
=
new
double
[
5
];
double
*
slow
=
new
double
[
5
];
double
*
scint
=
new
double
[
5
];
energy_e
[
0
]
=
h_Planck
*
c_light
/
(
450
*
nm
);
energy_e
[
1
]
=
h_Planck
*
c_light
/
(
500
*
nm
);
energy_e
[
2
]
=
h_Planck
*
c_light
/
(
550
*
nm
);
energy_e
[
3
]
=
h_Planck
*
c_light
/
(
600
*
nm
);
energy_e
[
4
]
=
h_Planck
*
c_light
/
(
650
*
nm
);
for
(
int
i
=
0
;
i
<
5
;
i
++
){
//fast[0] = 1 ; fast[1]=1;
//slow[0] = 1 ; slow[1]=1;
fast
[
i
]
=
0.6
;
slow
[
i
]
=
3.5
;
}
scint
[
0
]
=
0.25
;
scint
[
1
]
=
0.75
;
scint
[
2
]
=
1.0
;
scint
[
3
]
=
0.7
;
scint
[
4
]
=
0.4
;
energy_e
[
0
]
=
h_Planck
*
c_light
/
(
450
*
nm
);
energy_e
[
1
]
=
h_Planck
*
c_light
/
(
500
*
nm
);
energy_e
[
2
]
=
h_Planck
*
c_light
/
(
550
*
nm
);
energy_e
[
3
]
=
h_Planck
*
c_light
/
(
600
*
nm
);
energy_e
[
4
]
=
h_Planck
*
c_light
/
(
650
*
nm
);
for
(
int
i
=
0
;
i
<
5
;
i
++
){
//fast[0] = 1 ; fast[1]=1;
//slow[0] = 1 ; slow[1]=1;
fast
[
i
]
=
0.6
;
slow
[
i
]
=
3.5
;
}
scint
[
0
]
=
0.25
;
scint
[
1
]
=
0.75
;
scint
[
2
]
=
1.0
;
scint
[
3
]
=
0.7
;
scint
[
4
]
=
0.4
;
double
wl
;
for
(
int
i
=
0
;
i
<
NumberOfPoints
;
i
++
){
wl
=
wlmin
+
i
*
step
;
// Formula from www.refractiveindex.info
...
...
@@ -372,7 +372,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name){
+
0.51818
/
(
1
-
pow
(
0.206
/
wl
,
2
))
+
0.01918
/
(
1
-
pow
(
0.218
/
wl
,
2
))
+
3.38229
/
(
1
-
pow
(
161.29
/
wl
,
2
)))
;
energy_r
[
i
]
=
h_Planck
*
c_light
/
wl
;
// To be defined properly
absorption
[
i
]
=
344.8
*
cm
;
...
...
@@ -438,38 +438,42 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name){
m_Material
[
Name
]
=
material
;
return
material
;
}
else
if
(
Name
==
"P10_1atm"
){
G4Material
*
material
=
new
G4Material
(
Name
,
1.74
*
mg
/
cm3
,
3
);
//@ 0K, 1 atm
material
->
AddElement
(
GetElementFromLibrary
(
"Ar"
),
0.9222
);
material
->
AddElement
(
GetElementFromLibrary
(
"C"
),
0.0623
);
material
->
AddElement
(
GetElementFromLibrary
(
"H"
),
0.0155
);
m_Material
[
Name
]
=
material
;
return
material
;
}
G4Material
*
material
=
new
G4Material
(
Name
,
1.74
*
mg
/
cm3
,
3
);
//@ 0K, 1 atm
material
->
AddElement
(
GetElementFromLibrary
(
"Ar"
),
0.9222
);
material
->
AddElement
(
GetElementFromLibrary
(
"C"
),
0.0623
);
material
->
AddElement
(
GetElementFromLibrary
(
"H"
),
0.0155
);
m_Material
[
Name
]
=
material
;
return
material
;
}
else
if
(
Name
==
"P10"
){
G4Material
*
material
=
new
G4Material
(
Name
,
0.57
*
mg
/
cm3
,
3
);
//@ 0K, 1/3 atm
material
->
AddElement
(
GetElementFromLibrary
(
"Ar"
),
0.9222
);
material
->
AddElement
(
GetElementFromLibrary
(
"C"
),
0.0623
);
material
->
AddElement
(
GetElementFromLibrary
(
"H"
),
0.0155
);
m_Material
[
Name
]
=
material
;
return
material
;
}
else
if
(
Name
==
"Air_1atm"
){
// 1 atm
G4Material
*
material
=
new
G4Material
(
"Air"
,
1.290
*
mg
/
cm3
,
2
);
material
->
AddElement
(
GetElementFromLibrary
(
"N"
),
0.7
);
material
->
AddElement
(
GetElementFromLibrary
(
"O"
),
0.3
);
}
else
if
(
Name
==
"Air"
){
// 1/3 atm
G4Material
*
material
=
new
G4Material
(
"Air"
,
1.290
/
3
*
mg
/
cm3
,
2
);
material
->
AddElement
(
GetElementFromLibrary
(
"N"
),
0.7
);
material
->
AddElement
(
GetElementFromLibrary
(
"O"
),
0.3
);
}
G4Material
*
material
=
new
G4Material
(
Name
,
0.57
*
mg
/
cm3
,
3
);
//@ 0K, 1/3 atm
material
->
AddElement
(
GetElementFromLibrary
(
"Ar"
),
0.9222
);
material
->
AddElement
(
GetElementFromLibrary
(
"C"
),
0.0623
);
material
->
AddElement
(
GetElementFromLibrary
(
"H"
),
0.0155
);
m_Material
[
Name
]
=
material
;
return
material
;
}
else
if
(
Name
==
"Air"
){
// 1 atm
G4Material
*
material
=
new
G4Material
(
Name
,
1.290
*
mg
/
cm3
,
2
);
material
->
AddElement
(
GetElementFromLibrary
(
"N"
),
0.7
);
material
->
AddElement
(
GetElementFromLibrary
(
"O"
),
0.3
);
m_Material
[
Name
]
=
material
;
return
material
;
}
else
if
(
Name
==
"Wood"
){
G4Material
*
material
=
new
G4Material
(
Name
,
0.9
*
mg
/
cm3
,
3
);
material
->
AddElement
(
GetElementFromLibrary
(
"H"
)
,
4
);
material
->
AddElement
(
GetElementFromLibrary
(
"O"
)
,
1
);
material
->
AddElement
(
GetElementFromLibrary
(
"C"
)
,
2
);
m_Material
[
Name
]
=
material
;
return
material
;
}
else
{
G4cout
<<
"ERROR: Material requested
\"
"
<<
Name
<<
"
\"
is not available in the Material Librairy"
<<
G4endl
;
exit
(
1
);
...
...
NPSimulation/Detectors/Nana/Nana.cc
View file @
9ca362a3
...
...
@@ -311,12 +311,30 @@ void Nana::ConstructDetector(G4LogicalVolume* world){
G4LogicalVolume
*
logicLead
=
new
G4LogicalVolume
(
solidLead
,
Lead
,
"logicLead"
,
0
,
0
,
0
);
G4VisAttributes
*
lead_vis
=
new
G4VisAttributes
(
G4Colour
(
0.3
,
0.3
,
0.3
));
logicLead
->
SetVisAttributes
(
lead_vis
);
logicLead
->
SetVisAttributes
(
lead_vis
);
unsigned
int
mysize
=
m_Pos
.
size
();
for
(
unsigned
int
i
=
0
;
i
<
mysize
;
i
++
){
new
G4PVPlacement
(
G4Transform3D
(
*
m_Rot
[
i
],
m_Pos
[
i
]),
ConstructDetector
(),
"NanaDetector"
,
world
,
false
,
i
+
2
);
G4RotationMatrix
*
r
=
new
G4RotationMatrix
();
G4Material
*
Wood
=
MaterialManager
::
getInstance
()
->
GetMaterialFromLibrary
(
"Wood"
);
G4Box
*
table
=
new
G4Box
(
"Table"
,
1
*
m
,
1
*
m
,
1
*
cm
);
G4LogicalVolume
*
logicTable
=
new
G4LogicalVolume
(
table
,
Wood
,
"logicTable"
,
0
,
0
,
0
);
G4RotationMatrix
*
r
=
new
G4RotationMatrix
();
r
->
rotateX
(
90
*
deg
);
new
G4PVPlacement
(
r
,
G4ThreeVector
(
0
,
-
5
*
cm
,
0
),
logicTable
,
"Nana_Table"
,
world
,
false
,
0
);
/* G4RotationMatrix* r = new G4RotationMatrix();
r->rotateX(-90*deg);
r->rotateY(60*deg);
...
...
@@ -355,23 +373,7 @@ logicLead->SetVisAttributes(lead_vis);
world,
false,
i+1);
/* new G4PVPlacement(G4Transform3D(*m_Rot[i], m_Pos[i]+G4ThreeVector(0,0, +PMTFace+3*cm)),
logicLead,
"Nana_Lead_Support",
world,
false,
i+1);
new G4PVPlacement(G4Transform3D(*m_Rot[i], m_Pos[i]+G4ThreeVector(0,0,-PMTFace-3*cm)),
logicLead,
"Nana_Lead_Support",
world,
false,
i+1);
*/
}
}
...
...
Projects/Nana/Eu.mac
View file @
9ca362a3
/run/beamOn
38400
000
/run/beamOn
4608
000
Projects/Nana/NIM.cxx
View file @
9ca362a3
...
...
@@ -4,28 +4,27 @@ void NIM(){
// TFile* fexp = new TFile("Nana_exp.root","READ");
// TH1* hexp = (TH1*) fexp->FindObjectAny("Detector3");
TFile
*
fexp
=
new
TFile
(
"Eu_
4
hr.root"
,
"READ"
);
TFile
*
fexp
=
new
TFile
(
"Eu_
152_1Det_1
hr.root"
,
"READ"
);
TTree
*
treex
=
(
TTree
*
)
fexp
->
FindObjectAny
(
"Tree"
);
treex
->
Draw
(
"fNANA_LaBr3_EnergyLong
>>Detector3x(4096,0,4096)"
,
"fNANA_LaBr3_DetectorNbr@.size()==1 && fNANA_LaBr3_DetectorNbr==3
"
,
""
);
treex
->
Draw
(
"
1000*(0.00193276+
fNANA_LaBr3_EnergyLong
*0.000175521+fNANA_LaBr3_EnergyLong*fNANA_LaBr3_EnergyLong*-3.88985e-10) >>Detector3x(4096,0,4096)"
,
"
"
,
""
);
TH1
*
hexp
=
(
TH1
*
)
fexp
->
FindObjectAny
(
"Detector3x"
);
TH1
*
hexp_o
=
(
TH1
*
)
hexp
->
Clone
(
"hexp_o"
);
TFile
*
fbgd
=
new
TFile
(
"Bg_4hr_nu.root"
,
"READ"
);
TTree
*
treeb
=
(
TTree
*
)
fbgd
->
FindObjectAny
(
"Tree"
);
treeb
->
Draw
(
"fNANA_LaBr3_EnergyLong>>Detector3(4096,0,4096)"
,
"fNANA_LaBr3_DetectorNbr@.size()==1 && fNANA_LaBr3_DetectorNbr==3"
,
"same"
);
TH1
*
hbgd
=
(
TH1
*
)
fbgd
->
FindObjectAny
(
"Detector3"
);
//
TFile* fbgd = new TFile("Bg_4hr_nu.root","READ");
//
TTree* treeb = (TTree*) fbgd->FindObjectAny("Tree");
//
treeb->Draw("fNANA_LaBr3_EnergyLong>>Detector3(4096,0,4096)","fNANA_LaBr3_DetectorNbr@.size()==1 && fNANA_LaBr3_DetectorNbr==3","same");
//
TH1* hbgd = (TH1*) fbgd->FindObjectAny("Detector3");
double
min2
=
1700
;
double
max2
=
3500
;
double
normalisation_bgd
=
hexp
->
Integral
(
hexp
->
FindBin
(
min2
),
hexp
->
FindBin
(
max2
))
/
hbgd
->
Integral
(
hbgd
->
FindBin
(
min2
),
hbgd
->
FindBin
(
max2
));
cout
<<
"Normalisation = "
<<
normalisation_bgd
<<
endl
;
hbgd
->
Scale
(
normalisation_bgd
);
hexp
->
Add
(
hbgd
,
-
1
);
//
double normalisation_bgd = hexp->Integral(hexp->FindBin(min2),hexp->FindBin(max2))/hbgd->Integral(hbgd->FindBin(min2),hbgd->FindBin(max2));
//
cout << "Normalisation = " << normalisation_bgd << endl;
//
hbgd->Scale(normalisation_bgd);
//
hexp->Add(hbgd,-1);
TFile
*
fsim
=
new
TFile
(
"../../Outputs/Analysis/Eu_
5min
.root"
,
"READ"
);
TFile
*
fsim
=
new
TFile
(
"../../Outputs/Analysis/Eu_
1hr
.root"
,
"READ"
);
TTree
*
tree
=
(
TTree
*
)
fsim
->
FindObjectAny
(
"PhysicsTree"
);
tree
->
Draw
(
"LaBr_E*1000.>>sum2(4096,0,4096)"
,
"
Nana.DetectorNumber@.size()==1 && Nana.DetectorNumber==3
"
,
"E1 same"
);
tree
->
Draw
(
"LaBr_E*1000.>>sum2(4096,0,4096)"
,
""
,
"E1 same"
);
TH1
*
hsim
=
(
TH1
*
)
fsim
->
FindObjectAny
(
"sum2"
);
double
min1
=
400
;
...
...
@@ -40,11 +39,11 @@ void NIM(){
hexp
->
GetXaxis
()
->
SetTitle
(
"LaBr3 Energy (keV)"
);
hexp
->
GetYaxis
()
->
SetTitle
(
"Counts per 4 keV"
);
hsim
->
Draw
(
"same"
);
hbgd
->
SetFillColor
(
kRed
);
hbgd
->
SetLineColor
(
kRed
);
//
hbgd->SetFillColor(kRed);
//
hbgd->SetLineColor(kRed);
//hbgd->Draw("same");
hexp_o
->
SetFillColor
(
kGreen
);
hexp_o
->
SetLineColor
(
kGreen
);
//
hexp_o->SetFillColor(kGreen);
//
hexp_o->SetLineColor(kGreen);
//hexp_o->Draw("same");
gPad
->
SetLogy
();
...
...
Projects/Nana/PhysicsListOption.txt
View file @
9ca362a3
EmPhysicsList Option4
DefaultCutOff 0.1
DefaultCutOff 0.
0
1
IonBinaryCascadePhysics 0
EmExtraPhysics 0
HadronElasticPhysics 0
...
...
README/CREDITS
0 → 100644
View file @
9ca362a3
May 2009
Main Contributors for NPTool structure:
Adrien MATTA
Nicolas de SEREVILLE
Other contributors
Sandra GIRON
Marc LABICHE
Inspired by previous work by Alexis RAMUS and Marc LABICHE.
README/G4LICENSE
0 → 100644
View file @
9ca362a3
Geant4 Software License
Version 1.0, 28 June 2006
Copyright (c) Copyright Holders of the Geant4 Collaboration, 1994-2006.
See http://cern.ch/geant4/license for details on the copyright holders. All
rights not expressly granted under this license are reserved.
This software includes voluntary contributions made to Geant4.
See http://cern.ch/geant4 for more information on Geant4.
Installation, use, reproduction, display, modification and redistribution of
this software, with or without modification, in source and binary forms, are
permitted on a non-exclusive basis. Any exercise of rights by you under this
license is subject to the following conditions:
1. Redistributions of this software, in whole or in part, with or without
modification, must reproduce the above copyright notice and these license
conditions in this software, the user documentation and any other
materials provided with the redistributed software.
2. The user documentation,if any,included with a redistribution,must include
the following notice:"This product includes software developed by Members
of the Geant4 Collaboration ( http://cern.ch/geant4 )."
If that is where third-party acknowledgments normally appear, this
acknowledgment must be reproduced in the modified version of this
software itself.
3. The names "Geant4" and "The Geant4 toolkit" may not be used to endorse or
promote software,or products derived therefrom, except with prior written
permission by license@geant4.org. If this software is redistributed in
modified form, the name and reference of the modified version must be
clearly distinguishable from that of this software.
4. You are under no obligation to provide anyone with any modifications of
this software that you may develop,including but not limited to bug fixes,
patches, upgrades or other enhancements or derivatives of the features,
functionality or performance of this software. However, if you publish or
distribute your modifications without contemporaneously requiring users
to enter into a separate written license agreement, then you are deemed
to have granted all Members and all Copyright Holders of the Geant4
Collaboration a license to your modifications, including modifications
protected by any patent owned by you,under the conditions of this license.
5. You may not include this software in whole or in part in any patent or
patent application in respect of any modification of this software
developed by you.
6. DISCLAIMER
THIS SOFTWARE IS PROVIDED BY THE MEMBERS AND COPYRIGHT HOLDERS OF THE GEANT4
COLLABORATION AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY, OF
SATISFACTORY QUALITY, AND FITNESS FOR A PARTICULAR PURPOSE OR USE ARE
DISCLAIMED. THE MEMBERS OF THE GEANT4 COLLABORATION AND CONTRIBUTORS MAKE NO
REPRESENTATION THAT THE SOFTWARE AND MODIFICATIONS THEREOF,WILL NOT INFRINGE
ANY PATENT, COPYRIGHT, TRADE SECRET OR OTHER PROPRIETARY RIGHT.
7. LIMITATION OF LIABILITY
THE MEMBERS AND COPYRIGHT HOLDERS OF THE GEANT4 COLLABORATION AND
CONTRIBUTORS SHALL HAVE NO LIABILITY FOR DIRECT,INDIRECT,SPECIAL, INCIDENTAL,
CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES OF ANY CHARACTER INCLUDING,
WITHOUT LIMITATION, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, LOSS OF USE,
DATA OR PROFITS, OR BUSINESS INTERRUPTION, HOWEVER CAUSED AND ON ANY THEORY
OF CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE), PRODUCT LIABILITY OR
OTHERWISE, ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
8. This license shall terminate with immediate effect and without notice if
you fail to comply with any of the terms of this license, or if you
institute litigation against any Member or Copyright Holder of the Geant4
Collaboration with regard to this software.
README/GPL2.0
0 → 100644
View file @
9ca362a3
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.