#include <WLSDetectorConstruction.hh>
Definition at line 60 of file WLSDetectorConstruction.hh.
WLSDetectorConstruction::WLSDetectorConstruction |
( |
| ) |
|
Definition at line 68 of file WLSDetectorConstruction.cc.
69 : fMaterials(NULL), fLogicHole(NULL), fLogicWorld(NULL),
70 fPhysiWorld(NULL), fPhysiHole(NULL)
76 fSurfaceRoughness = 1;
80 fMirrorReflectivity = 1.;
83 fMPPCReflectivity = 0.;
85 fExtrusionPolish = 1.;
86 fExtrusionReflectivity = 1.;
92 fWLSfiberOrigin = 0.0;
94 fMPPCShape =
"Circle";
95 fMPPCHalfL = fWLSfiberRY;
100 fClrfiberZ = fMPPCZ + 10.*
nm;
105 fHoleRadius = 0.9*
mm;
106 fHoleLength = fBarLength;
107 fCoatingThickness = 0.25*
mm;
108 fCoatingRadius = 1.875*
mm;
static constexpr double mm
static constexpr double m
static constexpr double nm
static constexpr double deg
WLSDetectorConstruction::~WLSDetectorConstruction |
( |
| ) |
|
|
virtual |
Definition at line 113 of file WLSDetectorConstruction.cc.
115 if (fDetectorMessenger)
delete fDetectorMessenger;
116 if (fMaterials)
delete fMaterials;
Implements G4VUserDetectorConstruction.
Definition at line 121 of file WLSDetectorConstruction.cc.
134 UpdateGeometryParameters();
static void CleanSurfaceTable()
static G4PhysicalVolumeStore * GetInstance()
static void CleanSurfaceTable()
static G4LogicalVolumeStore * GetInstance()
static G4SolidStore * GetInstance()
static G4GeometryManager * GetInstance()
void OpenGeometry(G4VPhysicalVolume *vol=0)
static WLSMaterials * GetInstance()
G4VPhysicalVolume * ConstructDetector()
Definition at line 141 of file WLSDetectorConstruction.cc.
148 new G4Box(
"World", fWorldSizeX, fWorldSizeY, fWorldSizeZ);
186 G4double refl_TiO2[] = {fExtrusionReflectivity,fExtrusionReflectivity};
187 assert(
sizeof(refl_TiO2) ==
sizeof(p_TiO2));
189 assert(
sizeof(effi_TiO2) ==
sizeof(p_TiO2));
191 TiO2SurfaceProperty -> AddProperty(
"REFLECTIVITY",p_TiO2,refl_TiO2,nbins);
192 TiO2SurfaceProperty -> AddProperty(
"EFFICIENCY",p_TiO2,effi_TiO2,nbins);
194 TiO2Surface -> SetMaterialPropertiesTable(TiO2SurfaceProperty);
static constexpr double mm
G4double GetCoatingRadius()
CLHEP::Hep3Vector G4ThreeVector
CLHEP::HepRotation G4RotationMatrix
HepRotation inverse() const
static G4RotationMatrix StringToRotationMatrix(G4String rotation)
static constexpr double cm
static constexpr double eV
G4double GetCoatingThickness()
G4double GetFiberRadius()
G4Material * FindMaterial(G4String)
static constexpr double deg
void WLSDetectorConstruction::ConstructSDandField |
( |
| ) |
|
|
virtual |
Reimplemented from G4VUserDetectorConstruction.
Definition at line 691 of file WLSDetectorConstruction.cc.
693 if (!fmppcSD.
Get()) {
694 G4String mppcSDName =
"WLS/PhotonDet";
void SetSensitiveDetector(const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
void AddNewDetector(G4VSensitiveDetector *aSD)
static G4SDManager * GetSDMpointer()
void Put(const value_type &val) const
G4double WLSDetectorConstruction::GetBarBase |
( |
| ) |
|
G4double WLSDetectorConstruction::GetBarLength |
( |
| ) |
|
G4double WLSDetectorConstruction::GetCoatingRadius |
( |
| ) |
|
G4double WLSDetectorConstruction::GetCoatingThickness |
( |
| ) |
|
G4double WLSDetectorConstruction::GetFiberRadius |
( |
| ) |
|
G4double WLSDetectorConstruction::GetHoleLength |
( |
| ) |
|
G4double WLSDetectorConstruction::GetHoleRadius |
( |
| ) |
|
G4double WLSDetectorConstruction::GetSurfaceRoughness |
( |
| ) |
|
G4double WLSDetectorConstruction::GetWLSFiberEnd |
( |
| ) |
|
G4double WLSDetectorConstruction::GetWLSFiberLength |
( |
| ) |
|
G4double WLSDetectorConstruction::GetWLSFiberRMax |
( |
| ) |
|
Definition at line 1034 of file WLSDetectorConstruction.cc.
1036 if (fNumOfCladLayers == 2)
return fClad2RY;
1037 if (fNumOfCladLayers == 1)
return fClad1RY;
G4bool WLSDetectorConstruction::IsPerfectFiber |
( |
| ) |
|
Definition at line 1051 of file WLSDetectorConstruction.cc.
1053 return fSurfaceRoughness == 1. && fXYRatio == 1.
1054 && (!fMirrorToggle ||
1055 (fMirrorPolish == 1. && fMirrorReflectivity == 1.));
Definition at line 958 of file WLSDetectorConstruction.cc.
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
void WLSDetectorConstruction::SetBarLength |
( |
G4double |
length | ) |
|
Definition at line 949 of file WLSDetectorConstruction.cc.
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
void WLSDetectorConstruction::SetClad1Radius |
( |
G4double |
radius | ) |
|
Definition at line 830 of file WLSDetectorConstruction.cc.
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
void WLSDetectorConstruction::SetClad2Radius |
( |
G4double |
radius | ) |
|
Definition at line 839 of file WLSDetectorConstruction.cc.
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
void WLSDetectorConstruction::SetCoatingRadius |
( |
G4double |
radius | ) |
|
Definition at line 985 of file WLSDetectorConstruction.cc.
988 fCoatingRadius = radius;
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
void WLSDetectorConstruction::SetCoatingThickness |
( |
G4double |
thick | ) |
|
Definition at line 976 of file WLSDetectorConstruction.cc.
979 fCoatingThickness = thick;
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
void WLSDetectorConstruction::SetCoupleMaterial |
( |
G4String |
| ) |
|
Definition at line 858 of file WLSDetectorConstruction.cc.
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
void WLSDetectorConstruction::SetHoleRadius |
( |
G4double |
radius | ) |
|
Definition at line 967 of file WLSDetectorConstruction.cc.
970 fHoleRadius = radius;
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
void WLSDetectorConstruction::SetMirror |
( |
G4bool |
flag | ) |
|
Definition at line 929 of file WLSDetectorConstruction.cc.
933 fMirrorToggle = flag;
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
void WLSDetectorConstruction::SetMirrorPolish |
( |
G4double |
polish | ) |
|
Definition at line 889 of file WLSDetectorConstruction.cc.
893 fMirrorPolish = polish;
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
void WLSDetectorConstruction::SetMirrorReflectivity |
( |
G4double |
reflectivity | ) |
|
Definition at line 899 of file WLSDetectorConstruction.cc.
903 fMirrorReflectivity = reflectivity;
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
void WLSDetectorConstruction::SetNumberOfCladding |
( |
G4int |
num | ) |
|
Definition at line 802 of file WLSDetectorConstruction.cc.
806 fNumOfCladLayers = num;
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
void WLSDetectorConstruction::SetPhotonDetAlignment |
( |
G4double |
theta | ) |
|
Definition at line 867 of file WLSDetectorConstruction.cc.
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
void WLSDetectorConstruction::SetPhotonDetGeometry |
( |
G4String |
shape | ) |
|
Definition at line 792 of file WLSDetectorConstruction.cc.
796 if (shape ==
"Circle" || shape ==
"Square" ) fMPPCShape = shape;
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
void WLSDetectorConstruction::SetPhotonDetHalfLength |
( |
G4double |
halfL | ) |
|
Definition at line 848 of file WLSDetectorConstruction.cc.
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
void WLSDetectorConstruction::SetPhotonDetPolish |
( |
G4double |
polish | ) |
|
Definition at line 909 of file WLSDetectorConstruction.cc.
913 fMPPCPolish = polish;
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
void WLSDetectorConstruction::SetPhotonDetReflectivity |
( |
G4double |
reflectivity | ) |
|
Definition at line 919 of file WLSDetectorConstruction.cc.
923 fMPPCReflectivity = reflectivity;
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
void WLSDetectorConstruction::SetSurfaceRoughness |
( |
G4double |
roughness | ) |
|
Definition at line 879 of file WLSDetectorConstruction.cc.
883 fSurfaceRoughness = roughness;
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
void WLSDetectorConstruction::SetWLSFiberMaterial |
( |
G4String |
| ) |
|
void WLSDetectorConstruction::SetWLSLength |
( |
G4double |
length | ) |
|
Definition at line 812 of file WLSDetectorConstruction.cc.
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
void WLSDetectorConstruction::SetWLSRadius |
( |
G4double |
radius | ) |
|
Definition at line 821 of file WLSDetectorConstruction.cc.
824 fWLSfiberRY = radius;
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
Definition at line 939 of file WLSDetectorConstruction.cc.
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
Definition at line 737 of file WLSDetectorConstruction.cc.
745 unsigned int place = 0;
747 while (place < rotation.size()) {
752 const G4String tmpstring=rotation.substr(place+1);
754 angle = strtod(tmpstring.c_str(),&
p) *
deg;
756 if (!p || (*p != (
char)
',' && *p != (
char)
'\0')) {
757 G4cerr <<
"Invalid rotation specification: " <<
758 rotation.c_str() <<
G4endl;
764 switch(rotation.substr(place,1).c_str()[0]) {
775 G4cerr <<
" Invalid rotation specification: "
780 rot = thisRotation * rot;
781 place = rotation.find(
',',place);
782 if (place > rotation.size())
break;
CLHEP::HepRotation G4RotationMatrix
static G4double angle[DIM]
static constexpr double deg
G4GLOB_DLL std::ostream G4cerr
The documentation for this class was generated from the following files: