FMS meeting 20100620 - changes to FPD geometry

 Changes to FPD Geometry

 

In order to run the Cerenkov simulation "properly", I've made following changes to the files under fpdmgeo directory.

A short explanation of how to insert a user defined routine to GSTAR can be found here. 

My working directory for this is ~leun/sim/fpdsim6/export/pams/geometry/fpdmgeo/

 

fpdmgeo2.g

fpdmgeo2.g has been modifed to reflect our best guess at optical property of the glass and aluminum wrapper. In practice, the changes are for the array absco_PbG and absco_Alm.

in addition, I set the photo cathode efficiency to be 1 for all energy, accepting all photons at the cathode level. This is done becasue we apply the photo chathoe efficiency cut right after the generation of the optical photons in the glass, before we spend CPU time to track them, only to lose them at the cathode. 

Since we want to run user defined routines for Cerenkov, the following lines were inserted into the code. 

HITS FLGR USER:0:(0,100000)

HITS FPCT USER:0:(0,100000)

FLGR is the volume lable for the glass, and FPCT is for the photo cathode. As will be explained later, we need user routines for both volumes. The details of the meaning of these statements can be found somewhat by folliwing the first link in this page.

 

 

ffpdstep.g

There are two relevant functions in this file, for the two volumes FLGR (glass) and FPCT (photo cathode). 

The main purpose of FLGRstep is to apply photocathode efficiency after the first step of tracking to save time. I do not know how to do this truly at generataion, as I don't know how to access the memory stack. So as long as the photon takes more than one step to reach the photo cathode, this routine will take care of the random loss due to the cathode efficiency. If we "predict" that a photon will be lost by the cathode, ISTOP variable is set to 2, which means it's been absorbed by the medium and will not be tracked any further.

In principle, the only thing FPCTstep needs to do is to record hits when an optical photon arrives at the cathode. To do this, it checks the particle type (50 for optical photons, which is different from regular photons), status variable ISTOP (2 for particles stopped by the cathode), and deStep (energy loss in this step, positive for photons that hit the cathode). The only caveat is that because I can't kill the photons before they make the first step, I have to treat the photons that arrived at the cathode in their first step as a special case. They've avoided the efficiency filter in FLGR. So in FPCTstep, I repeat the same if statements for the photo cathode efficiency for only those photons that have NSTEP=1. 

 

 

Finally, one minor modification in the ASPS area needs to be made, as explained in the first link, in order to run Cerenkov. It basically allows the tracking of neural particles even when they don't deposit energy, which is obviously crucial in tracking optical photons that just bounces around in the glass.