3 use vars
qw(%dir_list);
6 "GALGORITHM" =>
"GFWALG",
10 "GMESSENGER" =>
"GFWMSG",
11 "GNUCLEONDECAY" =>
"GPHNDCY",
12 "GMUELOSS" =>
"GPHMEL",
13 "GFLUXDRIVERS" =>
"GTLFLX",
16 "GREGISTRY" =>
"GFWREG",
17 "GRES" =>
"GPHRESEG GPHRESXS",
20 "GPDG" =>
"GFWPARDAT",
22 "GNUMERICAL" =>
"GFWNUM",
23 "GNUCLEAR" =>
"GPHNUCLST",
24 "GNTUPLE" =>
"GFWNTP",
25 "GNUE" =>
"GPHNUELEG GPHNUELXS",
26 "GNUGAMMA" =>
"GPHAMNGEG GPHAMNGXS",
27 "GMEC" =>
"GPHMNUCEG GPHMNUCXS",
28 "GINTERACTION" =>
"GFWINT",
29 "GFRAGMENTATION" =>
"GPHHADNZ",
30 "GHADRONTRANSP" =>
"GPHHADTRANSP",
32 "GCROSSSECTIONS" =>
"GPHXSIG",
34 "GDFRC" =>
"GPHDFRCEG",
35 "GREINSEHGAL" =>
"GPHRESXS",
36 "GLLEWELLYNSMITH" =>
"GPHQELXS",
37 "GREWEIGHT" =>
"GTLREW",
38 "GEVGMODULES" =>
"GPHCMN",
39 "GEVGDRIVERS" =>
"GFWEG",
40 "GGIBUU" =>
"GPHRESXS",
41 "GELAS" =>
"GPHQELXS",
42 "GELFF" =>
"GPHQELXS",
43 "GCHARM" =>
"GPHCHMXS",
44 "GBARYONRESONANCE" =>
"GFWPARDAT",
45 "GBASE" =>
"GPHDISXS",
46 "GBODEKYANG" =>
"GPHDISXS",
47 "GCOH" =>
"GPHCOHEG GPHCOHXS"
50 foreach my $lib (sort keys %dir_list) {
51 next
if m&add_subdirectory&i;
52 next
if m&simple_plugin&i;
53 next
if m&SUBDIRNAME&i;
55 #s&\b\Q${lib}\E([^\.\s]*\b)([^\.]|$)&$dir_list{$lib}${1}${2}&g and last;
56 s&\b\Q${lib}\E\b([^\.]|$)&$dir_list{
$lib}${1}${2}&
g and last;
59 s/\$\{GPHRESEG GPHRESXS\}/\$\{GPHRESEG\} \$\{GPHRESXS\}/
g;
60 s/\$\{GPHNUELEG GPHNUELXS\}/\$\{GPHNUELEG\} \$\{GPHNUELXS\}/
g;
61 s/\$\{GPHAMNGEG GPHAMNGXS\}/\$\{GPHAMNGEG\} \$\{GPHAMNGXS\}/
g;
62 s/\$\{GPHMNUCEG GPHMNUCXS\}/\$\{GPHMNUCEG\} \$\{GPHMNUCXS\}/
g;
63 s/\$\{GPHCOHEG GPHCOHXS\}/\$\{GPHCOHEG\} \$\{GPHCOHXS\}/
g;
use File::Basename qw(fileparse)
tuple m
now if test mode generate materials, CRT shell, world, gdml header else just generate CRT shell for u...
my($xml, $fcl, $workdir, $check, $merge)
return match has_match and(match.match_pdg==11 or match.match_pdg==-11)
then echo File list $list not found else cat $list while read file do echo $file sed s
foreach my $lib(sort keys%dir_list)