Analysis Software
Documentation for
sPHENIX
simulation software
Home page
Related Pages
Modules
Namespaces
Classes
Files
Examples
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
PHG4CEmcTestBeamDetector.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file PHG4CEmcTestBeamDetector.h
1
// Tell emacs that this is a C++ source
2
// -*- C++ -*-.
3
#ifndef G4DETECTORS_PHG4CEMCTESTBEAMDETECTOR_H
4
#define G4DETECTORS_PHG4CEMCTESTBEAMDETECTOR_H
5
6
#include <
g4main/PHG4Detector.h
>
7
8
#include <Geant4/G4Types.hh>
9
10
#include <string>
// for string
11
#include <vector>
12
13
class
G4LogicalVolume;
14
class
G4VPhysicalVolume
;
15
class
PHCompositeNode
;
16
class
PHG4Subsystem
;
17
18
class
PHG4CEmcTestBeamDetector
:
public
PHG4Detector
19
{
20
public
:
22
PHG4CEmcTestBeamDetector
(
PHG4Subsystem
*subsys,
PHCompositeNode
*Node,
const
std::string
&dnam,
const
int
lyr = 0);
23
25
~PHG4CEmcTestBeamDetector
(
void
)
override
26
{
27
}
28
30
void
ConstructMe
(G4LogicalVolume *world)
override
;
31
33
34
int
IsInCEmcTestBeam
(
G4VPhysicalVolume
*)
const
;
36
37
void
SetPlaceZ
(
const
G4double
place_z
) {
place_in_z
=
place_z
; }
38
void
SetPlace
(
const
G4double place_x,
const
G4double place_y,
const
G4double
place_z
)
39
{
40
place_in_x
= place_x;
41
place_in_y
= place_y;
42
place_in_z
=
place_z
;
43
}
44
void
SetXRot
(
const
G4double angle) {
x_rot
= angle; }
45
void
SetYRot
(
const
G4double angle) {
y_rot
= angle; }
46
void
SetZRot
(
const
G4double angle) {
z_rot
= angle; }
47
void
SetActive
(
const
int
i
= 1) {
active
=
i
; }
48
void
SetAbsorberActive
(
const
int
i
= 1) {
absorberactive
=
i
; }
49
int
IsActive
()
const
{
return
active
; }
50
void
SuperDetector
(
const
std::string
&
name
) {
superdetector
=
name
; }
51
const
std::string
SuperDetector
()
const
{
return
superdetector
; }
52
int
get_Layer
()
const
{
return
layer
; }
53
54
void
BlackHole
(
const
int
i
= 1) {
blackhole
=
i
; }
55
int
IsBlackHole
()
const
{
return
blackhole
; }
56
57
private
:
58
void
CalculateGeometry
();
59
int
ConstructTowerVolume
(G4LogicalVolume *
tower
);
60
int
ConstructSandwichVolume
(G4LogicalVolume *sandwich);
61
62
std::vector<G4VPhysicalVolume *>
sandwich_vol
;
63
G4double
w_dimension
[3];
64
G4double
sc_dimension
[3];
65
G4double
gap
;
66
G4double
place_in_x
;
67
G4double
place_in_y
;
68
G4double
place_in_z
;
69
double
plate_x
;
70
double
plate_z
;
71
double
sandwich_thickness
;
72
G4double
x_rot
;
73
G4double
y_rot
;
74
G4double
z_rot
;
75
double
alpha
;
76
double
inner_radius
;
77
double
outer_radius
;
78
double
tower_angular_coverage
;
79
double
cemc_angular_coverage
;
80
double
active_scinti_fraction
;
81
int
sandwiches_per_tower
;
82
int
num_towers
;
83
84
int
active
;
85
int
absorberactive
;
86
int
layer
;
87
int
blackhole
;
88
std::string
detector_type
;
89
std::string
superdetector
;
90
};
91
92
#endif
coresoftware
blob
master
simulation
g4simulation
g4detectors
PHG4CEmcTestBeamDetector.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:12
using
1.8.2 with
sPHENIX GitHub integration