BOSS 6.6.4.p03
BESIII Offline Software System
Loading...
Searching...
No Matches
BesTofConstruction.hh
Go to the documentation of this file.
1//---------------------------------------------------------------------------//
2// BOOST --- BESIII Object_Oriented Simulation Tool //
3//---------------------------------------------------------------------------//
4//Description:
5//Author: Dengzy
6//Created: Mar, 2004
7//Modified:
8//Comment:
9//---------------------------------------------------------------------------//
10//$ID: BesTofConstruction.hh
11
12#ifndef BesTofConstruction_h
13#define BesTofConstruction_h 1
14
15#include "BesSubdetector.hh"
16#include "G4VPhysicalVolume.hh"
17
18class G4LogicalVolume;
19
21{
22 public:
24 virtual ~BesTofConstruction();
25
26 public:
27 void Construct(G4LogicalVolume* logicalBes);
28 void ConstructBr1Tof();
29 void ConstructBr2Tof();
30 void ConstructEcTof();
32 void DefineMaterial();
33 void getXYZ( const G4RotationMatrix r, double& a, double& b, double& c) const;
34 private:
35 G4LogicalVolume* logicalTof;
36 G4VPhysicalVolume* physicalTof;
37
38 G4LogicalVolume* logicalBrTof;
39 G4LogicalVolume* logicalEcTofWest;
40 G4LogicalVolume* logicalEcTofEast;
41
42 //scintillator
43 G4LogicalVolume* logicalScinBr1;
44 G4LogicalVolume* logicalScinBr2;
45 G4VPhysicalVolume* physicalScinBr1;
46 G4VPhysicalVolume* physicalScinBr2;
47
48 //casing material
49 G4LogicalVolume* logicalAlBr1;
50 G4LogicalVolume* logicalAlBr2;
51 G4VPhysicalVolume* physicalAlBr1;
52 G4VPhysicalVolume* physicalAlBr2;
53
54 G4LogicalVolume* logicalPVFBr1;
55 G4LogicalVolume* logicalPVFBr2;
56 G4VPhysicalVolume* physicalPVFBr1;
57 G4VPhysicalVolume* physicalPVFBr2;
58
59 //bucket
60 G4LogicalVolume* logicalBucketBr1;
61 G4LogicalVolume* logicalBucketBr2;
62 G4VPhysicalVolume* physicalBucket1Br1;
63 G4VPhysicalVolume* physicalBucket2Br1;
64 G4VPhysicalVolume* physicalBucket1Br2;
65 G4VPhysicalVolume* physicalBucket2Br2;
66
67 G4LogicalVolume* logicalScinEcWest;
68 G4LogicalVolume* logicalScinEcEast;
69 G4VPhysicalVolume* physicalScinEcWest;
70 G4VPhysicalVolume* physicalScinEcEast;
71
72 G4LogicalVolume* logicalAlEcWest;
73 G4LogicalVolume* logicalAlEcEast;
74 G4VPhysicalVolume* physicalAlEcWest;
75 G4VPhysicalVolume* physicalAlEcEast;
76
77 G4LogicalVolume* logicalPVFEcWest;
78 G4LogicalVolume* logicalPVFEcEast;
79 G4VPhysicalVolume* physicalPVFEcWest;
80 G4VPhysicalVolume* physicalPVFEcEast;
81
82 G4LogicalVolume* logicalBucketEc;
83 G4VPhysicalVolume* physicalBucketEc;
84
85 G4Material* BC404;
86 G4Material* BC408;
87 G4Material* PVF;
88 G4Material* PMTmaterial;
89
90
91 G4LogicalVolume* logical_assembly_west_1;
92 G4LogicalVolume* logical_pcboard_west_1;
93 G4LogicalVolume* logical_sensitive_detector_west_1;
94 G4LogicalVolume* logical_electrodes_west_1;
95 G4LogicalVolume* logical_glass_layer_west_1;
96 G4LogicalVolume* logical_readoutstrips_012_west_1;
97 G4LogicalVolume* logical_honeycomb_west_1;
98 G4LogicalVolume* logical_gascontainer_3_west_1;
99 G4LogicalVolume* logical_gaslayer_tot_west_1;
100 G4LogicalVolume* logical_mylarlayer_west_1;
101
102 G4LogicalVolume* logical_assembly_west_2;
103 G4LogicalVolume* logical_pcboard_west_2;
104 G4LogicalVolume* logical_sensitive_detector_west_2;
105 G4LogicalVolume* logical_electrodes_west_2;
106 G4LogicalVolume* logical_glass_layer_west_2;
107 G4LogicalVolume* logical_readoutstrips_012_west_2;
108 G4LogicalVolume* logical_honeycomb_west_2;
109 G4LogicalVolume* logical_gascontainer_3_west_2;
110 G4LogicalVolume* logical_gaslayer_tot_west_2;
111 G4LogicalVolume* logical_mylarlayer_west_2;
112
113
114
115 G4LogicalVolume* logical_assembly_east_1;
116 G4LogicalVolume* logical_pcboard_east_1;
117 G4LogicalVolume* logical_sensitive_detector_east_1;
118 G4LogicalVolume* logical_electrodes_east_1;
119 G4LogicalVolume* logical_glass_layer_east_1;
120 G4LogicalVolume* logical_readoutstrips_012_east_1;
121 G4LogicalVolume* logical_honeycomb_east_1;
122 G4LogicalVolume* logical_gascontainer_3_east_1;
123 G4LogicalVolume* logical_gaslayer_tot_east_1;
124 G4LogicalVolume* logical_mylarlayer_east_1;
125
126
127
128 G4LogicalVolume* logical_assembly_east_2;
129 G4LogicalVolume* logical_pcboard_east_2;
130 G4LogicalVolume* logical_sensitive_detector_east_2;
131 G4LogicalVolume* logical_electrodes_east_2;
132 G4LogicalVolume* logical_glass_layer_east_2;
133 G4LogicalVolume* logical_readoutstrips_012_east_2;
134 G4LogicalVolume* logical_honeycomb_east_2;
135 G4LogicalVolume* logical_gascontainer_3_east_2;
136 G4LogicalVolume* logical_gaslayer_tot_east_2;
137 G4LogicalVolume* logical_mylarlayer_east_2;
138
139
140
141 G4VPhysicalVolume* physical_pcboard_east_1;
142 G4VPhysicalVolume* physical_sensitive_detector_east_1;
143 G4VPhysicalVolume* physical_glass_layer_east_1;
144 G4VPhysicalVolume* physical_electrodes_east_1;
145 G4VPhysicalVolume* physical_readoutstrips_012_east_1;
146 G4VPhysicalVolume* physical_honeycomb_1_east_1;
147 G4VPhysicalVolume* physical_honeycomb_2_east_1;
148 G4VPhysicalVolume* physical_gascontainer_3_east_1;
149 G4VPhysicalVolume* physical_gaslayer_tot_east_1;
150 G4VPhysicalVolume* physical_mylarlayer_east_1;
151
152
153
154
155 G4VPhysicalVolume* physical_pcboard_east_2;
156 G4VPhysicalVolume* physical_sensitive_detector_east_2;
157 G4VPhysicalVolume* physical_glass_layer_east_2;
158 G4VPhysicalVolume* physical_electrodes_east_2;
159 G4VPhysicalVolume* physical_readoutstrips_012_east_2;
160 G4VPhysicalVolume* physical_honeycomb_1_east_2;
161 G4VPhysicalVolume* physical_honeycomb_2_east_2;
162 G4VPhysicalVolume* physical_gascontainer_3_east_2;
163 G4VPhysicalVolume* physical_gaslayer_tot_east_2;
164 G4VPhysicalVolume* physical_mylarlayer_east_2;
165
166 G4VPhysicalVolume* physical_pcboard_west_1;
167 G4VPhysicalVolume* physical_sensitive_detector_west_1;
168 G4VPhysicalVolume* physical_glass_layer_west_1;
169 G4VPhysicalVolume* physical_electrodes_west_1;
170 G4VPhysicalVolume* physical_readoutstrips_012_west_1;
171 G4VPhysicalVolume* physical_honeycomb_1_west_1;
172 G4VPhysicalVolume* physical_honeycomb_2_west_1;
173 G4VPhysicalVolume* physical_gascontainer_3_west_1;
174 G4VPhysicalVolume* physical_gaslayer_tot_west_1;
175 G4VPhysicalVolume* physical_mylarlayer_west_1;
176
177 G4VPhysicalVolume* physical_pcboard_west_2;
178 G4VPhysicalVolume* physical_sensitive_detector_west_2;
179 G4VPhysicalVolume* physical_glass_layer_west_2;
180 G4VPhysicalVolume* physical_electrodes_west_2;
181 G4VPhysicalVolume* physical_readoutstrips_012_west_2;
182 G4VPhysicalVolume* physical_honeycomb_1_west_2;
183 G4VPhysicalVolume* physical_honeycomb_2_west_2;
184 G4VPhysicalVolume* physical_gascontainer_3_west_2;
185 G4VPhysicalVolume* physical_gaslayer_tot_west_2;
186 G4VPhysicalVolume* physical_mylarlayer_west_2;
187
188
189
190 G4VPhysicalVolume* physical_assembly_west_1;
191 G4VPhysicalVolume* physical_assembly_west_2;
192 G4VPhysicalVolume* physical_assembly_east_1;
193 G4VPhysicalVolume* physical_assembly_east_2;
194
195 //Materials
196 G4Material* FreonR134A;
197 G4Material* SF6;
198 G4Material* Isobutan;
199 G4Material* Mylar_1397;
200 G4Material* Mylar_073;
201 G4Material* MRPCGas;
202 G4Material* Carbonfiber;
203 G4Material* Graphite;
204
205
206
207 G4ProductionCuts *fMrpcGasDetectorCuts;
208
209};
210
211#endif
212
213
void getXYZ(const G4RotationMatrix r, double &a, double &b, double &c) const
void Construct(G4LogicalVolume *logicalBes)