I defined MCTK (#1) and MCVX (#1) banks that contain
secondary
particles/vertices.
It took a while because I couldn't simply copy the ZEBRA
banks
into BOS (if you use the electron library, not all input
tracks
were copied into ZEBRA banks ...).
The other problem was the inconsistent creation of a
KINE subbank
in step_ec.F.
The way how I implemented the code is the following:
if a daughter particle is produced during the tracking,
the corresponding generating process, medium and volume
numbers,
and parent track are stored in a KINE subbank.
This info is read out at the end of a event (bos_mcev.F)
and copied into the corresponding BOS banks:
MCTK (#1) and MCVX (#1) (<-record
no.=1)
You can specify which particles you want to save via the
geant lsave list:
FFread card: SAVE (or interactively: > SAVE ).
To get any secondaries the SAVE card has to be set:
SAVE 'ALL '
<-save all secondaries
SAVE 'DCAY' 'ALLP'
<-save all secondaries from
decay/absorption processes
SAVE 'DCAY' 'HADR'
<-save all hadrons from
decay/absorption processes
SAVE 'HADR' 0.01
<-save all hadrons with energy>0.01 GeV
SAVE 'ALL ' 'LEVL' 10
<-save all secondaries up to cascade
level 10
SAVE 'ELMG' 'MUON' 'DCAY' <-save
all elmg.parts (photon,e^-,e^+)
and muons from decay/abs. processes
etc.
For 'HADR' 'ELMG' 'MUON' one can specify the
min. energy (as above)
default values: Emin_hadr=0.1 GeV (i.e. all hadrons)
Emin_muon=0.1 GeV (i.e. all muons)
Emin_elmg=0.05 GeV
max. cascade level=100
The MCTK (#1) bank entries contain information about generating
and ending vertices as well as parent tracks
(if parent_track<0 : track_no from MCTK (#0) i.e.
primary track)
The flag entry in MCTK (#1) reflects the process that
causes
this track (the number corresponds to the geant NAMEC
names).
The flag entry in MCVX (#1) shows the (unique) volume
no. so that
one can retrieve those geometry informations.
Good luck
Franz
I made modifications in some of GSIM routines and
added few other routines in order to
include CLAS target cells and physical targets used during
E2 running period (there were
4 target cells for 3He and 4He and 3 solid targets used).
Changes had been made in the following files:
gsim//clas_ffky.F
gsim//clas_geom.F
gsim//clmate.inc
gsim//gsimcontrol.inc
gsim//cltmed.inc
gsim//gsimpar.inc
gsim//init_mate.F
gsim//init_tmed.F
The following files were added:
gsim//ugeom_12_15.F
gsim//ugeom_15_27.F
gsim//ugeom_8_12.F
gsim//ugeom_stg.F
gsim//ugeom_tg_e2.F
gsim//ugeom_ur.F
There are 2 parameters that control cell/target settings
(should be defined in ffread
file):
1. TGE2 - logical variable to turn new stuff on and off,
default .FALSE. - GSIM runs
with old target definitions.
2. TGTP - integer area of 3 elements
TGTP(1) - cell type, 0=No cell, 1=all Al cell (as for E1 and beginning
of E2),
2=E2 second cell, 3=E2 third cell, 4=E2 last cell.
TGTP(2) - liquid target type 0=empty, 1=H2, 2=D2, 3=3He, 4=4He.
TGTP(3) - solid target type 2=CH2, 12=12C, 56=56Fe, nothing otherwise.
Example of ffread with new target:
TGE2 TRUE
TGTP 4 3
Liquid 3He in the last cell of E2 run period.
TGE2 TRUE
TGTP 1 1
Liquid hydrogen in the aluminum cell (E1 setting).
Please let me know if you will fiend anything wrong with
new stuff or if you will have
any difficulties to run with.
New BOS Bank GPAR |
Franz Klein |
Modified FFREAD flag: RNDM |
Maurik Holtrop |
Tracking Improvements: clas_step.c |
Maurik Holtrop |
Track Debugger: swit 3 # |
Maurik Holtrop |
This new feature for debugging is controlled with the "swit 3 #" command line switch ( which performs the same action as the ISWIT ffread flag). Currently two settings are implemented:
[Trk# partname ] Volumes
(#step #step_tot) Kin_e Processes.
GUSER_STEP I: *** Default version of guser_step called
***
[ 1 0 KAON 0 SHORT]: CLAS FOIL GAS2
( 2 2) E: 619.323 MeV NEXT
Track 1 total # of steps:
2: 0
Secondaries [2] = PION PION
[Trk# partname ] Volumes
(#step #step_tot) Kin_e Processes.
[ 3 0 PION 0
]: CLAS FOIL GAS2
( 2 2) E: 220.271 MeV NEXT
Track 3 total # of steps:
2: 0
Secondaries [2] = GAMMA GAMMA
[Trk# partname ] Volumes
(#step #step_tot) Kin_e Processes.
[ 5 0 GAMMA
]: CLAS FOIL GAS2
( 2 2) E: 126.588 MeV NEXT
[ 5 0 GAMMA
]: CLAS FOIL FOI1 FOI2
( 2 4) E: 126.588 MeV NEXT
[ 5 0 GAMMA
]: CLAS FOIL FOI1 FOI2 WIND
( 2 6) E: 126.588 MeV NEXT
This shows that the kaon (with 600 MeV kinetic energy) decays into two pions immediately, and the pion-0 decays into 2 gamma's immediately. The gamma is then stepping through the detector, relatively unaffected by any physics processes.
New BOS bank: DOCA |
K. Joo |
New Commandline Switch: -skip # |
David Rowntree |
New FFREAD Card: FAST |
Maurik Holtrop |
Updated SC Geometry: |
Maurik Holtrop |
Improved Mini Torus Geometry.: |
William Dale Conwell |
Updated Torus Geometry |
Maurik Holtrop |

I have also added the three support rings as a set of four tube shapes (tubs) in the mother volume LSS-. I used this mother volume rather than MG because the support rings would extrude from MG. Drawings used are 0100-1.dxf ,0426-1.dxf and 66100-E002499. The material chosen for the rings is clas_med_iron. The drawings below show cutouts of the 3 rings shown in red.
Main shortcomming: The geometries are still hard coded in a "data" statement instead of read from a BOS bank.
New Makefiles for gsim_int and gsim_bat: |
Maurik Holtrop |
The big advantage of this new Makefile is that you can now edit only one of the files from the gsim library and recompile gsim_int or gsim_bat without having to checkout and recompile the entire libgsim.a The following example assumes that you have a "packages" directory, we checkout the gsim_int package, and only some of the guser*.F files from the gsim package, next we move those files to gsim_int, edit them, and recompile:
packages>cvs checkout gsim_int
packages>cvs checkout gsim/guser_book.F gsim/guser_hist.F
gsim/guser_last.F
packages>mv gsim/guser_book.F gsim/guser_hist.F gsim/guser_last.F
gsim_int
packages>cd gsim_int
gsim_int>sed -e 's/Default/Personal/' < guser_book.F
> tmp.tmp && mv tmp.tmp guser_book.F
gsim_int>sed -e 's/Default/Personal/' < guser_hist.F
> tmp.tmp && mv tmp.tmp guser_hist.F
gsim_int>sed -e 's/Default/Personal/' < guser_last.F
> tmp.tmp && mv tmp.tmp guser_last.F
gsim_int>make exe
The resulting gsim_int (which will be in the usual place, most likely ~/bin/SunOS ) will report with "*** Personal version of guser_hist called ***" after the first trigger.
Now you can edit the guser*.F routines (and any other routine you checkout and copy to the gsim_int directory) and modify them as you like.
REMEMBER: Never "commit" the personal modifications you made to guser*.F routines. Never "commit" modified routines from the gsim_int or gsim_bat directories !
Add PART bank to mcin format: |
Maurik Holtrop |
Polarized Target Field Map: |
Angela Biselli |
New behaviour:
I defined a new value for PTGIFIELD. GSIM read the map if PTGIFIELD=3
I've summarised in the next table all possible magnetic field configuration
| MAGTYPE | PTG | PTGIFIELD | action |
| 0 | F | - | no magnetic field |
| 0 | T | 1,2 | only ptg field analytically evaluated |
| 0 | T | 3 | only ptg field from map |
| 1 | F | - | only torus field analytically evaluated in a simple way. |
| 1 | T | 1,2 | torus field analytically evaluated in a simple way +ptg field analytically evaluated |
| 1 | T | 3 | only torus field analytically evaluated in a simple way ptg field from map |
| 2 | F | - | only torus field from map |
| 2 | T | 1,2 | torus field from map ptg field analytically evaluated |
| 2 | T | 3 | torus field from map ptg field from map |
| 3 | F | - | torus field from map+mini field from map |
| 4 | F | - | only mini field from map |
| 3,4 | T | - | error mini and ptg are incompatible |
| - | F | 3 | error ptg field without ptg geometry |
Modified files:
bgrid.inc : Contains the definitions of the polarized grid parameters
gsimpar.inc : Contains the definitions of the command line flag "bptg", of the environment variable "GSIM_BGRIDPTG" and of the fpack file key "PTG"
init_mg.F : reads , if requested, the polarized target maps
clas_fld.F : evaluates the field in a point using the polarized target maps if requested
ptg_field.F : evaluates the polarized target field in a point by interpolating from the polarized target map like snake.F
init_flag.F : now, if MAGTYPE=0 it's possible to have only the polarized target field
A copy of the polarized target field is in $CLAS_PARMS with the name
bgrid_ptgnew.fpk. If you want to use the new features you have to set the
name of the map with the environment variable GSIM_BGRIDPTG or with the
command line flag -bptg.
Example: -bptg $CLAS_PARMS/bgrid_ptgnew.fpk
For questions or comments: biselli@infnge.ge.infn.it
Background Simulation: |
Maurik Holtrop |

Two screen shots of gsim_int with background simulation turned on. The picture on the left has no mini-toroid field, the picture on the right does. Note that the electron tracks (red tracks) for low energy electrons are truncated because gsim does not do more than 1000 steps per particle.
| NTARG = 1 | Hydrogen gas dens. 0.007g/cm3, length 76mm reads file $CLAS_PARMS/h_76mm_g.hst |
| NTARG = 2 | Hydrogen liquid dens. 0.07g/cm3 , length 76mm reads file $CLAS_PARMS/h_76mm_l.hst |
| NTARG = 3 | NH3 solid dens. 1g/cm3 , lenght 15mm reads file $CLAS_PARMS/nh3_15mm.hst |
| NTARG = 4 | Cu solid dens. 8.9 g/cm3 , lenght 10microm reads file $CLAS_PARMS/cu_10um.hst |
| NTARG >= 5 | User supplies background information, set ZTAR,ATAR,RHOT,TLENG and supply a file bckgr.hbook. |
This page has been viewed [an error occurred while processing this directive] times