source: trunk/examples/advanced/composite_calorimeter/include/CCalHcal.hh@ 1230

Last change on this file since 1230 was 807, checked in by garnier, 17 years ago

update

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