EIC Software
Reference for
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
G4EicDircDetector.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4EicDircDetector.h
1
// Tell emacs that this is a C++ source
2
// -*- C++ -*-.
3
#ifndef G4EICDIRCDETECTOR_H
4
#define G4EICDIRCDETECTOR_H
5
6
#include <
g4main/PHG4Detector.h
>
7
#include <Geant4/G4LogicalVolume.hh>
8
#include <Geant4/G4Material.hh>
9
#include <Geant4/G4ThreeVector.hh>
10
#include <Geant4/G4Types.hh>
11
12
#include <map>
13
#include <set>
14
#include <string>
// for string
15
16
class
G4EicDircDisplayAction
;
17
class
G4LogicalVolume;
18
class
G4VPhysicalVolume;
19
class
PHCompositeNode
;
20
class
PHG4Subsystem
;
21
class
PHParameters
;
22
23
class
G4EicDircDetector
:
public
PHG4Detector
24
{
25
public
:
27
G4EicDircDetector
(
PHG4Subsystem
* subsys,
PHCompositeNode
* Node,
PHParameters
*
parameters
,
const
std::string& dnam);
28
30
virtual
~G4EicDircDetector
() {}
31
33
virtual
void
ConstructMe
(G4LogicalVolume*
world
)
override
;
34
35
void
SetVisualization
();
36
void
SetQuantumEfficiency
(G4int
id
);
37
38
virtual
void
Print
(
const
std::string& what =
"ALL"
)
const override
;
39
41
42
int
IsInDetector
(G4VPhysicalVolume*)
const
;
44
45
void
SuperDetector
(
const
std::string&
name
) {
m_SuperDetector
=
name
; }
46
const
std::string
SuperDetector
()
const
{
return
m_SuperDetector
; }
47
std::string
name_base
=
"test"
;
48
49
private
:
50
//G4LogicalVolume* DetectorLog_Det;
51
//G4LogicalVolume* log_module_envelope;
52
//G4LogicalVolume* Log_End_Support;
53
//G4LogicalVolume* Log_Longitudinal_Support;
54
//G4LogicalVolume* log_module_envelope_inner;
55
//G4LogicalVolume* Log_End_Support_inner;
56
//G4LogicalVolume* Log_Longitudinal_Support_inner;
57
58
//G4LogicalVolume* lDirc;
59
G4LogicalVolume*
lFd
;
60
G4LogicalVolume *
lBarL
, *
lBarS
;
61
G4LogicalVolume*
lGlue
;
62
G4LogicalVolume*
lMirror
;
63
G4LogicalVolume*
lLens1
;
64
G4LogicalVolume*
lLens2
;
65
G4LogicalVolume*
lLens3
;
66
G4LogicalVolume*
lPrizm
;
67
G4LogicalVolume*
lMcp
;
68
G4LogicalVolume*
lPixel
;
69
//G4VPhysicalVolume* pDirc[100];
70
//G4VPhysicalVolume* wGlue;
71
//G4VPhysicalVolume* wMirror;
72
73
G4Material*
defaultMaterial
;
// material for bars
74
G4Material*
BarMaterial
;
// material for bars
75
G4Material*
OilMaterial
;
76
G4Material*
MirrorMaterial
;
// material of mirror
77
G4Material*
epotekMaterial
;
78
G4Material*
Nlak33aMaterial
;
79
G4Material*
PbF2Material
;
80
G4Material*
SapphireMaterial
;
81
G4Material*
frontMaterial
;
82
83
G4int
fNRow
;
84
G4int
fNCol
;
85
G4int
fNBoxes
;
86
G4double
fRadius
;
87
G4double
fNpix1
;
88
G4double
fNpix2
;
89
G4double
fBoxWidth
;
90
G4int
fGeomType
;
91
G4int
fMcpLayout
;
92
G4int
fLensId
;
93
G4double
fNBar
;
94
G4double
fBar
[3];
95
G4double
fBarL
[3],
fBarS
[3];
96
G4double
fMirror
[3];
97
G4double
fFd
[3];
98
G4double
fPrizm
[4];
99
G4double
fLens
[4];
100
G4double
fMcpTotal
[3];
101
G4double
fMcpActive
[3];
102
G4ThreeVector
fPrismShift
;
103
G4double
fBarsGap
;
104
G4double
zshift
;
105
106
//G4double fRotAngle;
107
G4RotationMatrix*
fPrtRot
;
108
G4double*
fQuantumEfficiency
;
109
110
protected
:
111
void
DefineMaterials
();
112
PHParameters
*
m_Params
;
113
114
G4EicDircDisplayAction
*
m_DisplayAction
;
115
116
// active volumes
117
//std::map<G4VPhysicalVolume *, int> m_PhysicalVolumes_active;
118
std::map<G4LogicalVolume*, int>
m_LogicalVolumes_active
;
119
120
std::string
m_SuperDetector
;
121
};
122
123
#endif // G4EICDIRCDETECTOR_H
fun4all_eicdetectors
blob
master
simulation
g4simulation
g4eicdirc
G4EicDircDetector.h
Built by
Jin Huang
. updated:
Mon Jan 22 2024 12:43:52
using
1.8.2 with
EIC GitHub integration