Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
R
Reference Detector
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Terraform modules
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
This is an archived project. Repository and other project resources are read-only.
Show more breadcrumbs
EIC
detectors
Reference Detector
Commits
93792441
Commit
93792441
authored
4 years ago
by
Jihee Kim
Browse files
Options
Downloads
Patches
Plain Diff
Added ladder
parent
a94a9baa
No related branches found
No related tags found
1 merge request
!36
Resolve "Implement cb_VTX"
Pipeline
#8199
failed
4 years ago
Stage: config
Stage: build
Stage: docs
Stage: test
Stage: finalize
Changes
4
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
compact/cb_VTX.xml
+4
-1
4 additions, 1 deletion
compact/cb_VTX.xml
compact/definitions.xml
+1
-0
1 addition, 0 deletions
compact/definitions.xml
compact/display.xml
+1
-0
1 addition, 0 deletions
compact/display.xml
src/cb_VTX.cpp
+67
-0
67 additions, 0 deletions
src/cb_VTX.cpp
with
73 additions
and
1 deletion
compact/cb_VTX.xml
+
4
−
1
View file @
93792441
...
...
@@ -18,13 +18,16 @@
<detector
id=
"cb_VTX_ID"
name=
"cb_VTX"
type=
"cb_VTX"
readout=
"cb_VTX_Hits"
vis=
"cb_VTXVis"
insideTrackingVloume=
"true"
>
<dimensions
rmin=
"cb_VTX_rmin"
rmax=
"cb_VTX_rmax"
length=
"cb_VTX_length"
/>
<position
x=
"cb_VTX_x_pos"
y=
"cb_VTX_y_pos"
z=
"cb_VTX_z_pos"
/>
<layer
repeat=
"cb_VTX_layer"
vis=
"cb_VTX_layerVis"
>
<slice
name=
"Silicon_slice"
material=
"Si"
sensitive=
"true"
/>
</layer>
</detector>
</detectors>
<readouts>
<readout
name=
"cb_VTX_Hits"
>
<segmentation
type=
"CartesianGridXY"
grid_size_x=
"1.0*mm"
grid_size_y=
"1.0*mm"
/>
<id>
system:8,barrel:3,layer:4,x:32:-16,y:-16
</id>
<id>
system:8,barrel:3,layer:4,
module:8,
x:32:-16,y:-16
</id>
</readout>
</readouts>
...
...
This diff is collapsed.
Click to expand it.
compact/definitions.xml
+
1
−
0
View file @
93792441
...
...
@@ -346,6 +346,7 @@
<constant
name=
"cb_VTX_y_pos"
value=
"0.0*mm"
/>
<constant
name=
"cb_VTX_z_pos"
value=
"0.0*mm"
/>
<constant
name=
"cb_VTX_layer"
value=
"6"
/>
<comment>
--------------------------
Silicon Tracker Parameters
...
...
This diff is collapsed.
Click to expand it.
compact/display.xml
+
1
−
0
View file @
93792441
...
...
@@ -56,6 +56,7 @@
<vis
name=
"ce_GEMVis"
alpha=
"0.1"
r=
"0.1"
g=
"0.0"
b=
"1.0"
showDaughters=
"true"
visible=
"true"
/>
<vis
name=
"cb_GEM_layerVis"
alpha=
"0.8"
r=
"0.8"
g=
"0.4"
b=
"0.3"
showDaughters=
"true"
visible=
"true"
/>
<vis
name=
"cb_VTXVis"
alpha=
"0.1"
r=
"0.1"
g=
"0.0"
b=
"1.0"
showDaughters=
"true"
visible=
"true"
/>
<vis
name=
"cb_VTX_layerVis"
alpha=
"2.0"
r=
"0.0"
g=
"0.2"
b=
"0.8"
showDaughters=
"true"
visible=
"true"
/>
<vis
name=
"ci_GEMVis"
r=
"0.8"
g=
"0.4"
b=
"0.3"
alpha=
"0.8"
showDaughters=
"true"
visible=
"true"
/>
<vis
name=
"ci_HCALVis"
r=
"0.6"
g=
"0"
b=
"0.6"
alpha=
"1.0"
showDaughters=
"true"
visible=
"true"
/>
...
...
This diff is collapsed.
Click to expand it.
src/cb_VTX.cpp
+
67
−
0
View file @
93792441
...
...
@@ -31,6 +31,73 @@ static Ref_t createDetector(Detector& desc, xml_h e, SensitiveDetector sens)
Volume
detVol
(
"cb_VTX_GVol_Logic"
,
cb_VTX_GVol_Solid
,
Vacuum
);
detVol
.
setVisAttributes
(
desc
.
visAttributes
(
x_det
.
visStr
()));
// Barrel Ladder
xml_comp_t
x_layer
=
x_det
.
child
(
_U
(
layer
));
const
int
repeat
=
x_layer
.
repeat
();
xml_comp_t
x_slice
=
x_layer
.
child
(
_U
(
slice
));
Material
slice_mat
=
desc
.
material
(
x_slice
.
materialStr
());
double
x
=
0.0
*
cm
;
double
y
=
0.0
*
cm
;
double
z
=
0.0
*
cm
;
int
FDIV
=
0
;
double
dR
=
0.0
;
double
length
=
0.0
;
double
phi
=
0.0
;
// Ladder Layer Parameters
double
lay_Dx
[
6
];
double
lay_Dy
[
6
];
double
lay_Dz
[
6
];
double
lay_Rin
[
6
];
lay_Dx
[
0
]
=
0.050
*
mm
;
lay_Dy
[
0
]
=
2.0
*
cm
;
lay_Dz
[
0
]
=
10.0
*
cm
;
lay_Rin
[
0
]
=
3.5
*
cm
;
lay_Dx
[
1
]
=
0.050
*
mm
;
lay_Dy
[
1
]
=
2.0
*
cm
;
lay_Dz
[
1
]
=
11.0
*
cm
;
lay_Rin
[
1
]
=
4.5
*
cm
;
lay_Dx
[
2
]
=
0.150
*
mm
;
lay_Dy
[
2
]
=
4.0
*
cm
;
lay_Dz
[
2
]
=
18.0
*
cm
;
lay_Rin
[
2
]
=
6.5
*
cm
;
lay_Dx
[
3
]
=
0.150
*
mm
;
lay_Dy
[
3
]
=
4.0
*
cm
;
lay_Dz
[
3
]
=
24.0
*
cm
;
lay_Rin
[
3
]
=
10.5
*
cm
;
lay_Dx
[
4
]
=
0.150
*
mm
;
lay_Dy
[
4
]
=
4.0
*
cm
;
lay_Dz
[
4
]
=
36.0
*
cm
;
lay_Rin
[
4
]
=
13.5
*
cm
;
lay_Dx
[
5
]
=
0.150
*
mm
;
lay_Dy
[
5
]
=
4.0
*
cm
;
lay_Dz
[
5
]
=
48.0
*
cm
;
lay_Rin
[
5
]
=
15.5
*
cm
;
int
i_module
=
0.0
;
// Loop over layers
for
(
int
i
=
0
;
i
<
repeat
;
i
++
)
{
double
cb_VTX_ladder_DZ
=
lay_Dz
[
i
];
double
cb_VTX_ladder_DY
=
lay_Dy
[
i
];
double
cb_VTX_ladder_Thickness
=
lay_Dx
[
i
];
dR
=
lay_Rin
[
i
];
length
=
2.0
*
3.1415
*
dR
;
int
laddersCount
=
length
/
cb_VTX_ladder_DY
;
for
(
int
i
=
0
;
i
<
2
;
i
++
)
{
double
LN
=
cb_VTX_ladder_DY
*
laddersCount
;
double
LN1
=
cb_VTX_ladder_DY
*
(
laddersCount
+
1.0
+
i
);
if
(
LN
/
LN1
>
0.8
)
laddersCount
=
laddersCount
+
1
;
}
double
cb_VTX_ladder_deltaphi
=
2.0
*
3.1415926
/
laddersCount
;
string
ladderBoxName
=
detName
+
_toString
(
i
,
"_ladder_Solid_%d"
);
string
ladderName
=
detName
+
_toString
(
i
,
"_ladder_Logic_%d"
);
Volume
ladderVol
(
ladderName
,
Box
(
cb_VTX_ladder_Thickness
*
0.5
,
cb_VTX_ladder_DY
*
0.5
,
cb_VTX_ladder_DZ
*
0.5
),
slice_mat
);
ladderVol
.
setVisAttributes
(
desc
,
x_layer
.
visStr
());
sens
.
setType
(
"tracker"
);
ladderVol
.
setSensitiveDetector
(
sens
);
for
(
int
ia
=
0
;
ia
<
laddersCount
;
ia
++
)
{
phi
=
(
ia
*
(
cb_VTX_ladder_deltaphi
));
x
=
-
dR
*
cos
(
phi
);
y
=
-
dR
*
sin
(
phi
);
RotationZYX
ladder_rot
=
RotationZYX
(
cb_VTX_ladder_deltaphi
*
ia
,
0.0
,
0.0
);
Position
ladder_pos
=
Position
(
x
,
y
,
z
);
string
ladderName
=
detName
+
_toString
(
i
,
"_ladder_Phys_%d"
)
+
_toString
(
ia
,
"_%d"
);
PlacedVolume
ladderPV
=
detVol
.
placeVolume
(
ladderVol
,
Transform3D
(
ladder_rot
,
ladder_pos
));
i_module
++
;
ladderPV
.
addPhysVolID
(
"layer"
,
i
+
1
).
addPhysVolID
(
"module"
,
i_module
);
}
}
DetElement
det
(
detName
,
detID
);
Volume
motherVol
=
desc
.
pickMotherVolume
(
det
);
Transform3D
tr
(
RotationZYX
(
0.0
,
0.0
,
0.0
),
Position
(
0.0
,
0.0
,
pos
.
z
()));
...
...
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