ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HadrontherapyTIFPAPassiveProtonBeamLine.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file HadrontherapyTIFPAPassiveProtonBeamLine.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 TrentoPassiveProtonBeamLine_H
30 #define TrentoPassiveProtonBeamLine_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 
49  //TrentoPassiveProtonBeamLine(G4VPhysicalVolume*);
52  // static G4bool doCalculation;
53 
55  //
57 
58  //
60  // Definition of the beam line support
61 
63  //Definition of the monitor chamber
64 
66  // Definition of the first scattering foil made of tantalum
67 
69  // Definition of the pre collimator made of plastic
70  // and the collimator in front of the detector
71 
73  // The following methods allow to change parameters
74  // of some beam line components (through Messenger files)
75 
77  // This method allows to change the size of the scattering foil
78  // along the X axis
79 
81  // This method allows to change the size of the pre collimator along
82  // the Z axis
83 
85  // This method allows to change the position of the pre collimator along
86  // the X axis
87 
89  // This method allows to change the y side of
90  // air tube
91 
93  // This method allows to change the z side of
94  // the air tube
95 
97  // This method permit to change
98  //the material of scatterer
99 
100 private:
102  //passive proton line dimensions
103  void SetDefaultDimensions();
105 
106  // geometry component
111 
112 
114 
121 
126 
129 
133 
136 
141 
145 
147 
150 
153 
156 
160 
170 
186 
188 
189 
190 };
191 #endif