/[PAMELA software]/trieste/pamVMC/macro/PamG4Libs.C
ViewVC logotype

Contents of /trieste/pamVMC/macro/PamG4Libs.C

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations) (download)
Wed Mar 4 12:51:25 2009 UTC (15 years, 9 months ago) by pamelats
Branch point for: MAIN, pamVMC
File MIME type: text/plain
Initial revision

1 // $Id: PamG4Libs.C,v 1.0 2007/06/01
2 //
3
4
5 #include <iostream>
6
7 void PamG4Libs()
8 {
9 // Loads granular Geant4 libraries.
10 // Change the comment if global libraries are used.
11 // ---
12
13 PamG4Libs_granular();
14 // PamG4Libs_global();
15 }
16
17 Bool_t isSet(const char* variable)
18 {
19 // Checks if the specified environment variable is set
20 // ---
21
22 TString value = gSystem->Getenv(variable);
23 if ( value != "") return true;
24
25 return false;
26 }
27
28 Bool_t isLibrary(const char* libName)
29 {
30 if (TString(gSystem->DynamicPathName(libName, kTRUE)) != TString(""))
31 return kTRUE;
32 else
33 return kFALSE;
34 }
35
36 void vgmlibs()
37 {
38 if (isSet("USE_VGM")) {
39 cout << "Loading VGM libraries ... " << endl;
40 gSystem->Load("libClhepVGM");
41 gSystem->Load("libBaseVGM");
42 gSystem->Load("libGeant4GM");
43 gSystem->Load("libRootGM");
44 gSystem->Load("libXmlVGM");
45 }
46 }
47
48 void PamG4Libs_graphics(Bool_t granular = true)
49 {
50 // Loads G4 graphics libraries,
51 // external packages: graphics drivers, .. used by G4
52 // ---
53
54 // Graphics configuration
55 Bool_t isXt = isSet("G4VIS_BUILD_OPACS_DRIVER") ||
56 isSet("G4VIS_BUILD_OPENGLXM_DRIVER") ||
57 isSet("G4VIS_BUILD_OIX_DRIVER") ||
58 isSet("G4UI_BUILD_XM_SESSION") ||
59 isSet("G4UI_BUILD_XAW_SESSION") ||
60 isSet("G4UI_BUILD_WO_SESSION");
61 Bool_t isXm = isSet("G4VIS_BUILD_OPENGLXM_DRIVER") ||
62 isSet("G4UI_BUILD_XM_SESSION");
63 Bool_t isXaw = isSet("G4UI_BUILD_XAW_SESSION");
64 Bool_t isGAG = !isSet("G4UI_NONE") && isSet("G4UI_USE_GAG");
65 Bool_t isDAWN = !isSet("G4VIS_NONE");
66 Bool_t isOpenGL = !isSet("G4VIS_NONE") &&
67 (isSet("G4VIS_BUILD_OPENGLX_DRIVER") ||
68 isSet("G4VIS_BUILD_OPENGLXM_DRIVER"));
69 Bool_t isVRML = !isSet("G4VIS_NONE");
70 Bool_t isRayTracer = !isSet("G4VIS_NONE");
71 Bool_t isZLIB = isSet("G4_BUILD_ZLIB");
72
73 // Geant4 interfaces
74 //
75 if (isXt) {
76 gSystem->Load("libXt");
77 }
78 if (isXm) {
79 gSystem->Load("libXm");
80 }
81 if (isXaw) {
82 gSystem->Load("libXaw");
83 }
84 if (isZLIB){
85 gSystem->Load("libG4zlib");
86 }
87 if (granular) {
88 gSystem->Load("libG4UIcommon");
89 gSystem->Load("libG4UIbasic");
90 }
91 else
92 gSystem->Load("libG4interfaces");
93
94 if (isGAG)
95 gSystem->Load("libG4UIGAG");
96
97 // Geant4 visualization
98 //
99 gSystem->Load("libG4modeling");
100 gSystem->Load("libG4vis_management");
101 gSystem->Load("libG4Tree");
102 gSystem->Load("libG4visHepRep");
103 gSystem->Load("libG4visXXX");
104 if (isDAWN)
105 gSystem->Load("libG4FR");
106 if (isOpenGL) {
107 gSystem->Load("libGLU");
108 gSystem->Load("libGL");
109 gSystem->Load("libG4OpenGL");
110 }
111 if (isVRML)
112 gSystem->Load("libG4VRML");
113 if (isRayTracer)
114 gSystem->Load("libG4RayTracer");
115 }
116
117
118 void PamG4Libs_granular()
119 {
120 // Loads G4 granular libraries and G4 VMC library.
121 // external packages: CLHEP, graphics drivers, .. used by G4
122 // ---
123
124 cout << "Loading Geant4 granular libraries ..." << endl;
125
126 // CLHEP
127 gSystem->Load("libCLHEP");
128
129 // G4 categories
130
131 // global
132 gSystem->Load("libG4globman");
133 gSystem->Load("libG4hepnumerics");
134
135 // graphics_reps
136 gSystem->Load("libG4graphics_reps");
137
138 // intercoms
139 gSystem->Load("libG4intercoms");
140
141 // materials
142 gSystem->Load("libG4materials");
143
144 // geometry
145 gSystem->Load("libG4geometrymng");
146 gSystem->Load("libG4magneticfield");
147 gSystem->Load("libG4volumes");
148 gSystem->Load("libG4navigation");
149 gSystem->Load("libG4geomBoolean");
150 gSystem->Load("libG4csg");
151 gSystem->Load("libG4brep");
152 gSystem->Load("libG4specsolids");
153 gSystem->Load("libG4geombias");
154 gSystem->Load("libG4geomdivision");
155
156 // particles
157 gSystem->Load("libG4partman");
158 gSystem->Load("libG4partutils");
159 gSystem->Load("libG4bosons");
160 gSystem->Load("libG4baryons");
161 gSystem->Load("libG4ions");
162 gSystem->Load("libG4mesons");
163 gSystem->Load("libG4leptons");
164 gSystem->Load("libG4shortlived");
165
166 // track
167 gSystem->Load("libG4track");
168
169 // processes
170 gSystem->Load("libG4procman");
171 gSystem->Load("libG4parameterisation");
172 gSystem->Load("libG4transportation");
173 gSystem->Load("libG4cuts");
174 gSystem->Load("libG4decay");
175
176 gSystem->Load("libG4emutils");
177 gSystem->Load("libG4emstandard");
178 gSystem->Load("libG4emlowenergy");
179 gSystem->Load("libG4muons");
180 gSystem->Load("libG4xrays");
181 gSystem->Load("libG4optical");
182
183 gSystem->Load("libG4hadronic_util");
184 gSystem->Load("libG4hadronic_xsect");
185 gSystem->Load("libG4hadronic_stop");
186 gSystem->Load("libG4hadronic_mgt");
187 gSystem->Load("libG4hadronic_proc");
188 gSystem->Load("libG4had_mod_man.so");
189 gSystem->Load("libG4had_im_r_matrix.so");
190 gSystem->Load("libG4had_string_man.so");
191 gSystem->Load("libG4had_string_diff.so");
192 gSystem->Load("libG4had_string_frag.so");
193 gSystem->Load("libG4had_mod_util.so");
194 gSystem->Load("libG4hadronic_qgstring");
195 gSystem->Load("libG4hadronic_HE");
196 gSystem->Load("libG4hadronic_LE");
197 gSystem->Load("libG4hadronic_deex_util");
198 gSystem->Load("libG4hadronic_bert_cascade.so");
199 gSystem->Load("libG4had_muon_nuclear.so");
200 gSystem->Load("libG4had_neu_hp.so");
201 gSystem->Load("libG4had_preequ_exciton.so");
202 gSystem->Load("libG4had_theo_max.so");
203 gSystem->Load("libG4hadronic_binary.so");
204 gSystem->Load("libG4hadronic_body_ci.so");
205 gSystem->Load("libG4hadronic_coherent_elastic.so");
206 gSystem->Load("libG4hadronic_deex_management.so");
207 gSystem->Load("libG4hadronic_deex_gem_evaporation.so");
208 gSystem->Load("libG4hadronic_deex_evaporation.so");
209 gSystem->Load("libG4hadronic_deex_fermi_breakup.so");
210 gSystem->Load("libG4hadronic_deex_fission.so");
211 gSystem->Load("libG4hadronic_deex_handler.so");
212 gSystem->Load("libG4hadronic_deex_multifragmentation.so");
213 gSystem->Load("libG4hadronic_deex_photon_evaporation.so");
214 gSystem->Load("libG4hadronic_hetcpp_evaporation.so");
215 gSystem->Load("libG4hadronic_hetcpp_utils.so");
216 gSystem->Load("libG4hadronic_interface_ci.so");
217 gSystem->Load("libG4hadronic_iso.so");
218 gSystem->Load("libG4hadronic_leading_particle.so");
219 gSystem->Load("libG4hadronic_radioactivedecay.so");
220
221 // tracking
222 gSystem->Load("libG4tracking");
223
224 // digits_hits
225 gSystem->Load("libG4hits");
226 gSystem->Load("libG4digits");
227 gSystem->Load("libG4detector");
228 gSystem->Load("libG4detutils");
229
230 // parameterisation
231 gSystem->Load("libG4gflash");
232 //gSystem->Load("libG4trdmodels");
233
234 // event
235 gSystem->Load("libG4event");
236
237 // readout
238 gSystem->Load("libG4readout");
239
240 // run
241 gSystem->Load("libG4run");
242
243 // g3tog4
244 gSystem->Load("libG3toG4");
245
246 // interfaces and graphics
247 PamG4Libs_graphics();
248
249 // VGM libraries
250 vgmlibs();
251
252 // G4Root library (if available)
253 if ( isLibrary("libG4root") )
254 gSystem->Load("libG4root");
255
256 // Geant4 VMC library
257 gSystem->Load("libgeant4vmc");
258
259 cout << "Loading libraries ... finished" << endl;
260 }
261
262 void PamG4Libs_global()
263 {
264 // Loads G4 global libraries,
265 // external packages: CLHEP, graphics drivers, .. used by G4
266 // and Alice G4 libraries: AliGeant4, TGeant4
267 // ---
268
269 cout << "Loading Geant4 global libraries ..." << endl;
270
271 // CLHEP
272 gSystem->Load("$(CLHEP_BASE_DIR)/lib/libCLHEP");
273
274 // Geant4
275 gSystem->Load("libG4global");
276 gSystem->Load("libG4graphics_reps");
277 gSystem->Load("libG4intercoms");
278 gSystem->Load("libG4materials");
279 gSystem->Load("libG4geometry");
280 gSystem->Load("libG4particles");
281 gSystem->Load("libG4track");
282 gSystem->Load("libG4processes");
283 gSystem->Load("libG4tracking");
284 gSystem->Load("libG4digits_hits");
285 gSystem->Load("libG4event");
286 gSystem->Load("libG4readout");
287 gSystem->Load("libG4run");
288 gSystem->Load("libG3toG4");
289
290 // interfaces and graphics
291 PamG4ibs_graphics(false);
292
293 // VGM libraries
294 vgmlibs();
295
296 // geant4 VMC
297 gSystem->Load("libgeant4vmc");
298
299 cout << "Loading libraries ... finished" << endl;
300 }
301

  ViewVC Help
Powered by ViewVC 1.1.23