Project

General

Profile

Test38 demonstrator » History » Version 2

Robert Hatcher, 11/11/2015 10:09 AM

1 1 Robert Hatcher
h1. test38 demonstrator
2 1 Robert Hatcher
3 2 Robert Hatcher
h2. Purpose
4 2 Robert Hatcher
5 2 Robert Hatcher
As the new factory was designed to be a fully compatible drop-in replacement for the old factory the basic test is to see that it performs identically in all the currently supported cases.  This program tests that, and compares the two, when run with the @-o@ flag.
6 2 Robert Hatcher
7 2 Robert Hatcher
In addition the program is designed to exercise some of the new features, especially the ability to extend the list of known lists.
8 2 Robert Hatcher
9 2 Robert Hatcher
To that end, it (on UNIX systems) tries three cases beyond the pre-defined lists.  In one case, @MyPL0@, it incorporates the new physics list into the executable itself.  For @MyPL1@ the list's code resides in an external library @g4plft1@ (G4 PhysList Factory Test 1) that is linked to the executable at build time.  In the final case @MyPL2@ is in the external library @g4plft2@ that is dynamically loaded at run time after the executable @g4plfactory_test38@ starts.
10 2 Robert Hatcher
11 2 Robert Hatcher
h2. When built as part of ctest
12 2 Robert Hatcher
13 1 Robert Hatcher
<pre>
14 1 Robert Hatcher
$ BuildProducts/bin/g4plfactory_test38  -h
15 1 Robert Hatcher
BuildProducts/bin/g4plfactory_test38:  G4PLFactoryTest - a simplified Geant4 app for testing 
16 1 Robert Hatcher
the G4PhysListFactory
17 1 Robert Hatcher
   BuildProducts/bin/g4plfactory_test38 [options] [physList1 physList2[=N]]
18 1 Robert Hatcher
  -h --help       this output
19 1 Robert Hatcher
  -f              print phylist factory status
20 1 Robert Hatcher
  -F              print old phylist factory availability
21 1 Robert Hatcher
  -c              print physics ctor list
22 1 Robert Hatcher
  -r              print physics list registry list
23 1 Robert Hatcher
                    repeat to print before adding 2nd library
24 1 Robert Hatcher
  -v --verbose    increase program verbosity
25 1 Robert Hatcher
  -V <n>          set factory verbosity
26 1 Robert Hatcher
  -D --defaults   add default tests even if user supplied tests
27 1 Robert Hatcher
  -o --old        test old factory
28 1 Robert Hatcher
  -e --env=PNAME  PhysicsList to use as env variable [QGSP_BERT]
29 1 Robert Hatcher
                       use "skip" to skip these 2 tests
30 1 Robert Hatcher
     --lend       try ShieldingLEND (needs special data) in default list
31 1 Robert Hatcher
     --xyzzy      try to add non-existent physics ctor in default list
32 1 Robert Hatcher
                   (will though throw G4Exception w/ --fatal)
33 1 Robert Hatcher
     --fatal      throw exception if new factory can't satisfy request
34 1 Robert Hatcher
 
35 1 Robert Hatcher
  If given, the list of physics lists to try override the default set.
36 1 Robert Hatcher
  User can specify if they expect each to work with the 
37 1 Robert Hatcher
    new (1), old (2), both (3) or neither (0) factory;
38 1 Robert Hatcher
    if unspecified, assumes 3.
39 1 Robert Hatcher
</pre>
40 1 Robert Hatcher
41 1 Robert Hatcher
<pre>
42 1 Robert Hatcher
$ BuildProducts/bin/g4plfactory_test38  -f -F
43 1 Robert Hatcher
44 1 Robert Hatcher
*************************************************************
45 1 Robert Hatcher
 Geant4 version Name: geant4-10-01-ref-10    (31-October-2015)
46 1 Robert Hatcher
                      Copyright : Geant4 Collaboration
47 1 Robert Hatcher
                      Reference : NIM A 506 (2003), 250-303
48 1 Robert Hatcher
                            WWW : http://cern.ch/geant4
49 1 Robert Hatcher
*************************************************************
50 1 Robert Hatcher
51 1 Robert Hatcher
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
52 1 Robert Hatcher
BuildProducts/bin/g4plfactory_test38: state of the _old_ factory:-
53 1 Robert Hatcher
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
54 1 Robert Hatcher
55 1 Robert Hatcher
old factory base physlists:
56 1 Robert Hatcher
  [ 0] = FTFP_BERT
57 1 Robert Hatcher
  [ 1] = FTFP_BERT_TRV
58 1 Robert Hatcher
  [ 2] = FTFP_BERT_HP
59 1 Robert Hatcher
  [ 3] = FTFP_INCLXX
60 1 Robert Hatcher
  [ 4] = FTFP_INCLXX_HP
61 1 Robert Hatcher
  [ 5] = FTF_BIC
62 1 Robert Hatcher
  [ 6] = LBE
63 1 Robert Hatcher
  [ 7] = QBBC
64 1 Robert Hatcher
  [ 8] = QGSP_BERT
65 1 Robert Hatcher
  [ 9] = QGSP_BERT_HP
66 1 Robert Hatcher
  [10] = QGSP_BIC
67 1 Robert Hatcher
  [11] = QGSP_BIC_HP
68 1 Robert Hatcher
  [12] = QGSP_BIC_AllHP
69 1 Robert Hatcher
  [13] = QGSP_FTFP_BERT
70 1 Robert Hatcher
  [14] = QGSP_INCLXX
71 1 Robert Hatcher
  [15] = QGSP_INCLXX_HP
72 1 Robert Hatcher
  [16] = QGS_BIC
73 1 Robert Hatcher
  [17] = Shielding
74 1 Robert Hatcher
  [18] = ShieldingLEND
75 1 Robert Hatcher
  [19] = ShieldingM
76 1 Robert Hatcher
  [20] = NuBeam
77 1 Robert Hatcher
old factory EM extensions:
78 1 Robert Hatcher
  [ 0] = 
79 1 Robert Hatcher
  [ 1] = _EMV
80 1 Robert Hatcher
  [ 2] = _EMX
81 1 Robert Hatcher
  [ 3] = _EMY
82 1 Robert Hatcher
  [ 4] = _EMZ
83 1 Robert Hatcher
  [ 5] = _LIV
84 1 Robert Hatcher
  [ 6] = _PEN
85 1 Robert Hatcher
  [ 7] = __GS
86 1 Robert Hatcher
87 1 Robert Hatcher
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
88 1 Robert Hatcher
89 1 Robert Hatcher
BuildProducts/bin/g4plfactory_test38: (before) phys ctors 60, phys lists 24, ext 8, em 8
90 1 Robert Hatcher
BuildProducts/bin/g4plfactory_test38: try to dynamically load 'libg4plft2'
91 1 Robert Hatcher
BuildProducts/bin/g4plfactory_test38: successfully loaded 'libg4plft2'
92 1 Robert Hatcher
BuildProducts/bin/g4plfactory_test38: now add extensions mappings ALTDK, NEWPHY and XYZZY 
93 1 Robert Hatcher
BuildProducts/bin/g4plfactory_test38: (after)  phys ctors 62, phys lists 26, ext 11, em 11
94 1 Robert Hatcher
95 1 Robert Hatcher
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
96 1 Robert Hatcher
BuildProducts/bin/g4plfactory_test38: state of the new factory:-
97 1 Robert Hatcher
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
98 1 Robert Hatcher
99 1 Robert Hatcher
Base G4VModularPhysicsLists in G4PhysListRegistry are:
100 1 Robert Hatcher
 [  0]  "FTFP_BERT"
101 1 Robert Hatcher
 [  1]  "FTFP_BERT_HP"
102 1 Robert Hatcher
 [  2]  "FTFP_BERT_TRV"
103 1 Robert Hatcher
 [  3]  "FTFP_INCLXX"
104 1 Robert Hatcher
 [  4]  "FTFP_INCLXX_HP"
105 1 Robert Hatcher
 [  5]  "FTF_BIC"
106 1 Robert Hatcher
 [  6]  "G4GenericPhysicsList"
107 1 Robert Hatcher
 [  7]  "LBE"
108 1 Robert Hatcher
 [  8]  "MyPL0"
109 1 Robert Hatcher
 [  9]  "MyPL1"
110 1 Robert Hatcher
 [ 10]  "MyPL2"
111 1 Robert Hatcher
 [ 11]  "NuBeam"
112 1 Robert Hatcher
 [ 12]  "QBBC"
113 1 Robert Hatcher
 [ 13]  "QGSP_BERT"
114 1 Robert Hatcher
 [ 14]  "QGSP_BERT_HP"
115 1 Robert Hatcher
 [ 15]  "QGSP_BIC"
116 1 Robert Hatcher
 [ 16]  "QGSP_BIC_AllHP"
117 1 Robert Hatcher
 [ 17]  "QGSP_BIC_HP"
118 1 Robert Hatcher
 [ 18]  "QGSP_FTFP_BERT"
119 1 Robert Hatcher
 [ 19]  "QGSP_INCLXX"
120 1 Robert Hatcher
 [ 20]  "QGSP_INCLXX_HP"
121 1 Robert Hatcher
 [ 21]  "QGS_BIC"
122 1 Robert Hatcher
 [ 22]  "Shielding"
123 1 Robert Hatcher
 [ 23]  "ShieldingLEND"
124 1 Robert Hatcher
 [ 24]  "ShieldingM"
125 1 Robert Hatcher
 [ 25]  "myns::MyNSPL3"
126 1 Robert Hatcher
Replacement mappings in G4PhysListRegistry are:
127 1 Robert Hatcher
         ALTDK =>              G4NewDecayPhysics 
128 1 Robert Hatcher
           EMV =>    G4EmStandardPhysics_option1 
129 1 Robert Hatcher
           EMX =>    G4EmStandardPhysics_option2 
130 1 Robert Hatcher
           EMY =>    G4EmStandardPhysics_option3 
131 1 Robert Hatcher
           EMZ =>    G4EmStandardPhysics_option4 
132 1 Robert Hatcher
            GS =>          G4EmStandardPhysicsGS 
133 1 Robert Hatcher
           LIV =>           G4EmLivermorePhysics 
134 1 Robert Hatcher
        NEWPHY =>       myns::G4NewExoticPhysics 
135 1 Robert Hatcher
           PEN =>            G4EmPenelopePhysics 
136 1 Robert Hatcher
         XYZZY =>                  NoSuchPhysics [unregistered physics]
137 1 Robert Hatcher
           _GS =>          G4EmStandardPhysicsGS 
138 1 Robert Hatcher
Use these mapping to extend physics list; append with _EXT or +EXT
139 1 Robert Hatcher
   to use ReplacePhysics() ("_") or RegisterPhysics() ("+").
140 1 Robert Hatcher
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
141 1 Robert Hatcher
142 1 Robert Hatcher
</pre>