ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PassiveProtonBeamLine.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PassiveProtonBeamLine.hh
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 // Hadrontherapy advanced example for Geant4
27 // See more at: https://twiki.cern.ch/twiki/bin/view/Geant4/AdvancedExamplesHadrontherapy
28 
29 #ifndef PassiveProtonBeamLine_H
30 #define PassiveProtonBeamLine_H 1
31 
32 #include "globals.hh"
34 #include "G4Box.hh"
35 #include "G4Tubs.hh"
36 #include "G4VisAttributes.hh"
37 #include "G4LogicalVolume.hh"
38 
39 class G4VPhysicalVolume;
44 
46 {
47 public:
48 
51  // static G4bool doCalculation;
52 
54  //***************************** PW **************NON SERVE*************************
55 
57 
58  //***************************** PW **************NON SERVE*************************
59 
61  // Definition of the beam line support
62 
64  // Definition of the first scattering foil,
65  // of the Kapton window, of the stopper
66 
68  // This defines the "range shifter". Is is a slab
69  // (usually of PMMA" acting as energy degrader
70  // of primary beam
71 
73  // Definition of the first collimator, of the range shifter,
74  // of the second collimator, of the first and second
75  // collimator modulators
76 
78  // Definition of three monitor chambers
79 
81  // Construct the MOPI on-line detector
82 
84  // Definition of the beam noozle
85 
87  // Definition of the final collimator
88 
89  // The following methods allow to change parameters
90  // of some beam line components
91 
93  // This method allows to move the Range Shifter along
94  // the X axis
95 
96  void SetRangeShifterXSize(G4double halfSize);
97  // This method allows to change the size of the range shifter along
98  // the X axis
99 
101  // This method allows to change the size of the first scattering foil
102  // along the X axis
103 
105  // This method allows to change the size of the second scattering foil
106  // along the X axis
107 
109  // This method allows to change the size of the outer radius of the stopper
110 
112  // This method allows to change the size of the inner radius of the
113  // final collimator
114 
115  void SetRSMaterial(G4String);
116  // This method allows to change the material
117  // of the range shifter
118 
120  // This method allows moving the modulator through UI commands
121 
122 
123 private:
125  //passive proton line dimensions
126  void SetDefaultDimensions();
128 
129  HadrontherapyModulator* modulator; // Pointer to the modulator
130  // geometry component
134 
135 
137 
142 
147 
152 
161 
168 
175 
176 
183 
187 
197 
200 
203 
204  // MOPI Detector
205  // Mother volume
209 
216 
217  // First Kapton layer
227 
228  // First Aluminum layer
238 
239  // First Air Gap
249 
250  // Cathode
260 
262 
263  // First Air Gap
273 
274  // First Aluminum layer
284 
285  // Second Kapton layer
295 
298 
314 
324 
350 
355 
356 
358 
359 
360 };
361 #endif