12#ifndef BesTofConstruction_h
13#define BesTofConstruction_h 1
15#include "BesSubdetector.hh"
16#include "G4VPhysicalVolume.hh"
33 void getXYZ(
const G4RotationMatrix r,
double& a,
double& b,
double& c)
const;
35 G4LogicalVolume* logicalTof;
36 G4VPhysicalVolume* physicalTof;
38 G4LogicalVolume* logicalBrTof;
39 G4LogicalVolume* logicalEcTofWest;
40 G4LogicalVolume* logicalEcTofEast;
43 G4LogicalVolume* logicalScinBr1;
44 G4LogicalVolume* logicalScinBr2;
45 G4VPhysicalVolume* physicalScinBr1;
46 G4VPhysicalVolume* physicalScinBr2;
49 G4LogicalVolume* logicalAlBr1;
50 G4LogicalVolume* logicalAlBr2;
51 G4VPhysicalVolume* physicalAlBr1;
52 G4VPhysicalVolume* physicalAlBr2;
54 G4LogicalVolume* logicalPVFBr1;
55 G4LogicalVolume* logicalPVFBr2;
56 G4VPhysicalVolume* physicalPVFBr1;
57 G4VPhysicalVolume* physicalPVFBr2;
60 G4LogicalVolume* logicalBucketBr1;
61 G4LogicalVolume* logicalBucketBr2;
62 G4VPhysicalVolume* physicalBucket1Br1;
63 G4VPhysicalVolume* physicalBucket2Br1;
64 G4VPhysicalVolume* physicalBucket1Br2;
65 G4VPhysicalVolume* physicalBucket2Br2;
67 G4LogicalVolume* logicalScinEcWest;
68 G4LogicalVolume* logicalScinEcEast;
69 G4VPhysicalVolume* physicalScinEcWest;
70 G4VPhysicalVolume* physicalScinEcEast;
72 G4LogicalVolume* logicalAlEcWest;
73 G4LogicalVolume* logicalAlEcEast;
74 G4VPhysicalVolume* physicalAlEcWest;
75 G4VPhysicalVolume* physicalAlEcEast;
77 G4LogicalVolume* logicalPVFEcWest;
78 G4LogicalVolume* logicalPVFEcEast;
79 G4VPhysicalVolume* physicalPVFEcWest;
80 G4VPhysicalVolume* physicalPVFEcEast;
82 G4LogicalVolume* logicalBucketEc;
83 G4VPhysicalVolume* physicalBucketEc;
88 G4Material* PMTmaterial;
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;
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;
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;
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;
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;
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;
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;
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;
190 G4VPhysicalVolume* physical_assembly_west_1;
191 G4VPhysicalVolume* physical_assembly_west_2;
192 G4VPhysicalVolume* physical_assembly_east_1;
193 G4VPhysicalVolume* physical_assembly_east_2;
196 G4Material* FreonR134A;
198 G4Material* Isobutan;
199 G4Material* Mylar_1397;
200 G4Material* Mylar_073;
202 G4Material* Carbonfiber;
203 G4Material* Graphite;
207 G4ProductionCuts *fMrpcGasDetectorCuts;
virtual ~BesTofConstruction()
void ConstructEcTof_mrpc()
void getXYZ(const G4RotationMatrix r, double &a, double &b, double &c) const
void Construct(G4LogicalVolume *logicalBes)