Message: Optical Photons Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question Optical Photons 

Forum: Processes Involving Optical Photons
Date: 03 May, 2010
From: Ibrahim <Ibrahim>

Hi,

I am using geant 4 for X-Ray imaging purpose. I finished writing my program which can image any object. Now I am simulating the effect of optical photons on the image quality. I have the following geometry:

Gd2O2S:Tb scintillator which is characterised by:

- Dimension 22cm x 22cm x 0.015cm

- Refraction index n = 2.3

- etc.

The scintillator is inside the world volume which is filled with Air.

So, we have two medium (two dielectrics): world volume (Air , refractive index n=1) and the scintillator (Gd2O2S, refractive index n = 2.3): The question is how do I have to define boundary between the scintillator and the world volume?

I did it in the following way basing on the example N06 in the novice folder, but I am still having some questions:

MyDetectorConstruction.cc

// ------------ Generate & Add Material Properties Table ------------

 const G4int nEntries = 8;

//these are optical photons energies

 G4double PhotonEnergy[nEntries] =
           { 2.0*eV, 2.138*eV, 2.297*eV, 2.690*eV,
             2.690*eV, 2.820*eV, 2.953*eV, 3.264*eV,
           };
//
// refractive index of Gd2O2S
//
 G4double RefractiveIndex1[nEntries] =
           { 2.3,  2.3,  2.3,  2.3,
             2.3,  2.3,  2.3,  2.3,
          };
// mean free path of optical photons in Gd2O2S ( these mean free paths are //arbitrary  because I do not know the exact mean free paths of these optical //photons in Gd2O2S

 G4double Absorption1[nEntries] =
          {0.58*m,  0.62*m,  0.65*m,  0.67*m,
           0.67*m, 0.70*m, 0.72*m, 0.75*m,};

 G4double ScintilFast[nEntries] =
           { 0.0725, 0.145, 0.436,0.145,
             0.0181, 0.0362, 0.0725, 0.0725,
           };

 G4MaterialPropertiesTable* myMPT1 = new G4MaterialPropertiesTable();
 myMPT1->AddProperty("RINDEX",       PhotonEnergy, RefractiveIndex1,nEntries);
 myMPT1->AddProperty("ABSLENGTH",    PhotonEnergy, Absorption1,     nEntries);
 myMPT1->AddProperty("FASTCOMPONENT",PhotonEnergy, ScintilFast,     nEntries);

 myMPT1->AddConstProperty("SCINTILLATIONYIELD",60./keV);
 myMPT1->AddConstProperty("RESOLUTIONSCALE",1.0);
 myMPT1->AddConstProperty("FASTTIMECONSTANT", 1000000*ns);
 myMPT1->AddConstProperty("YIELDRATIO",1.0);

 Gd2O2S->SetMaterialPropertiesTable(myMPT1);

// Air

 G4double RefractiveIndex2[nEntries] =
           { 1.00, 1.00, 1.00, 1.00,
             1.00, 1.00, 1.00, 1.00,
           };

 G4MaterialPropertiesTable* myMPT2 = new G4MaterialPropertiesTable();
 myMPT2->AddProperty("RINDEX", PhotonEnergy, RefractiveIndex2, nEntries);

 Air->SetMaterialPropertiesTable(myMPT2);

 //     ------------- Surfaces --------------

// Gd2O2S

 G4OpticalSurface* OpGd2O2SSurface = new G4OpticalSurface("Gd2O2SSurface");
 OpGd2O2SSurface->SetType(dielectric_dielectric);
 OpGd2O2SSurface->SetFinish(ground);
 OpGd2O2SSurface->SetModel(unified);

 G4LogicalBorderSurface* Gd2O2SSurface =
                                new G4LogicalBorderSurface("Gd2O2SSurface",
                                PhyBox1,PhyWorld,OpGd2O2SSurface);

 if(Gd2O2SSurface->GetVolume1() == PhyBox1) G4cout << "Equal" << G4endl;
 if(Gd2O2SSurface->GetVolume2() == PhyWorld) G4cout << "Equal" << G4endl;

//Air

 G4OpticalSurface* OpAirSurface = new G4OpticalSurface("AirSurface");
 OpAirSurface->SetType(dielectric_dielectric);
 OpAirSurface->SetFinish(polished);
 OpAirSurface->SetModel(glisur);

 G4LogicalSkinSurface* AirSurface =
         new G4LogicalSkinSurface("AirSurface",World, OpAirSurface);

 if(AirSurface->GetLogicalVolume() == World) G4cout << "Equal" << G4endl;
 G4OpticalSurface* opticalSurface = dynamic_cast <G4OpticalSurface*>
       (AirSurface->GetSurface(World)->GetSurfaceProperty());

 if (opticalSurface) opticalSurface->DumpInfo();

// Generate & Add Material Properties Table attached to the optical surfaces
//
 const G4int num = 2;
 G4double Ephoton[num] = {2.038*eV, 4.144*eV};

 //Optical_Gd2O2S_Surface

 G4double RefractiveIndex[num] = {2.3, 2.3};
 G4double SpecularLobe[num]    = {0.3, 0.3};
 G4double SpecularSpike[num]   = {0.2, 0.2};
 G4double Backscatter[num]     = {0.2, 0.2};

 G4MaterialPropertiesTable* myST1 = new G4MaterialPropertiesTable();

 myST1->AddProperty("RINDEX",                Ephoton, RefractiveIndex, num);
 myST1->AddProperty("SPECULARLOBECONSTANT",  Ephoton, SpecularLobe,    num);
 myST1->AddProperty("SPECULARSPIKECONSTANT", Ephoton, SpecularSpike,   num);
 myST1->AddProperty("BACKSCATTERCONSTANT",   Ephoton, Backscatter,     num);

 OpGd2O2SSurface->SetMaterialPropertiesTable(myST1);

 //Optical_Air_Surface

 G4double Reflectivity[num] = {0.3, 0.5};
 G4double Efficiency[num]   = {0.8, 1.0};

 G4MaterialPropertiesTable *myST2 = new G4MaterialPropertiesTable();

 myST2->AddProperty("REFLECTIVITY", Ephoton, Reflectivity, num);
 myST2->AddProperty("EFFICIENCY",   Ephoton, Efficiency,   num);

 OpAirSurface->SetMaterialPropertiesTable(myST2);

questions:

is this program correct?

actually, I do not know the meaning of some lines:

 const G4int num = 2;
 G4double Ephoton[num] = {2.038*eV, 4.144*eV};

what does it mean : 2.038*eV and 4.144*eV ? in my case where can I find these valuse are from the example exampleN06!

and what do the following lines mean?

 G4double RefractiveIndex[num] = {2.3, 2.3};
 G4double SpecularLobe[num]    = {0.3, 0.3};
 G4double SpecularSpike[num]   = {0.2, 0.2};
 G4double Backscatter[num]     = {0.2, 0.2};

and what is the meaninig of 2.3, 2.3.Why we have twice 2.3, 0.2 and 0.3? do I have to use to use all of them ( specularLobe, SpecularSpike ...) or only one of them ....? and what is the meaning of :

 G4double Reflectivity[num] = {0.3, 0.5};
 G4double Efficiency[num]   = {0.8, 1.0};

they are clear: effectivity and effeciciency but why tow different values 0.3 , 0.5 and 0.8, 1.0 and which values do I have to use in my case other values or the same values ggiven in the exampleN 06?

any help is highly appreciated.

kind regards

Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

1 Feedback: Re: Optical Photons   (Gumplinger Peter - 03 May, 2010)
 Add Message Add Message
to: "Optical Photons"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews