Message: Re: Quantum Efficiency !!!! Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Re: Quantum Efficiency !!!! 

Forum: Processes Involving Optical Photons
Re: None Quantum Efficiency !!!! (Davinder Siwal)
Date: 11 Feb, 2012
From: Benton Pahlka <Benton Pahlka>

Hi,

Here's how I do it:

I first use a plot digitizer to get the values of the quantum efficiency from the pdf file. I read these into an array along with each associated wavelength. For example, I have a file called qe_hamamatsu.txt as a two column CSV. I also have an array for the refractive index. I convert the wavelength into energy in eV. Then I define a G4OpticalSurface with the glisur model, and a G4MaterialPropertiesTable to set the EFFICIENCY, REFLECTIVITY, and INDEX. Then I apply a G4LogicalSkinSurface to the logical volume created previously (code not shown, but just create a logical volume from a G4Tubs or G4Box, etc). This should be similar to either the N06 or the LXe example...see these examples for how "EFFICIENCY" is defined. Then I make a physical volume and apply the material properties table to it. Note that all this does is apply a rejection technique to the photons that have hit the PMT...I do not simulate anything further regarding the PMT. All of this goes into my geometry file.

Hope this helps,

Benton

     G4String PMTfile = "qe_hamamatsu.txt";

     ReadPMT.open(PMTfile);
     if (ReadPMT.is_open()){
         while(!ReadPMT.eof()){
	     G4String filler;   // for the comma
	     G4double wavelength;
	     ReadPMT >> wavelength >> filler >> PMTdetect[PMTentries];  // read in the QE values

	     PMTenergy[PMTentries] = (1240/wavelength)*eV;  // convert to energy
	     PMTindex[PMTentries] = 1.52;    // if you have a wavelength dependent refractive index, include it here
	     PMTreflect[PMTentries] = 0.0;   // don't want any reflections
	     PMTentries++;
	 }
     }
     else
         G4cout << "Error opening file: " << PMTfile << G4endl; 
     ReadPMT.close();

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

     G4MaterialPropertiesTable *pmtMPT = new G4MaterialPropertiesTable();
     pmtMPT->AddProperty("EFFICIENCY",PMTenergy,PMTdetect,PMTentries);
     pmtMPT->AddProperty("REFLECTIVITY",PMTenergy,PMTreflect,PMTentries);
     pmtMPT->AddProperty("RINDEX",PMTenergy,PMTindex,PMTentries);
     opt_pmt->SetMaterialPropertiesTable(pmtMPT);

     G4LogicalSkinSurface *skin_pmt;
     skin_pmt = new G4LogicalSkinSurface("skin_pmt",logical_PMT,opt_pmt);

 Add Message Add Message
to: "Re: Quantum Efficiency !!!!"

 Subscribe Subscribe

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