Message: Re: modifying Lxe example Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Idea Re: modifying Lxe example 

Forum: Processes Involving Optical Photons
Re: Question modifying Lxe example (Simone)
Date: May 09, 14:35
From: Michael H. Kelsey <Michael H. Kelsey>

On Thu, 09 May 2019 10:31:06 GMT, Simone wrote:
> I have tried to use the "Lxe" example to build my own BGO scintillator.
> However when I try to change the material in the detectorconstruction
> 
>  //Liquid Xenon 
>  // fLXe = new G4Material("LXe",z=54.,a=131.29*g/mole,density=3.020*g/cm3); //old material definition
>   fLXe = G4NistManager::Instance()->FindOrBuildMaterial("G4_BGO");//new material definition
> 
> the example can compile, but I get an error at runtime:
> 
> Idle> /run/beamOn 10 /run/beamOn 10
> 
> -------- EEEE ------- G4Exception-START -------- EEEE -------
> *** G4Exception : GeomMgt0002
>       issued by : G4Region::ScanVolumeTree()
> Logical volume <scint_log>
> does not have a valid material pointer.
> A logical volume belonging to the (tracking) world volume must have a valid material.Check your geometry construction.

The problem is that the pointer you redefined in LXeDetectorConstruction.cc is not used outside of that class. In particular, in LXeMainVolume.cc, you'll discover that the material is assigned by fetching the "LXe" material back from the G4MaterialTable:

  fScint_log = new G4LogicalVolume(fScint_box,G4Material::GetMaterial("LXe"),

etc. So it's expecting to find a material already defined with that name. For your modification, you just need to change that string "LXe" to "G4_BGO" in LXeMainVolume.cc.

  -- Michael Kelsey

 Add Message Add Message
to: "Re: modifying Lxe example"

 Subscribe Subscribe

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