Thnak you @dsawkey sir! for the reply. I like UV photon to be absorbed in the photocathode surface.
Now I have modified the code :
// Photocathode Material
// (Bialkali K2CsSb, Density=?, Thickness=25.nm?)
density = 2.00g/cm3;
G4Material* K2CsSb = new G4Material(name=“K2CsSb”, density, ncomponents=3);
K2CsSb->AddElement(K, natoms=2);
K2CsSb->AddElement(Cs, natoms=1);
K2CsSb->AddElement(Sb, natoms=1);
const G4int nEntries = 2;
G4double PhotonEnergy[nEntries] = {1.0*eV,7.0*eV};
// K2CsSb (Bialcali Photocathode)
G4double K2CsSbRefractionIndex[nEntries] = {1.47,1.47};
G4double K2CsSbAbsorptionLength[nEntries] = {0.0*m, 0.0*m};
G4MaterialPropertiesTable* K2CsSbMPT = new G4MaterialPropertiesTable();
K2CsSbMPT->AddProperty("RINDEX", PhotonEnergy, K2CsSbRefractionIndex, nEntries);
K2CsSbMPT->AddProperty("ABSLENGTH", PhotonEnergy, K2CsSbAbsorptionLength, nEntries);
K2CsSb->SetMaterialPropertiesTable(K2CsSbMPT);
// Define the surface properties
G4OpticalSurface* photocathodeSurface = new G4OpticalSurface("PhotocathodeSurface");
photocathodeSurface->SetType(dielectric_metal);
photocathodeSurface->SetModel(unified);
photocathodeSurface->SetFinish(polished);
photocathodeSurface->SetPolish(0.0); // Set the surface polish to 0 for perfect absorption
// Define the material properties of the surface
G4MaterialPropertiesTable* photocathodeSurfaceMPT = new G4MaterialPropertiesTable();
// Calculate the reflectivity for each entry
G4double reflectivity[nEntries];
for (int i = 0; i < nEntries; ++i) {
reflectivity[i] = 1.0 - K2CsSbAbsorptionLength[i];
}
photocathodeSurfaceMPT->AddProperty(“REFLECTIVITY”, PhotonEnergy, reflectivity, nEntries);
// Set the material properties table to the optical surface
photocathodeSurface->SetMaterialPropertiesTable(photocathodeSurfaceMPT);
// Create a logical surface to assign the optical surface to the photocathode material
G4LogicalSkinSurface* photocathodeLogicalSurface;
Here is the construction of the scorer :
// Photocathode
G4Tubs* solidCathode = new G4Tubs("Cathode",0.*cm,0.5*photo_dia,CathodeHalfLength,0.*deg, 360.*deg);
logicCathode = new G4LogicalVolume(solidCathode,K2CsSb,"Cathode");
new G4LogicalSkinSurface("PhotocathodeLogicalSurface", logicCathode, photocathodeSurface);
I am not sure whether I must keep AbsorptionLength to be zero. But still I am getting that counts depending upon the length of the photocathode.
I have coupled this photocathode with my scintillator detector . And I want the interface to be dielectric-metal, dielectric by scintillator and metal for the scorer.