69 : fMaterials(NULL), fLogicHole(NULL), fLogicWorld(NULL),
70 fPhysiWorld(NULL), fPhysiHole(NULL)
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);
376 std::ostringstream o;
377 o <<
"The Fiber Hole has not been constructed";
378 G4Exception(
"WLSDetectorConstruction::ConstructFiber",
"",
443 logicPlacement = logicClad2;
444 physiPlacement = physiClad2;
484 logicPlacement = logicClad1;
485 physiPlacement = physiClad1;
559 assert(
sizeof(refl_mirror) ==
sizeof(p_mirror));
561 assert(
sizeof(effi_mirror) ==
sizeof(effi_mirror));
563 mirrorSurfaceProperty->
564 AddProperty(
"REFLECTIVITY",p_mirror,refl_mirror,nbins);
565 mirrorSurfaceProperty->
566 AddProperty(
"EFFICIENCY",p_mirror,effi_mirror,nbins);
568 mirrorSurface -> SetMaterialPropertiesTable(mirrorSurfaceProperty);
612 G4cerr <<
"Invalid alignment. Alignment Reset to 0" <<
G4endl;
677 assert(
sizeof(refl_mppc) ==
sizeof(p_mppc));
679 assert(
sizeof(effi_mppc) ==
sizeof(p_mppc));
681 photonDetSurfaceProperty->
AddProperty(
"REFLECTIVITY",p_mppc,refl_mppc,nbins);
682 photonDetSurfaceProperty->
AddProperty(
"EFFICIENCY",p_mppc,effi_mppc,nbins);
694 G4String mppcSDName =
"WLS/PhotonDet";
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;
796 if (shape ==
"Circle" || shape ==
"Square" )
fMPPCShape = shape;
void SetClad2Radius(G4double)
static G4RunManager * GetRunManager()
Definition of the WLSPhotonDetSD class.
CLHEP::Hep3Vector G4ThreeVector
void SetCoatingRadius(G4double)
virtual ~WLSDetectorConstruction()
WLSDetectorMessenger * fDetectorMessenger
static void CleanSurfaceTable()
void SetSensitiveDetector(const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
void SetNumberOfCladding(G4int)
void SetSurfaceRoughness(G4double)
static constexpr double nm
void SetClad1Radius(G4double)
static constexpr double mm
void AddNewDetector(G4VSensitiveDetector *aSD)
G4double GetFiberRadius()
CLHEP::HepRotation G4RotationMatrix
G4double GetWLSFiberLength()
G4double GetWLSFiberEnd()
Definition of the WLSDetectorConstruction class.
G4VPhysicalVolume * fPhysiWorld
void SetMaterialPropertiesTable(G4MaterialPropertiesTable *anMPT)
static void CleanSurfaceTable()
void SetPhotonDetReflectivity(G4double)
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
void SetHoleRadius(G4double)
void UpdateGeometryParameters()
G4double fExtrusionReflectivity
virtual void ConstructSDandField()
static constexpr double m
WLSDetectorConstruction()
G4LogicalVolume * fLogicWorld
static constexpr double deg
G4MaterialPropertyVector * AddProperty(const char *key, G4double *PhotonEnergies, G4double *PropertyValues, G4int NumEntries)
void SetMirrorPolish(G4double)
G4Material * FindMaterial(G4String)
G4double GetWLSFiberRMax()
static G4GeometryManager * GetInstance()
G4VPhysicalVolume * fPhysiHole
WLSMaterials * fMaterials
static constexpr double twopi
G4double fMirrorReflectivity
virtual G4VPhysicalVolume * Construct()
Definition of the WLSDetectorMessenger class.
G4double GetSurfaceRoughness()
G4double GetCoatingThickness()
void SetPhotonDetGeometry(G4String)
static G4RotationMatrix StringToRotationMatrix(G4String rotation)
static constexpr double eV
static constexpr double rad
G4double fExtrusionPolish
void OpenGeometry(G4VPhysicalVolume *vol=0)
G4LogicalVolume * fLogicHole
void SetWLSLength(G4double)
G4GLOB_DLL std::ostream G4cerr
void Put(const value_type &val) const
static constexpr double ms
void SetUserLimits(G4UserLimits *pULimits)
static WLSMaterials * GetInstance()
void SetWLSRadius(G4double)
static G4SolidStore * GetInstance()
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
static G4SDManager * GetSDMpointer()
static G4PhysicalVolumeStore * GetInstance()
G4double GetCoatingRadius()
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
void SetCoatingThickness(G4double)
void SetBarBase(G4double)
Definition of the WLSMaterials class.
G4Cache< WLSPhotonDetSD * > fmppcSD
static constexpr double cm
G4VPhysicalVolume * ConstructDetector()
void SetMirrorReflectivity(G4double)
void SetBarLength(G4double)
void SetXYRatio(G4double)
void SetPhotonDetAlignment(G4double)
void SetPhotonDetPolish(G4double)
G4double fCoatingThickness
G4double fSurfaceRoughness
void SetPhotonDetHalfLength(G4double)
HepRotation inverse() const
static G4LogicalVolumeStore * GetInstance()
G4double fMPPCReflectivity