1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
18 Revision 1.24 2000/09/14 07:08:42 fca
19 Introducing glvolu in the interface
21 Revision 1.23 2000/07/12 08:56:32 fca
22 Coding convention correction and warning removal
24 Revision 1.22 2000/07/11 18:25:00 fca
25 Coding convention corrections + few minor bug fixes
27 Revision 1.21 2000/06/27 09:26:18 fca
30 Revision 1.20 2000/05/16 13:10:41 fca
31 New method IsNewTrack and fix for a problem in Father-Daughter relations
33 Revision 1.19 2000/04/09 19:00:26 fca
34 Small corrections left over from removal of AliVMC for G4 compatibility
36 Revision 1.18 2000/02/28 21:03:57 fca
37 Some additions to improve the compatibility with G4
39 Revision 1.17 2000/02/23 16:25:25 fca
40 AliVMC and AliGeant3 classes introduced
41 ReadEuclid moved from AliRun to AliModule
43 Revision 1.16 2000/01/18 16:27:18 morsch
44 Dummy definition of Gftmat, Gbrelm and Gprelm added.
46 Revision 1.15 2000/01/17 19:41:17 fca
49 Revision 1.14 1999/11/03 16:31:36 fca
50 Dummy ProdProcess should return a value
52 Revision 1.13 1999/11/03 13:17:08 fca
53 Have ProdProcess return const char*
55 Revision 1.12 1999/11/02 17:05:06 fca
56 Update GetSecondary arguments
58 Revision 1.11 1999/09/29 09:24:31 fca
59 Introduction of the Copyright and cvs Log
63 //////////////////////////////////////////////////////
64 // C++ dummy interface to Geant3 basic routines //
65 //////////////////////////////////////////////////////
69 //---------------------------------------------------------
73 //___________________________________________
76 //___________________________________________
77 TGeant3::TGeant3(const char *title, Int_t)
78 :AliMC("TGeant3",title){}
80 //___________________________________________
81 void TGeant3::DefaultRange() {}
83 //___________________________________________
84 void TGeant3::LoadAddress() {}
86 //=======================functions from GBASE
88 //___________________________________________
89 void TGeant3::FinishGeometry() {}
90 void TGeant3::Gfile(const char*, const char*) {}
91 void TGeant3::GeomIter() {}
92 Int_t TGeant3::CurrentMaterial(Float_t &, Float_t &, Float_t &, Float_t &, Float_t &) const {return 0;}
93 Int_t TGeant3::NextVolUp(Text_t*, Int_t&) {return 0;}
94 Int_t TGeant3::CurrentVolID(Int_t&) const {return 0;}
95 const char* TGeant3::CurrentVolName() const {return 0;}
96 Float_t TGeant3::Xsec(char*, Float_t, Int_t, Int_t) {return 0;}
97 Int_t TGeant3::NofVolumes() const {return 0;}
98 Int_t TGeant3::CurrentVolOffID(Int_t, Int_t&) const {return 0;}
99 const char *TGeant3::CurrentVolOffName(Int_t) const {return 0;}
100 void TGeant3::TrackPosition(TLorentzVector&) const {}
101 void TGeant3::TrackMomentum(TLorentzVector&) const {}
102 Int_t TGeant3::IdFromPDG(Int_t) const {return -1;}
103 Int_t TGeant3::PDGFromId(Int_t) const {return -1;}
104 void TGeant3::DefineParticles() {}
105 Int_t TGeant3::VolId(const Text_t*) const {return 0;}
106 void TGeant3::SetCut(const char* , Float_t ) {}
107 void TGeant3::SetProcess(const char* , Int_t ) {}
108 const char* TGeant3::VolName(Int_t ) const {return 0;}
109 Float_t TGeant3::TrackCharge() const {return 0;}
110 Float_t TGeant3::TrackMass() const {return 0;}
111 Bool_t TGeant3::IsNewTrack() const {return 0;}
112 Bool_t TGeant3::IsTrackInside() const {return 0;}
113 Bool_t TGeant3::IsTrackEntering() const {return 0;}
114 Bool_t TGeant3::IsTrackExiting() const {return 0;}
115 Bool_t TGeant3::IsTrackOut() const {return 0;}
116 Bool_t TGeant3::IsTrackDisappeared() const {return 0;}
117 Bool_t TGeant3::IsTrackStop() const {return 0;}
118 Int_t TGeant3::NSecondaries() const {return 0;}
119 AliMCProcess TGeant3::ProdProcess() const {return kPNoProcess;}
120 void TGeant3::GetSecondary(Int_t, Int_t&,
121 TLorentzVector&, TLorentzVector&){}
122 Float_t TGeant3::MaxStep() const {return 0;}
123 void TGeant3::SetMaxStep(Float_t ) {}
124 Int_t TGeant3::CurrentEvent() const {return 0;}
125 Int_t TGeant3::GetMedium() const {return 0;}
126 Float_t TGeant3::Edep() const {return 0;}
127 Float_t TGeant3::Etot() const {return 0;}
128 Float_t TGeant3::TrackStep() const {return 0;}
129 Float_t TGeant3::TrackLength() const {return 0;}
130 Float_t TGeant3::TrackTime() const {return 0;}
131 Int_t TGeant3::TrackPid() const {return 0;}
132 Bool_t TGeant3::IsTrackAlive() const {return 0;}
133 void TGeant3::StopTrack() {}
134 void TGeant3::StopEvent() {}
135 void TGeant3::SetMaxNStep(Int_t) {}
136 Int_t TGeant3::GetMaxNStep() const {return 0;}
137 void TGeant3::Material(Int_t&, const char*, Float_t, Float_t, Float_t, Float_t,
138 Float_t, Float_t*, Int_t){}
139 void TGeant3::Mixture(Int_t&, const char*, Float_t*, Float_t*, Float_t, Int_t, Float_t*){}
140 void TGeant3::Medium(Int_t&, const char*, Int_t, Int_t, Int_t, Float_t, Float_t,
141 Float_t, Float_t, Float_t, Float_t, Float_t*, Int_t){}
142 void TGeant3::Matrix(Int_t&, Float_t, Float_t, Float_t, Float_t, Float_t, Float_t){}
143 void TGeant3::WriteEuclid(const char*, const char*, Int_t, Int_t) {}
146 void TGeant3::Gpcxyz() {}
147 void TGeant3::Ggclos() {}
148 void TGeant3::Glast() {}
149 void TGeant3::Gprint(const char*) {}
150 void TGeant3::Grun() {}
151 void TGeant3::Gtrig() {}
152 void TGeant3::Gtrigc() {}
153 void TGeant3::Gtrigi() {}
154 void TGeant3::Gwork(Int_t) {}
155 void TGeant3::Gzinit() {}
158 //=======================functions from GCONS
159 //___________________________________________
160 void TGeant3::Gfmate(Int_t, char*, Float_t&, Float_t&, Float_t&, Float_t&,
161 Float_t&, Float_t*, Int_t&){}
163 //___________________________________________
164 void TGeant3::Gfpart(Int_t, char*, Int_t&, Float_t&, Float_t&, Float_t&){}
166 //___________________________________________
167 void TGeant3::Gftmed(Int_t, char*, Int_t&, Int_t&, Int_t&, Float_t&, Float_t&,
168 Float_t&, Float_t&, Float_t&, Float_t&, Float_t*, Int_t*){}
169 void TGeant3::Gftmat(Int_t, Int_t, char*, Int_t, Float_t*, Float_t*,
171 Float_t TGeant3::Gbrelm(Float_t, Float_t, Float_t){return (Float_t) 0;}
172 Float_t TGeant3::Gprelm(Float_t, Float_t, Float_t){return (Float_t) 0;}
175 //___________________________________________
176 void TGeant3::Gmate() {}
177 void TGeant3::Gpart() {}
178 void TGeant3::Gsdk(Int_t, Float_t*, Int_t*) {}
179 void TGeant3::Gsmate(Int_t, const char*, Float_t, Float_t, Float_t, Float_t, Float_t) {}
180 void TGeant3::Gsmixt(Int_t, const char*, Float_t*, Float_t*, Float_t, Int_t, Float_t*) {}
181 void TGeant3::Gspart(Int_t, const char*, Int_t, Float_t, Float_t, Float_t) {}
182 void TGeant3::Gstmed(Int_t, const char*, Int_t, Int_t,
183 Int_t, Float_t, Float_t, Float_t, Float_t, Float_t, Float_t) {}
184 void TGeant3::Gstpar(Int_t, const char*, Float_t) {}
185 void TGeant3::Gsckov(Int_t, Int_t, Float_t *, Float_t *, Float_t *, Float_t *) {}
188 //=======================functions from GKINE
189 //___________________________________________
190 void TGeant3::Gfkine(Int_t, Float_t*, Float_t*, Int_t&, Int_t&) {}
191 void TGeant3::Gfvert(Int_t, Float_t*, Int_t&, Int_t&, Float_t&) {}
192 Int_t TGeant3::Gskine(Float_t*, Int_t, Int_t, Float_t*, Int_t){return 0;}
194 //___________________________________________
195 Int_t TGeant3::Gsvert(Float_t*, Int_t, Int_t, Float_t*, Int_t){return 0;}
197 //=======================functions from GPHYS
198 //___________________________________________
199 void TGeant3::Gphysi() {}
202 //=======================functions from GTRAK
203 //___________________________________________
204 void TGeant3::Gdebug() {}
205 void TGeant3::Gekbin() {}
206 void TGeant3::Gfinds() {}
207 void TGeant3::Gsking(Int_t) {}
208 void TGeant3::Gskpho(Int_t) {}
209 void TGeant3::Gsstak(Int_t) {}
210 void TGeant3::Gsxyz() {}
211 void TGeant3::Gtrack() {}
212 void TGeant3::Gtreve() {}
213 void TGeant3::GtreveRoot() {}
214 void TGeant3::Grndm(Float_t*, const Int_t) const {}
215 void TGeant3::Grndmq(Int_t&, Int_t&, const Int_t, const Text_t*) {}
217 //=======================functions from GDRAW
218 //___________________________________________
219 void TGeant3::Gdxyz(Int_t ) {}
220 void TGeant3::Gdcxyz() {}
223 //=======================functions from GGEOM
224 //___________________________________________
225 void TGeant3::Gdtom(Float_t*, Float_t*, Int_t) {}
226 void TGeant3::Glmoth(const char*, Int_t, Int_t&, Int_t*, Int_t*) {}
227 void TGeant3::Gmedia(Float_t*, Int_t&) {}
228 void TGeant3::Gmtod(Float_t*, Float_t*, Int_t) {}
229 void TGeant3::Gsdvn(const char*, const char*, Int_t, Int_t) {}
230 void TGeant3::Gsdvn2(const char*, const char*, Int_t, Int_t, Float_t, Int_t) {}
231 void TGeant3::Gsdvs(const char*, const char*, Float_t, Int_t, Int_t) {}
232 void TGeant3::Gsdvs2(const char*, const char*, Float_t, Int_t, Float_t, Int_t) {}
233 void TGeant3::Gsdvt(const char*, const char*, Float_t, Int_t, Int_t, Int_t) {}
234 void TGeant3::Gsdvt2(const char *, const char *, Float_t, Int_t, Float_t, Int_t, Int_t) {}
235 void TGeant3::Gsord(const char*, Int_t) {}
236 void TGeant3::Gspos(const char*, Int_t, const char*, Float_t, Float_t, Float_t, Int_t, const char*) {}
237 void TGeant3::Gsposp(const char*, Int_t, const char*, Float_t, Float_t, Float_t, Int_t, const char*, Float_t*, Int_t) {}
238 void TGeant3::Gsrotm(Int_t, Float_t, Float_t, Float_t, Float_t, Float_t, Float_t) {}
239 void TGeant3::Gprotm(Int_t) {}
240 Int_t TGeant3::Gsvolu(const char*, const char*, Int_t, Float_t*, Int_t){return 0;}
241 void TGeant3::Gsatt(const char*, const char*, Int_t) {}
242 void TGeant3::Gfpara(const char*, Int_t, Int_t, Int_t&, Int_t&, Float_t*, Float_t*) {}
243 void TGeant3::Gckpar(Int_t, Int_t, Float_t*) {}
244 void TGeant3::Gckmat(Int_t, char*) {}
245 Int_t TGeant3::Glvolu(Int_t, Int_t*, Int_t*) {return 0;}
246 void TGeant3::BuildPhysics() {}
248 //______________________________________________________________________________
249 void TGeant3::Streamer(TBuffer &R__b)
251 // Stream an object of class TGeant3.
253 if (R__b.IsReading()) {
254 Version_t R__v = R__b.ReadVersion(); if (R__v) { }
255 AliMC::Streamer(R__b);
258 R__b.WriteVersion(TGeant3::IsA());
259 AliMC::Streamer(R__b);
264 //=======================DRAW functions
265 //____________________________________
266 void TGeant3::InitHIGZ() {}
267 void TGeant3::Gdopen(Int_t) {}
268 void TGeant3::Gdclose() {}
269 void TGeant3::Gdelete(Int_t) {}
270 void TGeant3::Gdshow(Int_t) {}
271 void TGeant3::Gdopt(const char *,const char *) {}
272 void TGeant3::Gdraw(const char *,Float_t, Float_t, Float_t,Float_t,Float_t,Float_t,Float_t) {}
273 void TGeant3::Gdrawc(const char *,Int_t, Float_t,Float_t,Float_t,Float_t,Float_t) {}
274 void TGeant3::Gdrawx(const char *,Float_t, Float_t, Float_t,
275 Float_t, Float_t,Float_t,Float_t,Float_t,Float_t) {}
276 void TGeant3::Gdhead(Int_t, const char *, Float_t) {}
277 void TGeant3::Gdman(Float_t, Float_t, const char *) {}
278 void TGeant3::Gdspec(const char *) {}
279 void TGeant3::DrawOneSpec(const char *) {}
280 void TGeant3::Gdtree(const char *,Int_t,Int_t) {}
281 void TGeant3::GdtreeParent(const char *,Int_t,Int_t) {}
283 //=======================Set functions
284 //____________________________________
285 void TGeant3::SetABAN(Int_t) {}
286 void TGeant3::SetANNI(Int_t) {}
287 void TGeant3::SetAUTO(Int_t) {}
288 void TGeant3::SetBOMB(Float_t) {}
289 void TGeant3::SetBREM(Int_t) {}
290 void TGeant3::SetCKOV(Int_t) {}
291 void TGeant3::SetClipBox(const char *,Float_t,Float_t, Float_t,Float_t,Float_t,Float_t) {}
292 void TGeant3::SetCOMP(Int_t) {}
293 void TGeant3::SetCUTS(Float_t,Float_t,Float_t,Float_t,
294 Float_t,Float_t,Float_t,Float_t,
295 Float_t,Float_t, Float_t) {}
296 void TGeant3::SetDCAY(Int_t) {}
297 void TGeant3::SetDEBU(Int_t, Int_t, Int_t) {}
298 void TGeant3::SetDRAY(Int_t) {}
299 void TGeant3::SetERAN(Float_t, Float_t, Int_t) {}
300 void TGeant3::SetHADR(Int_t) {}
301 void TGeant3::SetKINE(Int_t, Float_t, Float_t, Float_t, Float_t,
302 Float_t, Float_t, Float_t, Float_t, Float_t,
304 void TGeant3::SetLOSS(Int_t) {}
305 void TGeant3::SetMULS(Int_t) {}
306 void TGeant3::SetMUNU(Int_t) {}
307 void TGeant3::SetOPTI(Int_t) {}
308 void TGeant3::SetPAIR(Int_t) {}
309 void TGeant3::SetPFIS(Int_t) {}
310 void TGeant3::SetPHOT(Int_t) {}
311 void TGeant3::SetRAYL(Int_t) {}
312 void TGeant3::SetSTRA(Int_t) {}
313 void TGeant3::SetSWIT(Int_t , Int_t) {}
314 void TGeant3::SetTRIG(Int_t) {}
315 void TGeant3::SetUserDecay(Int_t) {}
316 void TGeant3::Vname(const char *, char *) {}
317 void TGeant3::InitLego() {}
318 void TGeant3::Ertrgo() {}
319 void TGeant3::Ertrak(const Float_t *const , const Float_t *const ,
320 const Float_t *, const Float_t *,
321 Int_t , Option_t *) {}
326 #include "AliCallf77.h"
329 extern "C" type_of_call {
331 // This is only for ITS
333 void type_of_call gsvolu_(){}
334 void type_of_call gspos_(){}
335 void type_of_call gsatt_(){}
336 void type_of_call gsdvn_(){}
337 void type_of_call gsposp_(){}
338 void type_of_call atg_(){}
339 void type_of_call sxsrot_(){}
343 void type_of_call grndm_(){}
344 void type_of_call gphits_(){}
345 void type_of_call gfhits_() {}
346 void type_of_call gsvert_(){}
347 void type_of_call gskine_(){}
348 void type_of_call gfpart_(){}
349 void type_of_call lorenf_(){}
350 void type_of_call gpvert_(){}
351 void type_of_call gpkine_(){}
352 void type_of_call rnorml_(){}
353 void type_of_call gfpath_() {}
354 void type_of_call uctoh_() {}
355 void type_of_call glvolu_() {}
356 void type_of_call gmtod_() {}
357 void type_of_call gfkine_() {}
358 void type_of_call vmod_() {}
359 void type_of_call gsahit_() {}
360 void type_of_call gschit_() {}
361 void type_of_call gdtom_() {}
362 void type_of_call rnpssn_() {}
363 void type_of_call ucopy_() {}