FDsimG4CameraSupport.cc
Go to the documentation of this file.
2 
3 #include "G4UnitsTable.hh"
4 #include "G4OpticalSurface.hh"
5 #include "G4LogicalBorderSurface.hh"
6 #include "G4LogicalSkinSurface.hh"
7 #include "G4Material.hh"
8 #include "G4MaterialTable.hh"
9 #include "G4Cons.hh"
10 #include "G4Sphere.hh"
11 #include "G4LogicalVolume.hh"
12 #include "G4ThreeVector.hh"
13 #include "G4VisAttributes.hh"
14 
15 using namespace TelescopeSimulatorLX ;
16 
17 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
18 
20 
21  Thickness = 60.0*mm ;
22  InRadius = OuRad-Thickness;
23  // InRadius = 1641.0*mm ;
24 
25  Hside=930*mm;
26  Vside=860*mm;
27 
28  G4double Dphi =asin(Hside/InRadius);
29  G4double Dtheta=asin(Vside/InRadius);
30 
31  fThetaMin = (pi/2.-Dtheta/2.) ;
32  fThetaMax = Dtheta ;
33  fPhiMin = pi/2.-Dphi/2. ;
34  fPhiMax = Dphi ;
35 
36  CameraSupportMaterial = G4Material::GetMaterial("Aluminum");
38  // CheckParameters() ;
39 
40 }
41 
42 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
44 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
45 
46 
47 // void FDsimG4CameraSupport::CheckParameters(){
48 
49 // if (pitchAtZ2 < pixelSizeAtZ2 && NumOfPixels > 1)
50 // {
51 // DumpInfo() ;
52 // G4Exception("Error in FDsimG4Mercedes parameters: pitch at Z2 is smaller than pixel size !!!");
53 // }
54 
55 
56 // if (!MercedesMaterial)
57 // {
58 // G4Exception("Error in FDsimG4Mercedes constructor: G4Material of Mercedes not specified !!!");
59 // }
60 
61 // }
62 
63 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
64 
66 
67  G4cerr << " ================================================================ " << G4endl ;
68  G4cerr << " = CameraSupport parameters " << G4endl ;
69  G4cerr << " = " << G4endl ;
70  G4cerr << " = Material : " << CameraSupportMaterial->GetName() << G4endl ;
71  G4cerr << " = " << G4endl ;
72  G4cerr << " ================================================================ " << G4endl ;
73 
74 }
75 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
77 
78  // Build Sphere
79  //--__--__--__--__--__--__--__--__--__--__--__--__--__--__--__--__--__--__--__--__
80 
81  G4Sphere * CameraSupport =
82  new G4Sphere("sphere",InRadius,InRadius+Thickness,fThetaMin,fThetaMax,fPhiMin,fPhiMax) ;
83 
84  //--__--__--__--__--__--__--__--__--__--__--__--__--__--__--__--__--__--__--__--__
85 
86  CameraSupport_log = new G4LogicalVolume(CameraSupport,(G4Material *)CameraSupportMaterial,"CameraSupport",0,0,0);
87 
88  // CameraSupport_log->SetVisAttributes(new G4VisAttributes(gray)) ;
89 
90  // define camera - air optical surface
91 
92  G4OpticalSurface * OpticalAirCameraSupport= new G4OpticalSurface("CameraSupportSurface");
93  OpticalAirCameraSupport->SetModel(unified);
94  OpticalAirCameraSupport->SetType(dielectric_metal);
95 
96  G4MaterialPropertiesTable *CameraSupportMPT = new G4MaterialPropertiesTable();
97  CameraSupportMPT->AddProperty("REFLECTIVITY", new G4MaterialPropertyVector()) ;
98  CameraSupportMPT->AddEntry("REFLECTIVITY", 0.0*eV,0.);
99  CameraSupportMPT->AddEntry("REFLECTIVITY",10.0*eV,0.);
100 
101  OpticalAirCameraSupport->SetMaterialPropertiesTable(CameraSupportMPT) ;
102 
103  new G4LogicalSkinSurface("CameraSupportSurface",CameraSupport_log,OpticalAirCameraSupport);
104 }
105 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
const double eV
Definition: GalacticUnits.h:35
constexpr double mm
Definition: AugerUnits.h:113

, generated on Tue Sep 26 2023.