Message: Re: Novice user's question. Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Re: Novice user's question. 

Forum: Processes Involving Optical Photons
Date: 17 Apr, 2003
From: Gumplinger Peter <Gumplinger Peter>

Further to your questions:

1) Where can i get an optical surfaces descriptions? Such as:

	MySurface->SetType(???);

Two choices:

   dielectric_metal,            // dielectric-metal interface
   dielectric_dielectric        // dielectric-dielectric interface

	MySurface->SetFinish(???);

Your choices are:

   polished,                    // smooth perfectly polished surface
   polishedfrontpainted,        // smooth top-layer (front) paint
   polishedbackpainted,         // same is 'polished' withback-paint
   ground,                      // rough surface
   groundfrontpainted,          // rough top-layer (front) paint
   groundbackpainted            // same as 'ground' but with back-paint

You must decide which of these describes your particular surface.

	MySurface->SetModel(???);

You can model your optical surface with two models:

   glisur,                      // original GEANT3 model
   unified                      // UNIFIED model

see the documentation for details.

2) If premade materials such as Air are exists, where can i
   found a desciption of them?

No premade materials exist in GEANT4 to the best of my knowledge.

3) Emmm... Can somebody show me the way to create a simple
   absorber for optical photons?

Photons can be absorbed in the medium and on a boundary. Depends what kind of absorber you are talking about. For bulk absorption, you need to add the absorption lenght "property", which in most cases is a fuction of wavelength, to the material in this way:

  G4Material* Material;

  G4MaterialPropertiesTable* myMPT = new G4MaterialPropertiesTable();

  const G4int nEntries = 32;

  G4double PhotonEnergy[nEntries] =
            { 2.034*eV, 2.068*eV etc.

  G4double RefractiveIndex[nEntries] =
            { 1.3435, 1.344, etc.

  G4double Absorption[nEntries] =
           {3.448*m,  4.082*m, etc.

  myMPT->AddProperty("RINDEX",PhotonEnergy,RefractiveIndex,nEntries);
  myMPT->AddProperty("ABSLENGTH",PhotonEnergy,Absorption,nEntries);

  Material->SetMaterialPropertiesTable(myMPT);

In the case of a surface absorber:

  const G4int num = 2;

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

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

// 70% are absorbed at the long wavelength down to 50% at higher wlt.

  G4MaterialPropertiesTable *myST = new G4MaterialPropertiesTable();

  myST->AddProperty("REFLECTIVITY", Ephoton, Reflectivity, num);

  OpSurface->SetMaterialPropertiesTable(myST);

where an example OpSurface:

  G4OpticalSurface* OpSurface = new G4OpticalSurface("Surface");
  OpWaterSurface->SetType(dielectric_metal);
  OpWaterSurface->SetFinish(polished);
  OpWaterSurface->SetModel(glisur);

  G4LogicalBorderSurface* Surface = new
             G4LogicalBorderSurface("Surface", 
                 Tank_phys,Absorber_phys,OpSurface);

The G4MaterialPropertiesTable can hold material properties not already part of the G4Material class. These properties do not need to be constants but can be a function of another variable. In the case of optical photons, this is typically the photon's energy [in eV]. Examples are index of refraction, bulk absorption length etc. What the numerical values are for your material in question is for you to specify.

Hope this clarifies things?

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

 Add Message Add Message
to: "Re: Novice user's question."

 Subscribe Subscribe

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