/[PAMELA software]/PamVMC/examples/PamG4Libs.h
ViewVC logotype

Annotation of /PamVMC/examples/PamG4Libs.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Fri Jun 12 18:47:38 2009 UTC (15 years, 5 months ago) by pam-rm2
Branch: MAIN
CVS Tags: v1r0, HEAD
File MIME type: text/plain
*** empty log message ***

1 pam-rm2 1.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     PamG4Libs_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