68 : fMaterials(NULL), fLogicHole(NULL), fLogicWorld(NULL),
69 fPhysiWorld(NULL), fPhysiHole(NULL)
186 TiO2SurfaceProperty -> AddProperty(
"REFLECTIVITY",p_TiO2,refl_TiO2,2);
187 TiO2SurfaceProperty -> AddProperty(
"EFFICIENCY",p_TiO2,effi_TiO2,2);
189 TiO2Surface -> SetMaterialPropertiesTable(TiO2SurfaceProperty);
267 *g4rot = g4rot->inverse();
306 *g4rot = g4rot->inverse();
319 *g4rot = g4rot->inverse();
371 std::ostringstream o;
372 o <<
"The Fiber Hole has not been constructed";
373 G4Exception(
"WLSDetectorConstruction::ConstructFiber",
"",
438 logicPlacement = logicClad2;
439 physiPlacement = physiClad2;
478 logicPlacement = logicClad1;
479 physiPlacement = physiClad1;
553 mirrorSurfaceProperty->
AddProperty(
"REFLECTIVITY",p_mirror,refl_mirror,2);
554 mirrorSurfaceProperty->
AddProperty(
"EFFICIENCY",p_mirror,effi_mirror,2);
556 mirrorSurface -> SetMaterialPropertiesTable(mirrorSurfaceProperty);
600 G4cerr <<
"Invalid alignment. Alignment Reset to 0" <<
G4endl;
666 photonDetSurfaceProperty -> AddProperty(
"REFLECTIVITY",p_mppc,refl_mppc,2);
667 photonDetSurfaceProperty -> AddProperty(
"EFFICIENCY",p_mppc,effi_mppc,2);
669 photonDetSurface -> SetMaterialPropertiesTable(photonDetSurfaceProperty);
681 G4String mppcSDName =
"WLS/PhotonDet";
731 unsigned int place = 0;
733 while (place < rotation.size()) {
738 const G4String tmpstring=rotation.substr(place+1);
740 angle = strtod(tmpstring.c_str(),&p) *
deg;
742 if (!p || (*p != (
char)
',' && *p != (
char)
'\0')) {
743 G4cerr <<
"Invalid rotation specification: " <<
744 rotation.c_str() <<
G4endl;
750 switch(rotation.substr(place,1).c_str()[0]) {
761 G4cerr <<
" Invalid rotation specification: "
766 rot = thisRotation * rot;
767 place = rotation.find(
',',place);
768 if (place > rotation.size())
break;
782 if (shape ==
"Circle" || shape ==
"Square" )
fMPPCShape = shape;
virtual G4VPhysicalVolume * Construct()
void SetPhotonDetPolish(G4double)
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)
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 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)
Definition of the WLSDetectorMessenger class.
static WLSMaterials * GetInstance()
void SetMirrorReflectivity(G4double)
void Put(const value_type &val) const
void SetSurfaceRoughness(G4double)
G4double GetWLSFiberEnd()
G4GLOB_DLL std::ostream G4cerr
G4VPhysicalVolume * ConstructDetector()