ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
LaserDrivenBeamLine.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file LaserDrivenBeamLine.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 LaserDrivenBeamLine_H
30 #define LaserDrivenBeamLine_H 1
31 
32 #include "globals.hh"
34 #include "G4Box.hh"
35 #include "G4Tubs.hh"
36 #include "G4Sphere.hh"
37 #include "G4VisAttributes.hh"
38 #include "G4LogicalVolume.hh"
39 
40 class G4VPhysicalVolume;
43 class G4Mag_UsualEqRhs;
45 class G4ChordFinder;
46 class G4UniformMagField;
47 class G4MagInt_Driver;
49 //class G4TransportationManager;
50 class G4FieldManager;
51 class G4MagneticField;
54 
56 
57 
59 {
60 public:
61 
64 
66  void ConstructSDandField();
67 
68  void RemoveESS();
75  void SetThicknessSlit(G4double value);
76  void SetSlitHoleDimensionY(G4double value);
77  void SetSlitHoleDimensionZ(G4double value);
78  void SetSlitHolePositionZ(G4double value);
79  void RemoveQuads();
80 
81 private:
82  void SetDefaultDimensions();
84  void EnergySelectorChamber();
85  void Collimator();
86  void Magnet_1();
87  void Magnet_2();
88  void Magnet_3();
89  void Magnet_4();
90  void Slit();
91  void FinalCollimator();
92  void ExitPipe();
93  void ExitWindow();
94  void Exithole();
95  void Entrancehole();
96  void EntrancePipe();
97  void Quadrupole();
98  void FaradayCup();
99 
102 
104 
105  // Variables definition for the World
106  // (called treatment room)
110 
111  // Variables definition for the triplet of quadrupoles
113 
120 
142 
146 
150 
151  // Variables definition for the vacuum chamber containing
152  // the spectrometer
155 
159 
163 
165 
173 
178 
182 
189 
193 
200 
204 
214 
225 
229 
237 
245 
249 
250  // Variables definition of the collimator
253 
256 
259 
262 
265 
268 
271 
274 
277 
281 
285 
289 
292  // Variables definition of the final collimator
293 
296 
299 
302 
305 
308 
311 
314 
317 
321 
325 
329 
333 
336 
338 
340 
341 
342  // Variables definition of the magnetic component
344 
346 
356 
361 
366 
371 
376 
381 
386 
390 
394 
395 
399 
403 
407 
411 
415 
419 
423 
427 
431 
435 
439 
443 
447 
451 
456 
460 
464 
468 
472 
476 
480 
484 
488 
492 
496 
498 
499 
505 
509 
514 
518 
522 
526 
530 
534 
538 
542 
546 
550 
554 
555  // Colours
566 };
567 #endif