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
DetectorConstruction.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file DetectorConstruction.hh
1
//
2
// ********************************************************************
3
// * License and Disclaimer *
4
// * *
5
// * The Geant4 software is copyright of the Copyright Holders of *
6
// * the Geant4 Collaboration. It is provided under the terms and *
7
// * conditions of the Geant4 Software License, included in the file *
8
// * LICENSE and available at http://cern.ch/geant4/license . These *
9
// * include a list of copyright holders. *
10
// * *
11
// * Neither the authors of this software system, nor their employing *
12
// * institutes,nor the agencies providing financial support for this *
13
// * work make any representation or warranty, express or implied, *
14
// * regarding this software system or assume any liability for its *
15
// * use. Please see the license in the file LICENSE and URL above *
16
// * for the full disclaimer and the limitation of liability. *
17
// * *
18
// * This code implementation is the result of the scientific and *
19
// * technical work of the GEANT4 collaboration. *
20
// * By using, copying, modifying or distributing the software (or *
21
// * any work based on the software) you agree to acknowledge its *
22
// * use in resulting scientific publications, and indicate your *
23
// * acceptance of all terms of the Geant4 Software license. *
24
// ********************************************************************
25
//
26
// Please cite the following paper if you use this software
27
// Nucl.Instrum.Meth.B260:20-27, 2007
28
29
#ifndef DetectorConstruction_h
30
#define DetectorConstruction_h 1
31
32
#include "
G4VUserDetectorConstruction.hh
"
33
#include "
G4Box.hh
"
34
#include "
G4PVPlacement.hh
"
35
#include "
G4Mag_UsualEqRhs.hh
"
36
#include "
G4TransportationManager.hh
"
37
#include "
G4UserLimits.hh
"
38
#include "
G4ClassicalRK4.hh
"
39
#include "
G4PropagatorInField.hh
"
40
41
#include "
DetectorMessenger.hh
"
42
#include "
TabulatedField3D.hh
"
43
44
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
45
46
class
DetectorConstruction
:
public
G4VUserDetectorConstruction
47
{
48
public
:
49
50
DetectorConstruction
();
51
~DetectorConstruction
();
52
53
G4VPhysicalVolume
*
Construct
();
54
55
void
ConstructSDandField
();
56
57
void
PrintDetectorParameters
();
58
59
void
SetG1
(
G4float
);
60
void
SetG2
(
G4float
);
61
void
SetG3
(
G4float
);
62
void
SetG4
(
G4float
);
63
64
G4float
GetG1
() {
return
fG1
;};
65
G4float
GetG2
() {
return
fG2
;};
66
G4float
GetG3
() {
return
fG3
;};
67
G4float
GetG4
() {
return
fG4
;};
68
69
G4int
GetModel
(){
return
fModel
;};
70
void
SetModel
(
G4int
);
71
72
G4int
GetCoef
();
73
void
SetCoef
(
G4int
val);
74
75
G4int
GetProfile
(){
return
fProfile
;};
76
void
SetProfile
(
G4int
myProfile);
77
78
G4int
GetGrid
(){
return
fGrid
;};
79
void
SetGrid
(
G4int
myGrid);
80
81
G4LogicalVolume
*
GetLogicalWorld
() {
return
fLogicWorld
;};
82
G4LogicalVolume
*
GetLogicalVol
() {
return
fLogicVol
;};
83
G4LogicalVolume
*
GetLogicalGrid
() {
return
fLogicControlVol_GridShadow
;};
84
85
G4float
fG1
,
fG2
,
fG3
,
fG4
;
86
G4int
fModel
,
fCoef
,
fProfile
,
fGrid
;
87
88
private
:
89
90
void
DefineMaterials
();
91
G4VPhysicalVolume
*
ConstructVolumes
();
92
93
G4VPhysicalVolume
*
fPhysiWorld
;
94
G4LogicalVolume
*
fLogicWorld
;
95
G4Box
*
fSolidWorld
;
96
97
G4VPhysicalVolume
*
fPhysiVol
;
98
G4LogicalVolume
*
fLogicVol
;
99
G4Box
*
fSolidVol
;
100
101
G4VPhysicalVolume
*
fPhysiGridVol
;
102
G4LogicalVolume
*
fLogicGridVol
;
103
G4Box
*
fSolidGridVol
;
104
105
G4VPhysicalVolume
*
fPhysiGridVol_Hole
;
106
G4LogicalVolume
*
fLogicGridVol_Hole
;
107
G4Box
*
fSolidGridVol_Hole
;
108
109
G4VPhysicalVolume
*
fPhysiControlVol_GridShadow
;
110
G4LogicalVolume
*
fLogicControlVol_GridShadow
;
111
G4Box
*
fSolidControlVol_GridShadow
;
112
113
G4Material
*
fDefaultMaterial
;
114
G4Material
*
fGridMaterial
;
115
116
DetectorMessenger
*
fDetectorMessenger
;
117
118
//
119
static
G4ThreadLocal
TabulatedField3D
*
fField
;
120
121
};
122
#endif
123
124
geant4
tree
geant4-10.6-release
examples
advanced
nanobeam
include
DetectorConstruction.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:24:49
using
1.8.2 with
ECCE GitHub integration