Geant4  9.6.p02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HadrontherapyModulator.hh
Go to the documentation of this file.
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 // This is the *BASIC* version of Hadrontherapy, a Geant4-based application
27 // See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy
28 //
29 // Visit the Hadrontherapy web site (http://www.lns.infn.it/link/Hadrontherapy) to request
30 // the *COMPLETE* version of this program, together with its documentation;
31 // Hadrontherapy (both basic and full version) are supported by the Italian INFN
32 // Institute in the framework of the MC-INFN Group
33 //
34 
35 #ifndef HadrontherapyModulator_H
36 #define HadrontherapyModulator_H 1
37 
38 class G4Tubs;
39 class G4LogicalVolume;
40 class G4VPhysicalVolume;
41 
42 
44 {
45 public:
46 
49 
52 
53 private:
54 
55  G4RotationMatrix* rm;
56  G4VPhysicalVolume* physiMotherMod;
57 
58  G4Tubs* solidMod0;
59  G4LogicalVolume* logicMod0;
60  G4VPhysicalVolume* physiMod0;
61 
62 
63  G4Tubs* solidMod1;
64  G4LogicalVolume* logicMod1;
65  G4VPhysicalVolume* physiMod1;
66 
67  G4Tubs* solidMod2;
68  G4LogicalVolume* logicMod2;
69  G4VPhysicalVolume* physiMod2;
70 
71  G4Tubs* solidMod3;
72  G4LogicalVolume* logicMod3;
73  G4VPhysicalVolume* physiMod3;
74 
75  G4Tubs* solidMod4;
76  G4LogicalVolume* logicMod4;
77  G4VPhysicalVolume* physiMod4;
78 
79  G4Tubs* solidMod5;
80  G4LogicalVolume* logicMod5;
81  G4VPhysicalVolume* physiMod5;
82 
83  G4Tubs* solidMod6;
84  G4LogicalVolume* logicMod6;
85  G4VPhysicalVolume* physiMod6;
86 
87  G4Tubs* solidMod7;
88  G4LogicalVolume* logicMod7;
89  G4VPhysicalVolume* physiMod7;
90 
91  G4Tubs* solidMod8;
92  G4LogicalVolume* logicMod8;
93  G4VPhysicalVolume* physiMod8;
94 
95  G4Tubs* solidMod9;
96  G4LogicalVolume* logicMod9;
97  G4VPhysicalVolume* physiMod9;
98 
99  G4Tubs* solidMod10;
100  G4LogicalVolume* logicMod10;
101  G4VPhysicalVolume* physiMod10;
102 
103  G4Tubs* solidMod11;
104  G4LogicalVolume* logicMod11;
105  G4VPhysicalVolume* physiMod11;
106 
107  G4Tubs* solidMod12;
108  G4LogicalVolume* logicMod12;
109  G4VPhysicalVolume* physiMod12;
110 
111  G4Tubs* solidMod13;
112  G4LogicalVolume* logicMod13;
113  G4VPhysicalVolume* physiMod13;
114 
115  G4Tubs* solidMod14;
116  G4LogicalVolume* logicMod14;
117  G4VPhysicalVolume* physiMod14;
118 
119  G4Tubs* solidMod15;
120  G4LogicalVolume* logicMod15;
121  G4VPhysicalVolume* physiMod15;
122 
123  G4Tubs* solidMod16;
124  G4LogicalVolume* logicMod16;
125  G4VPhysicalVolume* physiMod16;
126 
127  G4Tubs* solidMod17;
128  G4LogicalVolume* logicMod17;
129  G4VPhysicalVolume* physiMod17;
130 
131  G4Tubs* solidMod18;
132  G4LogicalVolume* logicMod18;
133  G4VPhysicalVolume* physiMod18;
134 
135  G4Tubs* solidMod20;
136  G4LogicalVolume* logicMod20;
137  G4VPhysicalVolume* physiMod20;
138 
139  G4Tubs* solidMod21;
140  G4LogicalVolume* logicMod21;
141  G4VPhysicalVolume* physiMod21;
142 
143  G4Tubs* solidMod22;
144  G4LogicalVolume* logicMod22;
145  G4VPhysicalVolume* physiMod22;
146 
147  G4Tubs* solidMod23;
148  G4LogicalVolume* logicMod23;
149  G4VPhysicalVolume* physiMod23;
150 
151  G4Tubs* solidMod24;
152  G4LogicalVolume* logicMod24;
153  G4VPhysicalVolume* physiMod24;
154 
155  G4Tubs* solidMod25;
156  G4LogicalVolume* logicMod25;
157  G4VPhysicalVolume* physiMod25;
158 
159  G4Tubs* solidMod26;
160  G4LogicalVolume* logicMod26;
161  G4VPhysicalVolume* physiMod26;
162 
163  G4Tubs* solidMod27;
164  G4LogicalVolume* logicMod27;
165  G4VPhysicalVolume* physiMod27;
166 
167  G4Tubs* solidMod28;
168  G4LogicalVolume* logicMod28;
169  G4VPhysicalVolume* physiMod28;
170 
171  G4Tubs* solidMod29;
172  G4LogicalVolume* logicMod29;
173  G4VPhysicalVolume* physiMod29;
174 
175  G4Tubs* solidMod30;
176  G4LogicalVolume* logicMod30;
177  G4VPhysicalVolume* physiMod30;
178 
179  G4Tubs* solidMod31;
180  G4LogicalVolume* logicMod31;
181  G4VPhysicalVolume* physiMod31;
182 
183  G4Tubs* solidMod32;
184  G4LogicalVolume* logicMod32;
185  G4VPhysicalVolume* physiMod32;
186 
187  G4Tubs* solidMod33;
188  G4LogicalVolume* logicMod33;
189  G4VPhysicalVolume* physiMod33;
190 
191  G4Tubs* solidMod34;
192  G4LogicalVolume* logicMod34;
193  G4VPhysicalVolume* physiMod34;
194 
195  G4Tubs* solidMod35;
196  G4LogicalVolume* logicMod35;
197  G4VPhysicalVolume* physiMod35;
198 
199  G4Tubs* solidMod36;
200  G4LogicalVolume* logicMod36;
201  G4VPhysicalVolume* physiMod36;
202 
203  G4Tubs* solidMod37;
204  G4LogicalVolume* logicMod37;
205  G4VPhysicalVolume* physiMod37;
206 
207  G4Tubs* solidMod38;
208  G4LogicalVolume* logicMod38;
209  G4VPhysicalVolume* physiMod38;
210 
211 
212  G4Tubs* solidMod40; // pointer to the
213  G4LogicalVolume* logicMod40;
214  G4VPhysicalVolume* physiMod40;
215 
216  G4Tubs* solidMod41;
217  G4LogicalVolume* logicMod41;
218  G4VPhysicalVolume* physiMod41;
219 
220  G4Tubs* solidMod42;
221  G4LogicalVolume* logicMod42;
222  G4VPhysicalVolume* physiMod42;
223 
224  G4Tubs* solidMod43;
225  G4LogicalVolume* logicMod43;
226  G4VPhysicalVolume* physiMod43;
227 
228  G4Tubs* solidMod44;
229  G4LogicalVolume* logicMod44;
230  G4VPhysicalVolume* physiMod44;
231 
232  G4Tubs* solidMod45;
233  G4LogicalVolume* logicMod45;
234  G4VPhysicalVolume* physiMod45;
235 
236  G4Tubs* solidMod46;
237  G4LogicalVolume* logicMod46;
238  G4VPhysicalVolume* physiMod46;
239 
240  G4Tubs* solidMod47;
241  G4LogicalVolume* logicMod47;
242  G4VPhysicalVolume* physiMod47;
243 
244  G4Tubs* solidMod48;
245  G4LogicalVolume* logicMod48;
246  G4VPhysicalVolume* physiMod48;
247 
248  G4Tubs* solidMod49;
249  G4LogicalVolume* logicMod49;
250  G4VPhysicalVolume* physiMod49;
251 
252  G4Tubs* solidMod50;
253  G4LogicalVolume* logicMod50;
254  G4VPhysicalVolume* physiMod50;
255 
256  G4Tubs* solidMod51;
257  G4LogicalVolume* logicMod51;
258  G4VPhysicalVolume* physiMod51;
259 
260  G4Tubs* solidMod52;
261  G4LogicalVolume* logicMod52;
262  G4VPhysicalVolume* physiMod52;
263 
264  G4Tubs* solidMod53;
265  G4LogicalVolume* logicMod53;
266  G4VPhysicalVolume* physiMod53;
267 
268  G4Tubs* solidMod54;
269  G4LogicalVolume* logicMod54;
270  G4VPhysicalVolume* physiMod54;
271 
272  G4Tubs* solidMod55;
273  G4LogicalVolume* logicMod55;
274  G4VPhysicalVolume* physiMod55;
275 
276  G4Tubs* solidMod56;
277  G4LogicalVolume* logicMod56;
278  G4VPhysicalVolume* physiMod56;
279 
280  G4Tubs* solidMod57;
281  G4LogicalVolume* logicMod57;
282  G4VPhysicalVolume* physiMod57;
283 
284  G4Tubs* solidMod58;
285  G4LogicalVolume* logicMod58;
286  G4VPhysicalVolume* physiMod58;
287 
288  G4Tubs* solidMod60;
289  G4LogicalVolume* logicMod60;
290  G4VPhysicalVolume* physiMod60;
291 
292  G4Tubs* solidMod61;
293  G4LogicalVolume* logicMod61;
294  G4VPhysicalVolume* physiMod61;
295 
296  G4Tubs* solidMod62;
297  G4LogicalVolume* logicMod62;
298  G4VPhysicalVolume* physiMod62;
299 
300  G4Tubs* solidMod63;
301  G4LogicalVolume* logicMod63;
302  G4VPhysicalVolume* physiMod63;
303 
304  G4Tubs* solidMod64;
305  G4LogicalVolume* logicMod64;
306  G4VPhysicalVolume* physiMod64;
307 
308  G4Tubs* solidMod65;
309  G4LogicalVolume* logicMod65;
310  G4VPhysicalVolume* physiMod65;
311 
312  G4Tubs* solidMod66;
313  G4LogicalVolume* logicMod66;
314  G4VPhysicalVolume* physiMod66;
315 
316  G4Tubs* solidMod67;
317  G4LogicalVolume* logicMod67;
318  G4VPhysicalVolume* physiMod67;
319 
320  G4Tubs* solidMod68;
321  G4LogicalVolume* logicMod68;
322  G4VPhysicalVolume* physiMod68;
323 
324  G4Tubs* solidMod69;
325  G4LogicalVolume* logicMod69;
326  G4VPhysicalVolume* physiMod69;
327 
328  G4Tubs* solidMod70;
329  G4LogicalVolume* logicMod70;
330  G4VPhysicalVolume* physiMod70;
331 
332  G4Tubs* solidMod71;
333  G4LogicalVolume* logicMod71;
334  G4VPhysicalVolume* physiMod71;
335 
336  G4Tubs* solidMod72;
337  G4LogicalVolume* logicMod72;
338  G4VPhysicalVolume* physiMod72;
339 
340  G4Tubs* solidMod73;
341  G4LogicalVolume* logicMod73;
342  G4VPhysicalVolume* physiMod73;
343 
344  G4Tubs* solidMod74;
345  G4LogicalVolume* logicMod74;
346  G4VPhysicalVolume* physiMod74;
347 
348  G4Tubs* solidMod75;
349  G4LogicalVolume* logicMod75;
350  G4VPhysicalVolume* physiMod75;
351 
352  G4Tubs* solidMod76;
353  G4LogicalVolume* logicMod76;
354  G4VPhysicalVolume* physiMod76;
355 
356  G4Tubs* solidMod77;
357  G4LogicalVolume* logicMod77;
358  G4VPhysicalVolume* physiMod77;
359 
360  G4Tubs* solidMod78;
361  G4LogicalVolume* logicMod78;
362  G4VPhysicalVolume* physiMod78;
363 
364 };
365 #endif