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
CCalHcal.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file CCalHcal.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
//
27
// File: CCalHcal.hh
28
// Description: Equipped to construct the geometry of the hadron calorimeter
30
#ifndef CCalHcal_h
31
#define CCalHcal_h 1
32
33
#include "
CCalDetector.hh
"
34
35
class
CCalHcal
:
public
CCalDetector
36
{
37
public
:
38
//Constructor and Destructor
39
CCalHcal
(
const
G4String
&
name
);
40
virtual
~CCalHcal
();
41
42
//Get Methods
43
G4String
getGenMat
()
const
{
return
genMaterial
;}
44
G4double
getDy_2Cal
()
const
{
return
dy_2Cal
;}
45
G4double
getDx_2Cal
()
const
{
return
dx_2Cal
;}
46
G4double
getXposCal
()
const
{
return
xposCal
;}
47
G4String
getBoxMat
()
const
{
return
boxMaterial
;}
48
G4int
getNBox
()
const
{
return
nBox
;}
49
G4double
getDy_2Box
()
const
{
return
dy_2Box
;}
50
G4double
getDx_2Box
()
const
{
return
dx_2Box
;}
51
G4double
getWallThickBox
()
const
{
return
wallThickBox
;}
52
G4double
getXposBox
(
unsigned
int
i)
const
{
return
xposBox
[i];}
53
G4int
getNLayerScnt
()
const
{
return
nLayerScnt
;}
54
G4int
getTypeScnt
(
unsigned
int
i)
const
{
return
typeLayerScnt
[i];}
55
G4int
getMotherScnt
(
unsigned
int
i)
const
{
return
mothLayerScnt
[i];}
56
G4double
getXposScnt
(
unsigned
int
i)
const
{
return
xposLayerScnt
[i];}
57
G4int
getNLayerAbs
()
const
{
return
nLayerAbs
;}
58
G4int
getTypeAbs
(
unsigned
int
i)
const
{
return
typeLayerAbs
[i];}
59
G4int
getMotherAbs
(
unsigned
int
i)
const
{
return
mothLayerAbs
[i];}
60
G4double
getXposAbs
(
unsigned
int
i)
const
{
return
xposLayerAbs
[i];}
61
G4String
getAbsMat
()
const
{
return
absMaterial
;}
62
G4int
getNAbsorber
()
const
{
return
nAbsorber
;}
63
G4double
getDy_2Abs
( )
const
{
return
dy_2Absorber
;}
64
G4double
getDx_2Abs
(
unsigned
int
i)
const
{
return
dx_2Absorber
[i];}
65
G4String
getScntMat
()
const
{
return
scntMaterial
;}
66
G4String
getWrapMat
()
const
{
return
wrapMaterial
;}
67
G4String
getPlasMat
()
const
{
return
plasMaterial
;}
68
G4int
getNScintillator
()
const
{
return
nScintillator
;}
69
G4double
getDy_2ScntLay
(
unsigned
int
i)
const
{
return
dy_2ScntLayer
[i];}
70
G4double
getDx_2ScntLay
(
unsigned
int
i)
const
{
return
dx_2ScntLayer
[i];}
71
G4double
getDx_2Wrap
(
unsigned
int
i)
const
{
return
dx_2Wrapper
[i];}
72
G4double
getDx_2FrontP
(
unsigned
int
i)
const
{
return
dx_2FrontPlastic
[i];}
73
G4double
getDx_2BackP
(
unsigned
int
i)
const
{
return
dx_2BackPlastic
[i];}
74
G4double
getDx_2Scnt
(
unsigned
int
i)
const
{
return
dx_2Scintillator
[i];}
75
76
protected
:
77
virtual
G4int
readFile
();
78
virtual
void
constructDaughters
();
79
80
private
:
81
G4String
genMaterial
;
//General material
82
G4double
dy_2Cal
;
//Half width of the Hcal
83
G4double
dx_2Cal
;
//Half thickness of the Hcal
84
G4double
xposCal
;
//Position in mother
85
86
G4String
boxMaterial
;
//Material of boxes
87
G4int
nBox
;
//Number of boxes
88
G4double
dy_2Box
;
//Half width of the Boxes
89
G4double
dx_2Box
;
//Half thickness of the Boxes
90
G4double
wallThickBox
;
//Wall thickness of the boxes
91
G4double
*
xposBox
;
//Position in mother
92
93
G4int
nLayerScnt
;
//Number of scintillator layers
94
G4int
*
typeLayerScnt
;
//Layer type
95
G4int
*
mothLayerScnt
;
//Mother type
96
G4double
*
xposLayerScnt
;
//Position in mother
97
98
G4int
nLayerAbs
;
//Number of absorber layers
99
G4int
*
typeLayerAbs
;
//Layer type
100
G4int
*
mothLayerAbs
;
//Mother type
101
G4double
*
xposLayerAbs
;
//Position in mother
102
103
G4String
absMaterial
;
//Material of absorbers
104
G4int
nAbsorber
;
//Number of absorber types
105
G4double
dy_2Absorber
;
//Half width of the absorbers
106
G4double
*
dx_2Absorber
;
//Half thickness of the absorbers
107
108
G4String
scntMaterial
;
//Material of Scintillator
109
G4String
wrapMaterial
;
//Material of Wrapper
110
G4String
plasMaterial
;
//Material of plastic cover
111
G4int
nScintillator
;
//Number of scintillator types
112
G4double
*
dy_2ScntLayer
;
//Half width of scintillator layers
113
G4double
*
dx_2ScntLayer
;
//Half thickness of scintillator layers
114
G4double
*
dx_2Wrapper
;
//Half thickness of wrappers
115
G4double
*
dx_2FrontPlastic
;
//Half thickness of front plastic
116
G4double
*
dx_2BackPlastic
;
//Half thickness of back plastic
117
G4double
*
dx_2Scintillator
;
//Half thickness of scintillators
118
};
119
120
#endif
geant4
tree
geant4-10.6-release
examples
advanced
composite_calorimeter
include
CCalHcal.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:24:56
using
1.8.2 with
ECCE GitHub integration