]> git.uio.no Git - u/mrichter/AliRoot.git/blob - AliGeant4/macro/g4libs.C
c5a58a072c89acd5e4ae58d8817252381665cd5a
[u/mrichter/AliRoot.git] / AliGeant4 / macro / g4libs.C
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 }