Support for Cerenkov and process list in Virtual MC
[u/mrichter/AliRoot.git] / TGeant3 / TGeant3Dummy.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
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  **************************************************************************/
15
16 /*
17 $Log$
18 Revision 1.26  2000/12/18 11:33:50  alibrary
19 New call frequence histograms per module and volume
20
21 Revision 1.25  2000/11/30 07:12:54  alibrary
22 Introducing new Rndm and QA classes
23
24 Revision 1.24  2000/09/14 07:08:42  fca
25 Introducing glvolu in the interface
26
27 Revision 1.23  2000/07/12 08:56:32  fca
28 Coding convention correction and warning removal
29
30 Revision 1.22  2000/07/11 18:25:00  fca
31 Coding convention corrections + few minor bug fixes
32
33 Revision 1.21  2000/06/27 09:26:18  fca
34 Adding dummy SetSTRA
35
36 Revision 1.20  2000/05/16 13:10:41  fca
37 New method IsNewTrack and fix for a problem in Father-Daughter relations
38
39 Revision 1.19  2000/04/09 19:00:26  fca
40 Small corrections left over from removal of AliVMC for G4 compatibility
41
42 Revision 1.18  2000/02/28 21:03:57  fca
43 Some additions to improve the compatibility with G4
44
45 Revision 1.17  2000/02/23 16:25:25  fca
46 AliVMC and AliGeant3 classes introduced
47 ReadEuclid moved from AliRun to AliModule
48
49 Revision 1.16  2000/01/18 16:27:18  morsch
50 Dummy definition of Gftmat, Gbrelm and Gprelm added.
51
52 Revision 1.15  2000/01/17 19:41:17  fca
53 Add SetERAN function
54
55 Revision 1.14  1999/11/03 16:31:36  fca
56 Dummy ProdProcess should return a value
57
58 Revision 1.13  1999/11/03 13:17:08  fca
59 Have ProdProcess return const char*
60
61 Revision 1.12  1999/11/02 17:05:06  fca
62 Update GetSecondary arguments
63
64 Revision 1.11  1999/09/29 09:24:31  fca
65 Introduction of the Copyright and cvs Log
66
67 */
68
69 //////////////////////////////////////////////////////
70 //  C++ dummy interface to Geant3 basic routines    //
71 //////////////////////////////////////////////////////
72
73 #include "TGeant3.h"
74
75 //---------------------------------------------------------
76
77 ClassImp(TGeant3)
78
79 //___________________________________________
80 TGeant3::TGeant3(){}
81
82 //___________________________________________
83 TGeant3::TGeant3(const char *title, Int_t)
84        :AliMC("TGeant3",title){}
85
86 //___________________________________________ 
87 void TGeant3::DefaultRange() {}
88  
89 //___________________________________________
90 void TGeant3::LoadAddress() {}
91
92 //=======================functions from GBASE
93
94 //___________________________________________
95 void    TGeant3::FinishGeometry() {}
96 void    TGeant3::Gfile(const char*, const char*) {}
97 void    TGeant3::GeomIter() {}
98 Int_t   TGeant3::CurrentMaterial(Float_t &, Float_t &, Float_t &, Float_t &, Float_t &) const {return 0;}
99 Int_t   TGeant3::NextVolUp(Text_t*, Int_t&) {return 0;}
100 Int_t   TGeant3::CurrentVolID(Int_t&) const {return 0;}
101 const char*  TGeant3::CurrentVolName() const {return 0;}
102 Float_t TGeant3::Xsec(char*, Float_t, Int_t, Int_t) {return 0;}
103 Int_t   TGeant3::NofVolumes() const {return 0;}
104 Int_t   TGeant3::VolId2Mate(Int_t id) const {return 0;}
105 Int_t   TGeant3::CurrentVolOffID(Int_t, Int_t&) const {return 0;}
106 const char *TGeant3::CurrentVolOffName(Int_t) const {return 0;}
107 void    TGeant3::TrackPosition(TLorentzVector&) const {}
108 void    TGeant3::TrackMomentum(TLorentzVector&) const {}
109 Int_t   TGeant3::IdFromPDG(Int_t) const {return -1;}
110 Int_t   TGeant3::PDGFromId(Int_t) const {return -1;}
111 void    TGeant3::DefineParticles() {}
112 Int_t   TGeant3::VolId(const Text_t*) const {return 0;}
113 void    TGeant3::SetCut(const char* , Float_t ) {}
114 void    TGeant3::SetProcess(const char* , Int_t ) {}
115 const char*   TGeant3::VolName(Int_t ) const {return 0;}
116 Float_t TGeant3::TrackCharge() const {return 0;}
117 Float_t TGeant3::TrackMass() const {return 0;}
118 Bool_t  TGeant3::IsNewTrack() const {return 0;}
119 Bool_t  TGeant3::IsTrackInside() const {return 0;}
120 Bool_t  TGeant3::IsTrackEntering() const {return 0;}
121 Bool_t  TGeant3::IsTrackExiting() const {return 0;}
122 Bool_t  TGeant3::IsTrackOut() const {return 0;}
123 Bool_t  TGeant3::IsTrackDisappeared() const {return 0;}
124 Bool_t  TGeant3::IsTrackStop() const {return 0;}
125 Int_t   TGeant3::NSecondaries() const {return 0;}
126 AliMCProcess TGeant3::ProdProcess(Int_t) const {return kPNoProcess;}
127 AliMCProcess TGeant3::G3toVMC(Int_t) const {return kPNoProcess;}
128 Int_t  TGeant3::StepProcesses(TArrayI &) const {return 0;}
129 void    TGeant3::GetSecondary(Int_t, Int_t&, 
130                               TLorentzVector&, TLorentzVector&){}
131 Float_t TGeant3::MaxStep() const {return 0;}
132 void    TGeant3::SetMaxStep(Float_t ) {}
133 Int_t   TGeant3::CurrentEvent() const {return 0;}
134 Int_t   TGeant3::GetMedium() const {return 0;}
135 Float_t TGeant3::Edep() const {return 0;}
136 Float_t TGeant3::Etot() const {return 0;}
137 Float_t TGeant3::TrackStep() const {return 0;}
138 Float_t TGeant3::TrackLength() const {return 0;}
139 Float_t TGeant3::TrackTime() const {return 0;}
140 Int_t   TGeant3::TrackPid() const {return 0;}
141 Bool_t  TGeant3::IsTrackAlive() const {return 0;}
142 void    TGeant3::StopTrack() {}
143 void    TGeant3::StopEvent() {}
144 void    TGeant3::SetMaxNStep(Int_t) {}
145 Int_t   TGeant3::GetMaxNStep() const {return 0;}
146 void    TGeant3::Material(Int_t&, const char*, Float_t, Float_t, Float_t, Float_t,
147                           Float_t, Float_t*, Int_t){}
148 void    TGeant3::Mixture(Int_t&, const char*, Float_t*, Float_t*, Float_t, Int_t, Float_t*){}
149 void    TGeant3::Medium(Int_t&, const char*, Int_t, Int_t, Int_t, Float_t, Float_t, 
150                         Float_t, Float_t, Float_t, Float_t, Float_t*, Int_t){}
151 void    TGeant3::Matrix(Int_t&, Float_t, Float_t, Float_t, Float_t, Float_t, Float_t){}
152 void    TGeant3::WriteEuclid(const char*, const char*, Int_t, Int_t) {}
153
154
155 void  TGeant3::Gpcxyz() {}
156 void  TGeant3::Ggclos() {}
157 void  TGeant3::Glast() {}
158 void  TGeant3::Gprint(const char*) {}
159 void  TGeant3::Grun() {}
160 void  TGeant3::Gtrig() {}
161 void  TGeant3::Gtrigc() {}
162 void  TGeant3::Gtrigi() {}
163 void  TGeant3::Gwork(Int_t) {}
164 void  TGeant3::Gzinit() {}
165
166
167 //=======================functions from GCONS
168 //___________________________________________
169 void  TGeant3::Gfmate(Int_t, char*, Float_t&, Float_t&, Float_t&, Float_t&,
170                       Float_t&, Float_t*, Int_t&){}
171
172 //___________________________________________
173 void  TGeant3::Gfpart(Int_t, char*, Int_t&, Float_t&, Float_t&, Float_t&){}
174
175 //___________________________________________
176 void  TGeant3::Gftmed(Int_t, char*, Int_t&, Int_t&, Int_t&, Float_t&, Float_t&,
177                     Float_t&, Float_t&, Float_t&, Float_t&, Float_t*, Int_t*){}
178 void  TGeant3::Gftmat(Int_t, Int_t, char*, Int_t, Float_t*, Float_t*, 
179                       Float_t*, Int_t&){}
180 Float_t TGeant3::Gbrelm(Float_t, Float_t, Float_t){return (Float_t) 0;}
181 Float_t TGeant3::Gprelm(Float_t, Float_t, Float_t){return (Float_t) 0;}
182
183
184 //___________________________________________
185 void  TGeant3::Gmate() {}
186 void  TGeant3::Gpart() {}
187 void  TGeant3::Gsdk(Int_t, Float_t*, Int_t*) {}
188 void  TGeant3::Gsmate(Int_t, const char*, Float_t, Float_t, Float_t, Float_t, Float_t) {}
189 void  TGeant3::Gsmixt(Int_t, const char*, Float_t*, Float_t*, Float_t, Int_t, Float_t*) {}
190 void  TGeant3::Gspart(Int_t, const char*, Int_t,   Float_t, Float_t, Float_t) {}
191 void  TGeant3::Gstmed(Int_t, const char*, Int_t, Int_t, 
192                    Int_t, Float_t, Float_t, Float_t, Float_t, Float_t, Float_t) {}
193 void  TGeant3::Gsckov(Int_t, Int_t, Float_t *, Float_t *, Float_t *, Float_t *) {}
194 void  TGeant3::Gstpar(Int_t, const char*, Float_t) {}
195
196
197 //=======================functions from GKINE
198 //___________________________________________
199 void  TGeant3::Gfkine(Int_t, Float_t*, Float_t*, Int_t&, Int_t&) {}
200 void  TGeant3::Gfvert(Int_t, Float_t*, Int_t&, Int_t&, Float_t&) {}
201 Int_t TGeant3::Gskine(Float_t*, Int_t, Int_t, Float_t*, Int_t){return 0;}
202
203 //___________________________________________
204 Int_t TGeant3::Gsvert(Float_t*, Int_t, Int_t, Float_t*, Int_t){return 0;}
205
206 //=======================functions from GPHYS
207 //___________________________________________
208 void  TGeant3::Gphysi() {}
209 void  TGeant3::SetCerenkov(Int_t, Int_t, Float_t *, Float_t *, 
210                            Float_t *, Float_t *) {}
211
212
213 //=======================functions from GTRAK
214 //___________________________________________
215 void  TGeant3::Gdebug() {}
216 void  TGeant3::Gekbin() {}
217 void  TGeant3::Gfinds() {}
218 void  TGeant3::Gsking(Int_t) {}
219 void  TGeant3::Gskpho(Int_t) {}
220 void  TGeant3::Gsstak(Int_t) {}
221 void  TGeant3::Gsxyz() {}
222 void  TGeant3::Gtrack() {}
223 void  TGeant3::Gtreve() {}
224 void  TGeant3::GtreveRoot() {}
225 void  TGeant3::Grndm(Float_t*, const Int_t) const {}
226 void  TGeant3::Grndmq(Int_t&, Int_t&, const Int_t, const Text_t*) {}
227
228 //=======================functions from GDRAW
229 //___________________________________________
230 void  TGeant3::Gdxyz(Int_t ) {}
231 void  TGeant3::Gdcxyz() {}
232
233
234 //=======================functions from GGEOM
235 //___________________________________________
236 void  TGeant3::Gdtom(Float_t*, Float_t*, Int_t) {}
237 void  TGeant3::Glmoth(const char*, Int_t, Int_t&, Int_t*, Int_t*) {}
238 void  TGeant3::Gmedia(Float_t*, Int_t&) {}
239 void  TGeant3::Gmtod(Float_t*, Float_t*, Int_t) {}
240 void  TGeant3::Gsdvn(const char*, const char*, Int_t, Int_t) {}
241 void  TGeant3::Gsdvn2(const char*, const char*, Int_t, Int_t, Float_t, Int_t) {}
242 void  TGeant3::Gsdvs(const char*, const char*, Float_t, Int_t, Int_t) {}
243 void  TGeant3::Gsdvs2(const char*, const char*, Float_t, Int_t, Float_t, Int_t) {}
244 void  TGeant3::Gsdvt(const char*, const char*, Float_t, Int_t, Int_t, Int_t) {}
245 void  TGeant3::Gsdvt2(const char *, const char *, Float_t, Int_t, Float_t, Int_t, Int_t) {}
246 void  TGeant3::Gsord(const char*, Int_t) {}
247 void  TGeant3::Gspos(const char*, Int_t, const char*, Float_t, Float_t, Float_t, Int_t, const char*) {}
248 void  TGeant3::Gsposp(const char*, Int_t, const char*, Float_t, Float_t, Float_t, Int_t, const char*, Float_t*, Int_t) {}
249 void  TGeant3::Gsrotm(Int_t, Float_t, Float_t, Float_t, Float_t, Float_t, Float_t)  {}
250 void  TGeant3::Gprotm(Int_t)  {}
251 Int_t TGeant3::Gsvolu(const char*, const char*, Int_t, Float_t*, Int_t){return 0;}
252 void  TGeant3::Gsatt(const char*, const char*, Int_t) {}
253 void  TGeant3::Gfpara(const char*, Int_t, Int_t, Int_t&, Int_t&, Float_t*, Float_t*) {}
254 void  TGeant3::Gckpar(Int_t, Int_t, Float_t*) {}
255 void  TGeant3::Gckmat(Int_t, char*) {}
256 Int_t TGeant3::Glvolu(Int_t, Int_t*, Int_t*) {return 0;}
257 void  TGeant3::BuildPhysics() {}
258
259 //______________________________________________________________________________
260 void TGeant3::Streamer(TBuffer &R__b)
261 {
262    // Stream an object of class TGeant3.
263
264    if (R__b.IsReading()) {
265       Version_t R__v = R__b.ReadVersion(); if (R__v) { }
266       AliMC::Streamer(R__b);
267       R__b >> fNextVol;
268    } else {
269       R__b.WriteVersion(TGeant3::IsA());
270       AliMC::Streamer(R__b);
271       R__b << fNextVol;
272    }
273 }
274
275 //=======================DRAW functions
276 //____________________________________
277 void  TGeant3::InitHIGZ() {}
278 void  TGeant3::Gdopen(Int_t) {}
279 void  TGeant3::Gdclose() {}
280 void  TGeant3::Gdelete(Int_t) {}
281 void  TGeant3::Gdshow(Int_t) {}
282 void  TGeant3::Gdopt(const char *,const char *) {}
283 void  TGeant3::Gdraw(const char *,Float_t, Float_t, Float_t,Float_t,Float_t,Float_t,Float_t) {}
284 void  TGeant3::Gdrawc(const char *,Int_t, Float_t,Float_t,Float_t,Float_t,Float_t) {}
285 void  TGeant3::Gdrawx(const char *,Float_t, Float_t, Float_t,
286                          Float_t, Float_t,Float_t,Float_t,Float_t,Float_t) {}
287 void  TGeant3::Gdhead(Int_t, const char *, Float_t) {}
288 void  TGeant3::Gdman(Float_t, Float_t, const char *) {}
289 void  TGeant3::Gdspec(const char *) {}
290 void  TGeant3::DrawOneSpec(const char *) {}
291 void  TGeant3::Gdtree(const char *,Int_t,Int_t) {}
292 void  TGeant3::GdtreeParent(const char *,Int_t,Int_t) {}
293
294 //=======================Set functions
295 //____________________________________
296 void TGeant3::SetABAN(Int_t)  {}
297 void TGeant3::SetANNI(Int_t)  {}
298 void TGeant3::SetAUTO(Int_t)  {}
299 void TGeant3::SetBOMB(Float_t)  {}
300 void TGeant3::SetBREM(Int_t)  {}
301 void TGeant3::SetCKOV(Int_t)  {}
302 void TGeant3::SetClipBox(const char *,Float_t,Float_t, Float_t,Float_t,Float_t,Float_t) {}
303 void TGeant3::SetCOMP(Int_t)  {}
304 void TGeant3::SetCUTS(Float_t,Float_t,Float_t,Float_t,
305                       Float_t,Float_t,Float_t,Float_t,
306                       Float_t,Float_t, Float_t)  {}
307 void TGeant3::SetDCAY(Int_t)  {}
308 void TGeant3::SetDEBU(Int_t, Int_t, Int_t)  {}
309 void TGeant3::SetDRAY(Int_t)  {}
310 void TGeant3::SetERAN(Float_t, Float_t, Int_t) {}
311 void TGeant3::SetHADR(Int_t)  {}
312 void TGeant3::SetKINE(Int_t, Float_t, Float_t, Float_t, Float_t,
313                      Float_t, Float_t, Float_t, Float_t, Float_t,
314                      Float_t)  {}
315 void TGeant3::SetLOSS(Int_t)  {}
316 void TGeant3::SetMULS(Int_t)  {}
317 void TGeant3::SetMUNU(Int_t)  {}
318 void TGeant3::SetOPTI(Int_t)  {}
319 void TGeant3::SetPAIR(Int_t)  {}
320 void TGeant3::SetPFIS(Int_t)  {}
321 void TGeant3::SetPHOT(Int_t)  {}
322 void TGeant3::SetRAYL(Int_t)  {}
323 void TGeant3::SetSTRA(Int_t)  {}
324 void TGeant3::SetSWIT(Int_t , Int_t)  {}
325 void TGeant3::SetTRIG(Int_t)  {}
326 void TGeant3::SetUserDecay(Int_t) {}
327 void TGeant3::Vname(const char *, char *) {}
328 void TGeant3::InitLego() {}
329 void TGeant3::Ertrgo() {}
330 void TGeant3::Ertrak(const Float_t *const , const Float_t *const , 
331                      const Float_t *, const Float_t *,
332                      Int_t ,  Option_t *) {}
333
334         
335
336
337 #include "AliCallf77.h"
338  
339
340 extern "C" type_of_call {
341
342   // This is only for ITS
343
344   void type_of_call gsvolu_(){}
345   void type_of_call gspos_(){}
346   void type_of_call gsatt_(){}
347   void type_of_call gsdvn_(){}
348   void type_of_call gsposp_(){}
349   void type_of_call atg_(){}
350   void type_of_call sxsrot_(){}
351
352   // All this for ZDC
353
354   void type_of_call grndm_(){}
355   void type_of_call gphits_(){}
356   void type_of_call gfhits_() {}
357   void type_of_call gsvert_(){}
358   void type_of_call gskine_(){}
359   void type_of_call gfpart_(){}
360   void type_of_call lorenf_(){}
361   void type_of_call gpvert_(){}
362   void type_of_call gpkine_(){}
363   void type_of_call rnorml_(){}
364   void type_of_call gfpath_() {}
365   void type_of_call uctoh_() {}
366   void type_of_call glvolu_() {}
367   void type_of_call gmtod_() {}
368   void type_of_call gfkine_() {}
369   void type_of_call vmod_() {}
370   void type_of_call gsahit_() {}
371   void type_of_call gschit_() {}
372   void type_of_call gdtom_() {}
373   void type_of_call rnpssn_() {}
374   void type_of_call ucopy_() {}
375 }