80      o << 
"Material " << material << 
" not found!";
    95   std::vector<G4int> natoms;
    96   std::vector<G4double> fractionMass;
    97   std::vector<G4String> elements;
   118   elements.push_back(
"C");     natoms.push_back(5);
   119   elements.push_back(
"H");     natoms.push_back(8);
   120   elements.push_back(
"O");     natoms.push_back(2);
   122   density = 1.190*
g/
cm3;
   125           ConstructNewMaterial(
"PMMA", elements, natoms, density);
   134   elements.push_back(
"C");     natoms.push_back(2);
   135   elements.push_back(
"H");     natoms.push_back(4);
   137   density = 1.200*
g/
cm3;
   140           ConstructNewMaterial(
"Pethylene", elements, natoms, density);
   149   elements.push_back(
"C");     natoms.push_back(2);
   150   elements.push_back(
"H");     natoms.push_back(4);
   152   density = 1.400*
g/
cm3;
   155           ConstructNewMaterial(
"FPethylene", elements, natoms, density);
   164   elements.push_back(
"C");     natoms.push_back(8);
   165   elements.push_back(
"H");     natoms.push_back(8);
   167   density = 1.050*
g/
cm3;
   170           ConstructNewMaterial(
"Polystyrene", elements, natoms, density);
   179   elements.push_back(
"C");     natoms.push_back(2);
   180   elements.push_back(
"H");     natoms.push_back(6);
   182   density = 1.060*
g/
cm3;
   185           ConstructNewMaterial(
"Silicone", elements, natoms, density);
   200   elements.push_back(
"Ti");     natoms.push_back(1);
   201   elements.push_back(
"O");      natoms.push_back(2);
   203   density     = 4.26*
g/
cm3;
   206           ConstructNewMaterial(
"TiO2", elements, natoms, density);
   215   density = 1.52*
g/
cm3;
   218           new G4Material(
"Coating", density, ncomponents=2);
   239   const G4int nEntries = 
sizeof(photonEnergy)/
sizeof(
G4double);
   246   { 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
   247     1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
   248     1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
   249     1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
   250     1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00};
   252   assert(
sizeof(refractiveIndex) == 
sizeof(photonEnergy));
   255   mpt->
AddProperty(
"RINDEX", photonEnergy, refractiveIndex, nEntries);
   263   G4double refractiveIndexWLSfiber[] =
   264   { 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60,
   265     1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60,
   266     1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60,
   267     1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60,
   268     1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60};
   270   assert(
sizeof(refractiveIndexWLSfiber) == 
sizeof(photonEnergy));
   273   {5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,
   274    5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,
   275    5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,5.40*
m,1.10*
m,
   276    1.10*
m,1.10*
m,1.10*
m,1.10*
m,1.10*
m,1.10*
m, 1.*
mm, 1.*
mm, 1.*
mm, 1.*
mm,
   279   assert(
sizeof(absWLSfiber) == 
sizeof(photonEnergy));
   282   {0.05, 0.10, 0.30, 0.50, 0.75, 1.00, 1.50, 1.85, 2.30, 2.75,
   283    3.25, 3.80, 4.50, 5.20, 6.00, 7.00, 8.50, 9.50, 11.1, 12.4,
   284    12.9, 13.0, 12.8, 12.3, 11.1, 11.0, 12.0, 11.0, 17.0, 16.9,
   285    15.0, 9.00, 2.50, 1.00, 0.05, 0.00, 0.00, 0.00, 0.00, 0.00,
   286    0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00};
   288   assert(
sizeof(emissionFib) == 
sizeof(photonEnergy));
   293            AddProperty(
"RINDEX",photonEnergy,refractiveIndexWLSfiber,nEntries);
   295   mptWLSfiber->
AddProperty(
"WLSABSLENGTH",photonEnergy,absWLSfiber,nEntries);
   296   mptWLSfiber->
AddProperty(
"WLSCOMPONENT",photonEnergy,emissionFib,nEntries);
   306   { 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49,
   307     1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49,
   308     1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49,
   309     1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49,
   310     1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49, 1.49};
   312   assert(
sizeof(refractiveIndexClad1) == 
sizeof(photonEnergy));
   315   {20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,
   316    20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,
   317    20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,
   318    20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,
   319    20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m,20.0*
m};
   321   assert(
sizeof(absClad) == 
sizeof(photonEnergy));
   325   mptClad1->
AddProperty(
"RINDEX",photonEnergy,refractiveIndexClad1,nEntries);
   326   mptClad1->
AddProperty(
"ABSLENGTH",photonEnergy,absClad,nEntries);
   335    { 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42,
   336      1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42,
   337      1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42,
   338      1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42,
   339      1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42, 1.42};
   341    assert(
sizeof(refractiveIndexClad2) == 
sizeof(photonEnergy));
   345   mptClad2->
AddProperty(
"RINDEX",photonEnergy,refractiveIndexClad2,nEntries);
   346   mptClad2->
AddProperty(
"ABSLENGTH",photonEnergy,absClad,nEntries);
   354    G4double refractiveIndexSilicone[] =
   355    { 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46,
   356      1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46,
   357      1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46,
   358      1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46,
   359      1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46, 1.46};
   361    assert(
sizeof(refractiveIndexSilicone) == 
sizeof(photonEnergy));
   366            AddProperty(
"RINDEX",photonEnergy,refractiveIndexSilicone,nEntries);
   367   mptSilicone->
AddProperty(
"ABSLENGTH",photonEnergy,absClad,nEntries);
   376   { 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50,
   377     1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50,
   378     1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50,
   379     1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50,
   380     1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50, 1.50};
   382   assert(
sizeof(refractiveIndexPS) == 
sizeof(photonEnergy));
   385   {2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,
   386    2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,
   387    2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,
   388    2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,2.*
cm,
   391   assert(
sizeof(absPS) == 
sizeof(photonEnergy));
   394   {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
   395    0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
   396    0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
   397    1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
   398    1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
   400   assert(
sizeof(scintilFast) == 
sizeof(photonEnergy));
   404   mptPolystyrene->
AddProperty(
"RINDEX",photonEnergy,refractiveIndexPS,nEntries);
   405   mptPolystyrene->
AddProperty(
"ABSLENGTH",photonEnergy,absPS,nEntries);
   407                AddProperty(
"FASTCOMPONENT",photonEnergy, scintilFast,nEntries);
 
G4IonisParamMat * GetIonisation() const
 
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
 
G4Material * GetMaterial(const G4String)
 
void AddMaterial(G4Material *material, G4double fraction)
 
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
 
void SetMaterialPropertiesTable(G4MaterialPropertiesTable *anMPT)
 
void SetBirksConstant(G4double value)
 
Definition of the WLSMaterials class. 
 
static G4NistManager * Instance()
 
G4MaterialPropertyVector * AddProperty(const char *key, G4double *PhotonEnergies, G4double *PropertyValues, G4int NumEntries)
 
static WLSMaterials * fInstance
 
static const double perCent
 
void AddConstProperty(const char *key, G4double PropertyValue)
 
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
 
G4Material * fPolystyrene
 
static WLSMaterials * GetInstance()