#include <CCalHcal.hh>
Definition at line 35 of file CCalHcal.hh.
CCalHcal::CCalHcal |
( |
const G4String & |
name | ) |
|
Definition at line 37 of file CCalHcal.cc.
38 CCalDetector(name),xposBox(0),typeLayerScnt(0),mothLayerScnt(0),
39 xposLayerScnt(0),typeLayerAbs(0),mothLayerAbs(0),xposLayerAbs(0),
40 dx_2Absorber(0),dy_2ScntLayer(0),dx_2ScntLayer(0),dx_2Wrapper(0),
41 dx_2FrontPlastic(0),dx_2BackPlastic(0),dx_2Scintillator(0) {}
CCalDetector(const G4String &name)
Definition at line 43 of file CCalHcal.cc.
47 delete[] typeLayerScnt;
49 delete[] mothLayerScnt;
51 delete[] xposLayerScnt;
53 delete[] typeLayerAbs;
55 delete[] mothLayerAbs;
57 delete[] xposLayerAbs;
59 delete[] dx_2Absorber;
61 delete[] dy_2ScntLayer;
63 delete[] dx_2ScntLayer;
67 delete[] dx_2FrontPlastic;
69 delete[] dx_2BackPlastic;
71 delete[] dx_2Scintillator;
void CCalHcal::constructDaughters |
( |
| ) |
|
|
protectedvirtual |
double CCalHcal::getDx_2Abs |
( |
unsigned int |
i | ) |
const |
|
inline |
Definition at line 63 of file CCalHcal.hh.
63 {
return dx_2Absorber[i];}
double CCalHcal::getDx_2BackP |
( |
unsigned int |
i | ) |
const |
|
inline |
Definition at line 72 of file CCalHcal.hh.
72 {
return dx_2BackPlastic[i];}
double CCalHcal::getDx_2Box |
( |
| ) |
const |
|
inline |
double CCalHcal::getDx_2Cal |
( |
| ) |
const |
|
inline |
double CCalHcal::getDx_2FrontP |
( |
unsigned int |
i | ) |
const |
|
inline |
Definition at line 71 of file CCalHcal.hh.
71 {
return dx_2FrontPlastic[i];}
double CCalHcal::getDx_2Scnt |
( |
unsigned int |
i | ) |
const |
|
inline |
Definition at line 73 of file CCalHcal.hh.
73 {
return dx_2Scintillator[i];}
double CCalHcal::getDx_2ScntLay |
( |
unsigned int |
i | ) |
const |
|
inline |
Definition at line 69 of file CCalHcal.hh.
69 {
return dx_2ScntLayer[i];}
double CCalHcal::getDx_2Wrap |
( |
unsigned int |
i | ) |
const |
|
inline |
Definition at line 70 of file CCalHcal.hh.
70 {
return dx_2Wrapper[i];}
double CCalHcal::getDy_2Abs |
( |
| ) |
const |
|
inline |
Definition at line 62 of file CCalHcal.hh.
62 {
return dy_2Absorber;}
double CCalHcal::getDy_2Box |
( |
| ) |
const |
|
inline |
double CCalHcal::getDy_2Cal |
( |
| ) |
const |
|
inline |
double CCalHcal::getDy_2ScntLay |
( |
unsigned int |
i | ) |
const |
|
inline |
Definition at line 68 of file CCalHcal.hh.
68 {
return dy_2ScntLayer[i];}
int CCalHcal::getMotherAbs |
( |
unsigned int |
i | ) |
const |
|
inline |
Definition at line 58 of file CCalHcal.hh.
58 {
return mothLayerAbs[i];}
int CCalHcal::getMotherScnt |
( |
unsigned int |
i | ) |
const |
|
inline |
Definition at line 54 of file CCalHcal.hh.
54 {
return mothLayerScnt[i];}
int CCalHcal::getNAbsorber |
( |
| ) |
const |
|
inline |
int CCalHcal::getNBox |
( |
| ) |
const |
|
inline |
int CCalHcal::getNLayerAbs |
( |
| ) |
const |
|
inline |
int CCalHcal::getNLayerScnt |
( |
| ) |
const |
|
inline |
int CCalHcal::getNScintillator |
( |
| ) |
const |
|
inline |
Definition at line 67 of file CCalHcal.hh.
67 {
return nScintillator;}
Definition at line 66 of file CCalHcal.hh.
66 {
return plasMaterial;}
Definition at line 64 of file CCalHcal.hh.
64 {
return scntMaterial;}
int CCalHcal::getTypeAbs |
( |
unsigned int |
i | ) |
const |
|
inline |
Definition at line 57 of file CCalHcal.hh.
57 {
return typeLayerAbs[i];}
int CCalHcal::getTypeScnt |
( |
unsigned int |
i | ) |
const |
|
inline |
Definition at line 53 of file CCalHcal.hh.
53 {
return typeLayerScnt[i];}
double CCalHcal::getWallThickBox |
( |
| ) |
const |
|
inline |
Definition at line 50 of file CCalHcal.hh.
50 {
return wallThickBox;}
Definition at line 65 of file CCalHcal.hh.
65 {
return wrapMaterial;}
double CCalHcal::getXposAbs |
( |
unsigned int |
i | ) |
const |
|
inline |
Definition at line 59 of file CCalHcal.hh.
59 {
return xposLayerAbs[i];}
double CCalHcal::getXposBox |
( |
unsigned int |
i | ) |
const |
|
inline |
double CCalHcal::getXposCal |
( |
| ) |
const |
|
inline |
double CCalHcal::getXposScnt |
( |
unsigned int |
i | ) |
const |
|
inline |
Definition at line 55 of file CCalHcal.hh.
55 {
return xposLayerScnt[i];}
int CCalHcal::readFile |
( |
| ) |
|
|
protectedvirtual |
Implements CCalDetector.
Definition at line 74 of file CCalHcal.cc.
77 G4cout <<
" ==> Opening file " <<
File() <<
" to read elements..."
90 is >> dy_2Cal >> dx_2Cal >> xposCal >>
jump;
92 G4cout <<
tab <<
"General material: " << genMaterial <<
" Size " << dy_2Cal
93 <<
", " << dx_2Cal <<
" Position " << xposCal <<
G4endl;
98 is >> nBox >> dy_2Box >> dx_2Box >> wallThickBox;
100 xposBox =
new double[nBox];
101 for (i=0; i<nBox; i++)
104 G4cout <<
tab <<
"Box material: " << boxMaterial <<
" Size " << dy_2Box
105 <<
", " << dx_2Box <<
" Wall Thickness " << wallThickBox <<
" number "
106 << nBox <<
" position ";
107 for (i=0; i<nBox; i++)
108 G4cout << i <<
" " << xposBox[i] <<
" ";
116 typeLayerScnt =
new int[nLayerScnt];
117 mothLayerScnt =
new int[nLayerScnt];
118 xposLayerScnt =
new double[nLayerScnt];
119 for (i=0; i<nLayerScnt; i++)
120 is >> typeLayerScnt[i] >> mothLayerScnt[i] >> xposLayerScnt[i];
122 G4cout <<
tab << nLayerScnt <<
" Layers of scintillators of type/mother box/"
124 for (i=0; i<nLayerScnt; i++)
125 G4cout <<
tab << i <<
" " << typeLayerScnt[i] <<
" " << mothLayerScnt[i]
126 <<
" " << xposLayerScnt[i] << G4endl;
132 typeLayerAbs =
new int[nLayerAbs];
133 mothLayerAbs =
new int[nLayerAbs];
134 xposLayerAbs =
new double[nLayerAbs];
135 for (i=0; i<nLayerAbs; i++)
136 is >> typeLayerAbs[i] >> mothLayerAbs[i] >> xposLayerAbs[i];
138 G4cout <<
tab << nLayerAbs <<
" Layers of absorbers of type/mother box/"
140 for (i=0; i<nLayerAbs; i++)
141 G4cout <<
tab << i <<
" " << typeLayerAbs[i] <<
" " << mothLayerAbs[i]
142 <<
" " << xposLayerAbs[i] << G4endl;
147 is >> nAbsorber >> dy_2Absorber;
148 dx_2Absorber =
new double[nAbsorber];
149 for (i=0; i<nAbsorber; i++)
150 is >> dx_2Absorber[i];
152 G4cout <<
"\tAbsorber mad of " << absMaterial <<
" with " << nAbsorber
153 <<
" types and size " << dy_2Absorber;
154 for (i=0; i<nAbsorber; i++)
155 G4cout <<
" " << i <<
" " << dx_2Absorber[i];
164 dy_2ScntLayer =
new double[nScintillator];
165 dx_2ScntLayer =
new double[nScintillator];
166 dx_2Wrapper =
new double[nScintillator];
167 dx_2FrontPlastic =
new double[nScintillator];
168 dx_2BackPlastic =
new double[nScintillator];
169 dx_2Scintillator =
new double[nScintillator];
170 for (i=0; i<nScintillator; i++)
171 is >> dy_2ScntLayer[i] >> dx_2ScntLayer[i] >> dx_2Wrapper[i]
172 >> dx_2FrontPlastic[i] >> dx_2BackPlastic[i] >> dx_2Scintillator[i];
174 G4cout <<
tab << nScintillator <<
" Scintillator layers made of "
175 << scntMaterial <<
" " << wrapMaterial <<
" and " << plasMaterial
176 <<
" of sizes " <<
G4endl;
177 for (i=0; i<nScintillator; i++)
178 G4cout <<
tab << i <<
" " << dy_2ScntLayer[i] <<
" " << dx_2ScntLayer[i]
179 <<
" " << dx_2Wrapper[i] <<
" " << dx_2FrontPlastic[i] <<
" "
180 << dx_2BackPlastic[i] <<
" " << dx_2Scintillator[i] << G4endl;
bool openGeomFile(std::ifstream &is, const G4String &pathname, const G4String &filename)
std::istream & jump(std::istream &)
std::ifstream & findDO(std::ifstream &, const G4String &)
std::ifstream & readName(std::ifstream &, G4String &)
G4GLOB_DLL std::ostream G4cout
std::ostream & tab(std::ostream &)
The documentation for this class was generated from the following files:
- source/geant4.10.03.p03/examples/advanced/composite_calorimeter/include/CCalHcal.hh
- source/geant4.10.03.p03/examples/advanced/composite_calorimeter/src/CCalHcal.cc