]>
Commit | Line | Data |
---|---|---|
0f507a31 | 1 | #include <iostream.h> |
2 | ||
3 | static Bool_t isGeant4 = false; | |
4 | static Bool_t isSteer = false; | |
5 | static Bool_t isDetector = false; | |
6 | ||
7 | void g4libs() | |
8 | { | |
9 | // Loads G4 global libraries, | |
10 | // external packages: CLHEP, graphics drivers, .. used by G4 | |
11 | // and Alice G4 libraries: AliGeant4, TGeant4 | |
12 | // --- | |
13 | if (!isGeant4) { | |
14 | ||
15 | // CLHEP | |
16 | gSystem->Load("$(CLHEP_BASE_DIR)/lib/libCLHEP"); | |
17 | ||
18 | // Geant4 | |
19 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4global"); | |
20 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4graphics_reps"); | |
21 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4intercoms"); | |
22 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4materials"); | |
23 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4geometry"); | |
24 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4particles"); | |
25 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4track"); | |
26 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4processes"); | |
27 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4tracking"); | |
28 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4digits+hits"); | |
29 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4event"); | |
30 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4readout"); | |
31 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4run"); | |
32 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG3toG4"); | |
33 | ||
34 | // Geant4 interfaces | |
35 | //gSystem->Load("/usr/X11R6/lib/libXt"); | |
36 | //gSystem->Load("/usr/local/lib/libXm"); | |
37 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4UIcommon"); | |
38 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4UIbasic"); | |
39 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4UIGAG"); | |
40 | ||
41 | // Geant4 visualization | |
42 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4vis_management"); | |
43 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4modeling"); | |
44 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4FR"); | |
45 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4OpenGL"); | |
46 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4VRML"); | |
47 | ||
48 | // TGeant4, AliGeant4 | |
49 | gSystem->Load("$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET)/libTGeant4"); | |
50 | gSystem->Load("$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET)/libAliGeant4"); | |
51 | ||
52 | isGeant4 = true; | |
53 | cout << "Geant4 global libraries have been loaded." << endl; | |
54 | } | |
55 | } | |
56 | ||
57 | void g4libs_granular() | |
58 | { | |
59 | // Loads G4 granular libraries, | |
60 | // external packages: CLHEP, graphics drivers, .. used by G4 | |
61 | // and Alice G4 libraries: AliGeant4, TGeant4 | |
62 | // --- | |
63 | if (!isGeant4) { | |
64 | ||
65 | // CLHEP | |
66 | gSystem->Load("$(CLHEP_BASE_DIR)/lib/libCLHEP"); | |
67 | ||
68 | // G4 categories | |
69 | ||
70 | // global | |
71 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4globman"); | |
72 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4hepnumerics"); | |
73 | ||
74 | // graphics_reps | |
75 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4graphics_reps"); | |
76 | ||
77 | // intercoms | |
78 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4intercoms"); | |
79 | ||
80 | // materials | |
81 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4materials"); | |
82 | ||
83 | // geometry | |
84 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4magneticfield"); | |
85 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4volumes"); | |
86 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4geometrymng"); | |
87 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4geomBoolean"); | |
88 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4csg"); | |
89 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4step"); | |
90 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4brep"); | |
91 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4stepinterface"); | |
92 | ||
93 | // particles | |
94 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4partman"); | |
95 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4bosons"); | |
96 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4baryons"); | |
97 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4ions"); | |
98 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4mesons"); | |
99 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4leptons"); | |
100 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4shortlived"); | |
101 | ||
102 | // track | |
103 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4track"); | |
104 | ||
105 | // processes | |
106 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4procman"); | |
107 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4parameterisation"); | |
108 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4decay"); | |
109 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4emutils"); | |
110 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4emstandard"); | |
111 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4emlowenergy"); | |
112 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4muons"); | |
113 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4xrays"); | |
114 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4hadronic_xsect"); | |
115 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4hadronic_mgt"); | |
116 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4hadronic_proc"); | |
117 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4hadronic_stop"); | |
118 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4hadronic_util"); | |
119 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4hadronic_man_gen"); | |
120 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4hadronic_deex"); | |
121 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4hadronic_string_common"); | |
122 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4hadronic_diffstring"); | |
123 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4hadronic_stringfrag"); | |
124 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4hadronic_HE_gen"); | |
125 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4hadronic_kinetic"); | |
126 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4hadronic_preequ"); | |
127 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4hadronic_qgstring"); | |
128 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4hadronic_util_gen"); | |
129 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4hadronic_HE"); | |
130 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4hadronic_LE"); | |
131 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4hadronic_iso"); | |
132 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4hadronic_neu"); | |
133 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4optical"); | |
134 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4photolepton_hadron"); | |
135 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4transportation"); | |
136 | ||
137 | // tracking | |
138 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4tracking"); | |
139 | ||
140 | // digits+hits | |
141 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4hits"); | |
142 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4digits"); | |
143 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4detector"); | |
144 | ||
145 | // event | |
146 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4event"); | |
147 | ||
148 | // readout | |
149 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4readout"); | |
150 | ||
151 | // run | |
152 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4run"); | |
153 | ||
154 | // g3tog4 | |
155 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG3toG4"); | |
156 | ||
157 | // interfaces | |
158 | //gSystem->Load("/usr/X11R6/lib/libXt"); | |
159 | //gSystem->Load("/usr/local/lib/libXm"); | |
160 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4UIcommon"); | |
161 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4UIbasic"); | |
162 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4UIGAG"); | |
163 | ||
164 | // visualisation | |
165 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4vis_management"); | |
166 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4modeling"); | |
167 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4FR"); | |
168 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4OpenGL"); | |
169 | gSystem->Load("$(G4INSTALL)/lib/$(G4SYSTEM)/libG4VRML"); | |
170 | ||
171 | // TGeant4, AliGeant4 | |
172 | gSystem->Load("$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET)/libTGeant4"); | |
173 | gSystem->Load("$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET)/libAliGeant4"); | |
174 | ||
175 | isGeant4 = true; | |
176 | cout << "Geant4 granular libraries have been loaded." << endl; | |
177 | } | |
178 | } | |
179 | ||
180 | void steerlibs() { | |
181 | // Loads AliRoot steer libraries | |
182 | // --- | |
183 | if (!isSteer) { | |
184 | ||
185 | gSystem->Load("$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET)/libSTEER"); | |
186 | gSystem->Load("$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET)/libdummypythia"); | |
187 | gSystem->Load("$(ROOTSYS)/lib/libEGPythia"); | |
188 | gSystem->Load("$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET)/libEVGEN"); | |
189 | ||
190 | isSteer = true; | |
191 | cout << "AliRoot steer libraries have been loaded." << endl; | |
192 | } | |
193 | } | |
194 | ||
195 | void detlibs() { | |
196 | // Load AliRoot modules libraries | |
197 | // --- | |
198 | if (!isDetector) { | |
199 | ||
200 | gSystem->Load("$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET)/libminicern"); | |
201 | // minicern required by MUON | |
202 | gSystem->Load("$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET)/libSTRUCT"); | |
203 | gSystem->Load("$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET)/libFMD"); | |
204 | gSystem->Load("$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET)/libMUON"); | |
205 | gSystem->Load("$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET)/libPHOS"); | |
206 | gSystem->Load("$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET)/libPMD"); | |
207 | gSystem->Load("$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET)/libRICH"); | |
208 | gSystem->Load("$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET)/libTOF"); | |
209 | gSystem->Load("$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET)/libTPC"); | |
210 | gSystem->Load("$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET)/libTRD"); | |
211 | //gSystem->Load("$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET)/libZDC"); | |
212 | // requires symbols from geant3 lib | |
213 | gSystem->Load("$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET)/libITS"); | |
214 | gSystem->Load("$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET)/libCASTOR"); | |
215 | gSystem->Load("$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET)/libSTART"); | |
216 | ||
217 | isDetector = true; | |
218 | cout << "AliRoot detectors libraries have been loaded." << endl; | |
219 | } | |
220 | } |