68 : fMaterials(NULL), fLogicHole(NULL), fLogicWorld(NULL),
69 fPhysiWorld(NULL), fPhysiHole(NULL)
186 assert(
sizeof(refl_TiO2) ==
sizeof(p_TiO2));
188 assert(
sizeof(effi_TiO2) ==
sizeof(p_TiO2));
190 TiO2SurfaceProperty -> AddProperty(
"REFLECTIVITY",p_TiO2,refl_TiO2,nbins);
191 TiO2SurfaceProperty -> AddProperty(
"EFFICIENCY",p_TiO2,effi_TiO2,nbins);
193 TiO2Surface -> SetMaterialPropertiesTable(TiO2SurfaceProperty);
375 std::ostringstream o;
376 o <<
"The Fiber Hole has not been constructed";
377 G4Exception(
"WLSDetectorConstruction::ConstructFiber",
"",
442 logicPlacement = logicClad2;
443 physiPlacement = physiClad2;
482 logicPlacement = logicClad1;
483 physiPlacement = physiClad1;
556 assert(
sizeof(refl_mirror) ==
sizeof(p_mirror));
558 assert(
sizeof(effi_mirror) ==
sizeof(effi_mirror));
560 mirrorSurfaceProperty->
561 AddProperty(
"REFLECTIVITY",p_mirror,refl_mirror,nbins);
562 mirrorSurfaceProperty->
563 AddProperty(
"EFFICIENCY",p_mirror,effi_mirror,nbins);
565 mirrorSurface -> SetMaterialPropertiesTable(mirrorSurfaceProperty);
609 G4cerr <<
"Invalid alignment. Alignment Reset to 0" <<
G4endl;
674 assert(
sizeof(refl_mppc) ==
sizeof(p_mppc));
676 assert(
sizeof(effi_mppc) ==
sizeof(p_mppc));
678 photonDetSurfaceProperty->
AddProperty(
"REFLECTIVITY",p_mppc,refl_mppc,nbins);
679 photonDetSurfaceProperty->
AddProperty(
"EFFICIENCY",p_mppc,effi_mppc,nbins);
691 G4String mppcSDName =
"WLS/PhotonDet";
741 unsigned int place = 0;
743 while (place < rotation.size()) {
748 const G4String tmpstring=rotation.substr(place+1);
750 angle = strtod(tmpstring.c_str(),&p) *
deg;
752 if (!p || (*p != (
char)
',' && *p != (
char)
'\0')) {
753 G4cerr <<
"Invalid rotation specification: " <<
754 rotation.c_str() <<
G4endl;
760 switch(rotation.substr(place,1).c_str()[0]) {
771 G4cerr <<
" Invalid rotation specification: " 776 rot = thisRotation * rot;
777 place = rotation.find(
',',place);
778 if (place > rotation.size())
break;
792 if (shape ==
"Circle" || shape ==
"Square" )
fMPPCShape = shape;
virtual G4VPhysicalVolume * Construct()
void SetPhotonDetPolish(G4double)
void Put(const value_type &val) const
WLSDetectorMessenger * fDetectorMessenger
G4double GetSurfaceRoughness()
G4double fExtrusionReflectivity
void SetNumberOfCladding(G4int)
void SetBarLength(G4double)
G4double GetCoatingRadius()
CLHEP::Hep3Vector G4ThreeVector
virtual ~WLSDetectorConstruction()
CLHEP::HepRotation G4RotationMatrix
void SetClad2Radius(G4double)
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
G4double GetWLSFiberLength()
G4double fSurfaceRoughness
void SetXYRatio(G4double)
void SetPhotonDetHalfLength(G4double)
void SetUserLimits(G4UserLimits *pULimits)
void SetWLSLength(G4double)
G4VPhysicalVolume * fPhysiWorld
void SetPhotonDetReflectivity(G4double)
static G4double angle[DIM]
Definition of the WLSMaterials class.
void SetMirrorPolish(G4double)
void SetClad1Radius(G4double)
void UpdateGeometryParameters()
Definition of the WLSDetectorConstruction class.
void SetCoatingRadius(G4double)
G4MaterialPropertyVector * AddProperty(const char *key, G4double *PhotonEnergies, G4double *PropertyValues, G4int NumEntries)
static void CleanSurfaceTable()
static G4RotationMatrix StringToRotationMatrix(G4String rotation)
G4double fMirrorReflectivity
static G4PhysicalVolumeStore * GetInstance()
WLSDetectorConstruction()
G4Cache< WLSPhotonDetSD * > fmppcSD
G4LogicalVolume * fLogicWorld
void SetCoatingThickness(G4double)
static const double twopi
static void CleanSurfaceTable()
static G4LogicalVolumeStore * GetInstance()
static G4SolidStore * GetInstance()
void SetBarBase(G4double)
G4double GetCoatingThickness()
G4double GetFiberRadius()
static G4GeometryManager * GetInstance()
G4double fMPPCReflectivity
G4double fCoatingThickness
void SetSensitiveDetector(const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
void SetHoleRadius(G4double)
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
G4double GetWLSFiberRMax()
G4LogicalVolume * fLogicHole
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
WLSMaterials * fMaterials
static G4RunManager * GetRunManager()
void SetPhotonDetAlignment(G4double)
G4double fExtrusionPolish
void SetPhotonDetGeometry(G4String)
virtual void ConstructSDandField()
Definition of the WLSPhotonDetSD class.
G4VPhysicalVolume * fPhysiHole
void OpenGeometry(G4VPhysicalVolume *vol=0)
G4Material * FindMaterial(G4String)
void SetWLSRadius(G4double)
HepRotation inverse() const
Definition of the WLSDetectorMessenger class.
static WLSMaterials * GetInstance()
void SetMaterialPropertiesTable(G4MaterialPropertiesTable *anMPT)
void SetMirrorReflectivity(G4double)
void SetSurfaceRoughness(G4double)
G4double GetWLSFiberEnd()
G4GLOB_DLL std::ostream G4cerr
G4VPhysicalVolume * ConstructDetector()