Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
nptool
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
np
nptool
Commits
ea2faa44
Commit
ea2faa44
authored
10 years ago
by
adrien-matta
Browse files
Options
Downloads
Patches
Plain Diff
* fixing Tiara Barrel Geometry issues
parent
1ec54c7e
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
NPSimulation/Tiara/Tiara.cc
+47
-46
47 additions, 46 deletions
NPSimulation/Tiara/Tiara.cc
NPSimulation/Tiara/Tiara.hh
+2
-3
2 additions, 3 deletions
NPSimulation/Tiara/Tiara.hh
with
49 additions
and
49 deletions
NPSimulation/Tiara/Tiara.cc
+
47
−
46
View file @
ea2faa44
...
...
@@ -289,7 +289,7 @@ void Tiara::InitializeScorers(){
m_InnerBarrelScorer
=
new
G4MultiFunctionalDetector
(
"Tiara_InnerBarrelScorer"
);
m_OuterBarrelScorer
=
new
G4MultiFunctionalDetector
(
"Tiara_OuterBarrelScorer"
);
m_HyballScorer
=
new
G4MultiFunctionalDetector
(
"Tiara_HyballScorer"
);
G4VPrimitiveScorer
*
InnerBarrel
=
new
SILICONSCORERS
::
PS_Silicon_Resistive
(
"InnerBarrel"
,
INNERBARREL_ActiveWafer_Length
,
INNERBARREL_ActiveWafer_Width
,
...
...
@@ -304,16 +304,16 @@ void Tiara::InitializeScorers(){
OUTERBARREL_NumberOfStrip
);
m_OuterBarrelScorer
->
RegisterPrimitive
(
OuterBarrel
);
G4VPrimitiveScorer
*
Hyball
=
new
SILICONSCORERS
::
PS_Silicon_Annular
(
"Hyball"
,
HYBALL_ActiveWafer_InnerRadius
,
HYBALL_ActiveWafer_OuterRadius
,
-
0.5
*
HYBALL_ActiveWafer_Angle
,
HYBALL_ActiveWafer_Angle
,
HYBALL_NumberOfAnnularStrip
,
HYBALL_NumberOfRadialStrip
);
m_HyballScorer
->
RegisterPrimitive
(
Hyball
);
// Add All Scorer to the Global Scorer Manager
G4SDManager
::
GetSDMpointer
()
->
AddNewDetector
(
m_InnerBarrelScorer
)
;
G4SDManager
::
GetSDMpointer
()
->
AddNewDetector
(
m_OuterBarrelScorer
)
;
...
...
@@ -444,13 +444,13 @@ void Tiara::ConstructInnerBarrel(G4LogicalVolume* world){
// Last argument is the detector number, used in the scorer to get the
// revelant information
new
G4PVPlacement
(
new
G4RotationMatrix
(
0
,
0
,
0
),
G4ThreeVector
(
0
,
0
,
0
),
logicPCB
,
"Tiara_Barrel_PCB"
,
logicBarrelDetector
,
false
,
0
);
G4ThreeVector
(
0
,
0
,
0
),
logicPCB
,
"Tiara_Barrel_PCB"
,
logicBarrelDetector
,
false
,
0
);
G4ThreeVector
WaferPosition
(
0
,
0.5
*
(
INNERBARREL_PCB_Thickness
-
INNERBARREL_
PCB_WaferDepth
+
INNERBARREL_ActiveWafer_Thickness
)
,
0
);
0.5
*
(
INNERBARREL_PCB_Thickness
+
INNERBARREL_
InertWafer_Thickness
)
-
INNERBARREL_PCB_WaferDepth
,
0
);
G4ThreeVector
DeadLayerPositionF
=
WaferPosition
+
G4ThreeVector
(
0
,
-
INNERBARREL_ActiveWafer_Thickness
*
0.5
-
INNERBARREL_ActiveWafer_DeadLayerThickness
*
0.5
,
0
);
...
...
@@ -459,31 +459,31 @@ void Tiara::ConstructInnerBarrel(G4LogicalVolume* world){
new
G4PVPlacement
(
new
G4RotationMatrix
(
0
,
0
,
0
),
WaferPosition
,
logicActiveWafer
,
"Barrel_Wafer"
,
logicBarrelDetector
,
false
,
0
);
WaferPosition
,
logicActiveWafer
,
"Barrel_Wafer"
,
logicBarrelDetector
,
false
,
0
);
new
G4PVPlacement
(
new
G4RotationMatrix
(
0
,
0
,
0
),
DeadLayerPositionF
,
logicDeadLayer
,
"Barrel_WaferDeadLayer"
,
logicBarrelDetector
,
false
,
0
);
DeadLayerPositionF
,
logicDeadLayer
,
"Barrel_WaferDeadLayer
Front
"
,
logicBarrelDetector
,
false
,
0
);
new
G4PVPlacement
(
new
G4RotationMatrix
(
0
,
0
,
0
),
DeadLayerPositionB
,
logicDeadLayer
,
"Barrel_WaferDeadLayer"
,
logicBarrelDetector
,
false
,
0
);
DeadLayerPositionB
,
logicDeadLayer
,
"Barrel_WaferDeadLayer
Back
"
,
logicBarrelDetector
,
false
,
0
);
new
G4PVPlacement
(
new
G4RotationMatrix
(
0
,
0
,
0
),
WaferPosition
,
logicInertWafer
,
"Barrel_Wafer_GuardRing"
,
logicBarrelDetector
,
false
,
0
);
WaferPosition
,
logicInertWafer
,
"Barrel_Wafer_GuardRing"
,
logicBarrelDetector
,
false
,
0
);
// The Distance from target is given by half the lenght of a detector
// plus the length of a detector inclined by 45 deg.
G4double
DistanceFromTarget
=
INNERBARREL_PCB_Width
*
(
0.5
+
sin
(
45
*
deg
))
;
for
(
unsigned
int
i
=
0
;
i
<
8
;
i
++
){
// The following build the barrel, with detector one at the top
// The following build the barrel, with detector one at the top
// and going clowise looking upstrea
// Detector are rotate by 45deg with each other
...
...
@@ -496,7 +496,7 @@ void Tiara::ConstructInnerBarrel(G4LogicalVolume* world){
// Place the Master volume with its two daugther volume at the final place
new
G4PVPlacement
(
G4Transform3D
(
*
DetectorRotation
,
DetectorPosition
),
logicBarrelDetector
,
"Tiara_Barrel_Detector"
,
logicBarrelDetector
,
"Tiara_
Inner
Barrel_Detector"
,
world
,
false
,
i
+
1
);
}
}
...
...
@@ -603,32 +603,33 @@ void Tiara::ConstructOuterBarrel(G4LogicalVolume* world){
// plus the length of a detector inclined by 45 deg.
G4double
DistanceFromTarget
=
OUTERBARREL_PCB_Width
*
(
0.5
+
sin
(
45
*
deg
))
;
for
(
unsigned
int
i
=
0
;
i
<
8
;
i
++
){
// Place the sub volumes in the master volume
// Last argument is the detector number, used in the scorer to get the
// revelant information
new
G4PVPlacement
(
new
G4RotationMatrix
(
0
,
0
,
0
),
G4ThreeVector
(
0
,
0
,
0
),
logicPCB
,
"Tiara_Barrel_PCB"
,
logicBarrelDetector
,
false
,
i
+
1
);
// Place the sub volumes in the master volume
// Last argument is the detector number, used in the scorer to get the
// revelant information
new
G4PVPlacement
(
new
G4RotationMatrix
(
0
,
0
,
0
),
G4ThreeVector
(
0
,
0
,
0
),
logicPCB
,
"Tiara_OuterBarrel_PCB"
,
logicBarrelDetector
,
false
,
0
);
G4ThreeVector
WaferPosition
(
0
,
0.5
*
(
OUTERBARREL_PCB_Thickness
-
OUTERBARREL_PCB_WaferDepth
+
OUTERBARREL_ActiveWafer_Thickness
),
0
);
new
G4PVPlacement
(
new
G4RotationMatrix
(
0
,
0
,
0
),
WaferPosition
,
logicActiveWafer
,
"Barrel_Wafer"
,
logicBarrelDetector
,
false
,
i
+
1
);
G4ThreeVector
WaferPosition
(
0
,
0.5
*
(
OUTERBARREL_PCB_Thickness
+
OUTERBARREL_ActiveWafer_Thickness
)
-
OUTERBARREL_PCB_WaferDepth
,
0
);
new
G4PVPlacement
(
new
G4RotationMatrix
(
0
,
0
,
0
),
WaferPosition
,
logic
Inert
Wafer
,
"Barrel_Wafer
_GuardRing
"
,
logicBarrelDetector
,
false
,
i
+
1
);
new
G4PVPlacement
(
new
G4RotationMatrix
(
0
,
0
,
0
),
WaferPosition
,
logic
Active
Wafer
,
"
Outer
Barrel_Wafer"
,
logicBarrelDetector
,
false
,
0
);
new
G4PVPlacement
(
new
G4RotationMatrix
(
0
,
0
,
0
),
WaferPosition
,
logicInertWafer
,
"OuterBarrel_Wafer_GuardRing"
,
logicBarrelDetector
,
false
,
0
);
// The following build the barrel, with detector one at the top
// and going clowise looking upstrea
// The following build the barrel, with detector one at the top
// and going clowise looking upstrea
for
(
unsigned
int
i
=
0
;
i
<
8
;
i
++
){
// Detector are rotate by 45deg with each other
G4RotationMatrix
*
DetectorRotation
=
new
G4RotationMatrix
(
0
*
deg
,
0
*
deg
,
i
*
45
*
deg
);
...
...
@@ -637,9 +638,9 @@ void Tiara::ConstructOuterBarrel(G4LogicalVolume* world){
G4ThreeVector
DetectorPosition
(
0
,
DistanceFromTarget
,
0
);
DetectorPosition
.
rotate
(
i
*
45
*
deg
,
G4ThreeVector
(
0
,
0
,
-
1
));
// Place the Master volume with its
two
daugther
volume
at the final place
// Place the Master volume with its daugther
s
at the final place
new
G4PVPlacement
(
G4Transform3D
(
*
DetectorRotation
,
DetectorPosition
),
logicBarrelDetector
,
"Tiara_Barrel_Detector"
,
logicBarrelDetector
,
"Tiara_
Outer
Barrel_Detector"
,
world
,
false
,
i
+
1
);
}
...
...
@@ -687,7 +688,7 @@ void Tiara::ConstructHyball(G4LogicalVolume* world){
G4Tubs
*
ActiveWafer
=
new
G4Tubs
(
"HyballActiveWafer"
,
HYBALL_ActiveWafer_InnerRadius
,
HYBALL_ActiveWafer_OuterRadius
,
0.5
*
HYBALL_ActiveWafer_Thickness
,
-
0.5
*
HYBALL_ActiveWafer_Angle
,
HYBALL_ActiveWafer_Angle
);
-
0.5
*
HYBALL_ActiveWafer_Angle
,
HYBALL_ActiveWafer_Angle
);
G4Tubs
*
ActiveWaferShape
=
new
G4Tubs
(
"HyballActiveWaferShape"
,
HYBALL_ActiveWafer_InnerRadius
,
...
...
This diff is collapsed.
Click to expand it.
NPSimulation/Tiara/Tiara.hh
+
2
−
3
View file @
ea2faa44
...
...
@@ -42,11 +42,10 @@
#include
"TTiaraHyballData.h"
using
namespace
std
;
u
sing
namespace
CLHEP
;
using
namespace
CLHEP
;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
namespace
TIARA
{
namespace
TIARA
{
// Energy and time Resolution
const
G4double
ResoTime
=
0
;
const
G4double
ResoEnergy
=
0.042
*
MeV
;
// = zzkeV of Resolution // Unit is MeV/2.35
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment