ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
PHG4CylinderGeomv4.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file PHG4CylinderGeomv4.h
1
// Tell emacs that this is a C++ source
2
// -*- C++ -*-.
3
#ifndef G4DETECTORS_PHG4CYLINDERGEOMV4_H
4
#define G4DETECTORS_PHG4CYLINDERGEOMV4_H
5
6
#include "
PHG4CylinderGeom.h
"
7
8
#include <iostream>
// for cout, ostream
9
10
class
PHG4CylinderGeomv4
:
public
PHG4CylinderGeom
11
{
12
public
:
13
PHG4CylinderGeomv4
();
14
PHG4CylinderGeomv4
(
const
int
lnsensors,
15
const
int
lnz,
16
const
int
nspc,
17
int
nsc,
18
const
int
nstag,
19
const
double
lr,
20
const
double
rs,
21
const
double
szs,
22
const
double
sps,
23
const
double
sxo,
24
double
syo,
25
const
double
szsp,
26
const
double
sys,
27
const
double
tck,
28
const
double
st) :
29
N_sensors_in_layer
(lnsensors),
30
layer
(-1),
31
layer_radius
(lr),
32
radius_stagger
(rs),
33
layer_NZ
(lnz),
34
segment_z_step
(szs),
35
segment_phi_step
(sps),
36
sensor_x_offset
(sxo),
37
sensor_y_offset
(syo),
38
N_strip_columns
(nsc),
39
N_strips_per_column
(nspc),
40
N_staggers
(nstag),
41
strip_z_spacing
(szsp),
42
strip_y_spacing
(sys),
43
thickness
(tck),
44
strip_tilt
(st)
45
{}
46
47
~PHG4CylinderGeomv4
()
override
{}
48
49
// from PHObject
50
void
identify
(std::ostream& os = std::cout)
const override
;
51
52
void
set_layer
(
const
int
i)
override
{
layer
= i;}
53
int
get_layer
()
const override
{
return
layer
;}
54
double
get_radius
()
const override
{
return
layer_radius
;}
55
56
void
find_segment_center
(
const
int
segment_z_bin,
const
int
segment_phi_bin,
double
location[])
override
;
57
void
find_strip_center
(
const
int
segment_z_bin,
const
int
segment_phi_bin,
const
int
strip_column,
const
int
strip_index,
double
location[])
override
;
58
59
double
get_thickness
()
const override
{
return
thickness
;}
60
double
get_strip_y_spacing
()
const override
{
return
strip_y_spacing
;}
61
double
get_strip_z_spacing
()
const override
{
return
strip_z_spacing
;}
62
double
get_strip_tilt
()
const override
{
return
strip_tilt
;}
63
int
get_N_strip_columns
()
const override
{
return
N_strip_columns
;}
64
int
get_N_strips_per_column
()
const override
{
return
N_strips_per_column
;}
65
int
get_N_sensors_in_layer
()
const override
{
return
N_sensors_in_layer
;}
66
67
// our own (not inherited from base class)
68
double
get_sensor_x_offset
()
const
{
return
sensor_x_offset
;}
69
double
get_sensor_y_offset
()
const
{
return
sensor_y_offset
;}
70
71
protected
:
72
73
int
N_sensors_in_layer
;
74
int
layer
;
75
76
// finding the center of a sensor given ladder_segment_z and ladder_
77
double
layer_radius
;
78
double
radius_stagger
;
79
int
layer_NZ
;
80
double
segment_z_step
;
81
double
segment_phi_step
;
82
double
sensor_x_offset
;
83
double
sensor_y_offset
;
84
85
// navigation within a sensor
86
//double strip_x_offset;
87
// double strip_y_offset;
88
int
N_strip_columns
;
89
int
N_strips_per_column
;
90
int
N_staggers
;
91
double
strip_z_spacing
;
92
double
strip_y_spacing
;
93
double
thickness
;
94
double
strip_tilt
;
95
96
ClassDefOverride(
PHG4CylinderGeomv4
,1)
97
};
98
99
#endif
coresoftware
blob
master
simulation
g4simulation
g4detectors
PHG4CylinderGeomv4.h
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:24:41
using
1.8.2 with
ECCE GitHub integration