Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / TFluka / TFluka.h
CommitLineData
03ca248b 1#ifndef TFLUKA_H
2#define TFLUKA_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8///////////////////////////////////////////////////////////////////////////////
9// //
10// //
11// FLUKA implementation of the AliMC Interface //
12// //
13// //
14///////////////////////////////////////////////////////////////////////////////
15
16
17#include "AliMC.h"
18
19class TFluka : public AliMC
20{
21 public:
8baddb27 22 TFluka(const char *title)
23 :AliMC("TFluka", title) {;}
03ca248b 24 TFluka() {;}
25 virtual ~TFluka() {;}
26
27 //
28 // methods for building/management of geometry
29 // ------------------------------------------------
30 //
31 // Not yet implemented !!!
32 //
33 // functions from GCONS
34 virtual void Gfmate(Int_t imat, char *name, Float_t &a, Float_t &z,
35 Float_t &dens, Float_t &radl, Float_t &absl,
36 Float_t* ubuf, Int_t& nbuf)
37 {printf("Gfmate not yet implemented !\n");}
38
39
40 // detector composition
41 virtual void Material(Int_t& kmat, const char* name, Float_t a,
42 Float_t z, Float_t dens, Float_t radl, Float_t absl,
43 Float_t* buf, Int_t nwbuf)
44 {printf("Material not yet implemented !\n");}
45
46 virtual void Mixture(Int_t& kmat, const char *name, Float_t *a,
47 Float_t *z, Float_t dens, Int_t nlmat, Float_t *wmat)
48 {printf("Mixture not yet implemented !\n");}
49
50 virtual void Medium(Int_t& kmed, const char *name, Int_t nmat,
51 Int_t isvol, Int_t ifield, Float_t fieldm,
52 Float_t tmaxfd,
53 Float_t stemax, Float_t deemax, Float_t epsil,
54 Float_t stmin, Float_t* ubuf, Int_t nbuf)
55 {printf("Medium not yet implemented !\n");}
56 virtual void Matrix(Int_t& krot, Float_t thetaX, Float_t phiX,
57 Float_t thetaY, Float_t phiY, Float_t thetaZ,
58 Float_t phiZ)
59 {printf("Matrix not yet implemented !\n");}
60 virtual void Gstpar(Int_t itmed, const char *param, Float_t parval)
61 {printf("Gstpar not yet implemented !\n");}
62
63 // functions from GGEOM
64 virtual Int_t Gsvolu(const char *name, const char *shape, Int_t nmed,
65 Float_t *upar, Int_t np)
66 {printf("Gsvolu not yet implemented !\n"); return -1;}
67 virtual void Gsdvn(const char *name, const char *mother, Int_t ndiv,
68 Int_t iaxis)
69 {printf("Gsdvn not yet implemented !\n");}
70 virtual void Gsdvn2(const char *name, const char *mother, Int_t ndiv,
71 Int_t iaxis, Float_t c0i, Int_t numed)
72 {printf("Gsdvn2 not yet implemented !\n");}
73 virtual void Gsdvt(const char *name, const char *mother, Float_t step,
74 Int_t iaxis, Int_t numed, Int_t ndvmx)
75 {printf("Gsdvt not yet implemented !\n");}
76 virtual void Gsdvt2(const char *name, const char *mother, Float_t step,
77 Int_t iaxis, Float_t c0, Int_t numed, Int_t ndvmx)
78 {printf("Gsdvt2 not yet implemented !\n");}
79 virtual void Gsord(const char *name, Int_t iax)
80 {printf("Gsord not yet implemented !\n");}
81 virtual void Gspos(const char *name, Int_t nr, const char *mother,
82 Float_t x, Float_t y, Float_t z, Int_t irot,
83 const char *konly="ONLY")
84 {printf("Gspos not yet implemented !\n");}
85 virtual void Gsposp(const char *name, Int_t nr, const char *mother,
86 Float_t x, Float_t y, Float_t z, Int_t irot,
87 const char *konly, Float_t *upar, Int_t np)
88 {printf("Gsposp not yet implemented !\n");}
89 virtual void Gsbool(const char* onlyVolName, const char* manyVolName)
90 {printf("Gsbool not yet implemented !\n");}
91
92 virtual void SetCerenkov(Int_t itmed, Int_t npckov, Float_t *ppckov,
93 Float_t *absco, Float_t *effic, Float_t *rindex)
94 {printf("SetCerenkov not yet implemented !\n");}
95
96
97 // functions for drawing
98 virtual void DrawOneSpec(const char* name)
99 {printf("DrawOneSpec not yet implemented !\n");}
100 virtual void Gsatt(const char* name, const char* att, Int_t val)
101 {printf("Gsatt not yet implemented !\n");}
102 virtual void Gdraw(const char*,Float_t theta = 30, Float_t phi = 30,
103 Float_t psi = 0, Float_t u0 = 10, Float_t v0 = 10,
104 Float_t ul = 0.01, Float_t vl = 0.01)
105 {printf("Gdraw not yet implemented !\n");}
106
107 // Euclid
108 virtual void WriteEuclid(const char*, const char*, Int_t, Int_t)
109 {printf("WriteEuclid not yet implemented !\n");}
110
111 // get methods
112 virtual Int_t VolId(const Text_t* volName) const
113 {printf("VolId not yet implemented !\n"); return -1;}
114 virtual const char* VolName(Int_t id) const
115 {printf("VolName not yet implemented !\n"); return "void";}
116 virtual Int_t NofVolumes() const
117 {printf("NofVolumes not yet implemented !\n"); return -1;}
118 virtual Int_t VolId2Mate(Int_t id) const
119 {printf("VolIdMate not yet implemented !\n"); return -1;}
120
121 //
122 // methods for physics management
123 // ------------------------------------------------
124 //
125
126 // set methods
127 virtual void SetCut(const char* cutName, Float_t cutValue)
128 {printf("Set Cut not yet implemented !\n");}
129 virtual void SetProcess(const char* flagName, Int_t flagValue)
130 {printf("Set Process not yet implemented !\n");}
131 virtual Float_t Xsec(char*, Float_t, Int_t, Int_t)
132 {printf("Xsec not yet implemented !\n"); return -1.;}
133
134 // particle table usage
135 virtual Int_t IdFromPDG(Int_t id) const
136 {printf("IdFromPDG not yet implemented !\n"); return -1;}
137 virtual Int_t PDGFromId(Int_t pdg) const
138 {printf("PDGFromId not yet implemented !\n"); return -1;}
139 virtual void DefineParticles()
140 {printf("DefineParticles not yet implemented !\n");}
141
142 //
143 // methods for step management
144 // ------------------------------------------------
145 //
146
147 // action methods
148 virtual void StopTrack()
149 {printf("StopTrack not yet implemented !\n");}
150
151 virtual void StopEvent()
152 {printf("StopEvent not yet implemented !\n");}
153
154 // set methods
155 virtual void SetMaxStep(Float_t)
156 {printf("SetMaxStep not yet implemented !\n");}
157 virtual void SetMaxNStep(Int_t)
158 {printf("SetMaxNStep not yet implemented !\n");}
159 virtual void SetUserDecay(Int_t)
160 {printf("SetUserDecay not yet implemented !\n");}
161
162 // get methods
163 // tracking volume(s)
164 virtual Int_t CurrentVolID(Int_t& copyNo) const
165 {printf("CurrentVolID not yet implemented !\n"); return -1;}
166 virtual Int_t CurrentVolOffID(Int_t off, Int_t& copyNo) const
167 {printf("CurrentVolOffID not yet implemented !\n"); return -1;}
168 virtual const char* CurrentVolName() const
169 {printf("CurrentVolName not yet implemented !\n"); return "void";}
170 virtual const char* CurrentVolOffName(Int_t off) const
171 {printf("CurrentVolOffName not yet implemented !\n"); return "void";}
172 virtual Int_t CurrentMaterial(Float_t &a, Float_t &z,
173 Float_t &dens, Float_t &radl, Float_t &absl) const
174 {printf("CurrentMaterial not yet implemented !\n"); return -1;}
175 virtual Int_t CurrentEvent() const
176 {printf("CurrentEvent not yet implemented !\n"); return -1;}
177 virtual void Gmtod(Float_t* xm, Float_t* xd, Int_t iflag)
178 {printf("Gmtod not yet implemented !\n");}
179 virtual void Gdtom(Float_t* xd, Float_t* xm, Int_t iflag)
180 {printf("Gdtom not yet implemented !\n");}
181 virtual Float_t MaxStep() const
182 {printf("MaxStep not yet implemented !\n"); return -1.;}
183 virtual Int_t GetMaxNStep() const
184 {printf("GetMaxNStep not yet implemented !\n"); return -1;}
185 virtual Int_t GetMedium() const
186 {printf("GetMedium not yet implemented !\n"); return -1;}
187
188 // tracking particle
189 // dynamic properties
190 virtual void TrackPosition(TLorentzVector& position) const
191 {printf("TrackPosition not yet implemented !\n");}
192 virtual void TrackMomentum(TLorentzVector& momentum) const
193 {printf("TrackMomentum not yet implemented !\n");}
194 virtual Float_t TrackStep() const
195 {printf("TrackStep not yet implemented !\n"); return -1.;}
196 virtual Float_t TrackLength() const
197 {printf("TrackLength not yet implemented !\n"); return -1.;}
198 virtual Float_t TrackTime() const
199 {printf("TrackTimenot yet implemented !\n"); return -1.;}
200 virtual Float_t Edep() const
201 {printf("Edep not yet implemented !\n"); return -1.;}
202 // static properties
203 virtual Int_t TrackPid() const
204 {printf("TrackPid not yet implemented !\n"); return -1;}
205 virtual Float_t TrackCharge() const
206 {printf("TrackCharge not yet implemented !\n"); return -1.;}
207 virtual Float_t TrackMass() const
208 {printf("TrackMasd not yet implemented !\n"); return -1.;}
209 virtual Float_t Etot() const
210 {printf("Etot not yet implemented !\n"); return -1.;}
211
212 // track status
213 virtual Bool_t IsNewTrack() const
214 {printf("IsNewTrack not yet implemented !\n"); return 0;}
215 virtual Bool_t IsTrackInside() const
216 {printf("IsTrackInside not yet implemented !\n"); return 0;}
217 virtual Bool_t IsTrackEntering() const
218 {printf("IsTrackEntering not yet implemented !\n"); return 0;}
219 virtual Bool_t IsTrackExiting() const
220 {printf("IsTrackExiting not yet implemented !\n"); return 0;}
221 virtual Bool_t IsTrackOut() const
222 {printf("IsTrackOut not yet implemented !\n"); return 0;}
223 virtual Bool_t IsTrackDisappeared() const
224 {printf("IsTrackDisappeared not yet implemented !\n"); return 0;}
225 virtual Bool_t IsTrackStop() const
226 {printf("IsTrackStop not yet implemented !\n"); return 0;}
227 virtual Bool_t IsTrackAlive() const
228 {printf("IsTrackAlive not yet implemented !\n"); return 0;}
229
230 // secondaries
231 virtual Int_t NSecondaries() const
232 {printf("NSecondaries not yet implemented !\n"); return -1;}
233 virtual void GetSecondary(Int_t isec, Int_t& particleId,
234 TLorentzVector& position, TLorentzVector& momentum)
235 {printf("GetSecondary not yet implemented !\n");}
236 virtual AliMCProcess ProdProcess(Int_t isec) const
237 {printf("ProdProcess not yet implemented !\n"); return kPNoProcess;}
238 virtual Int_t StepProcesses(TArrayI &proc) const
239 {printf("StepProcess not yet implemented !\n"); return -1;}
240
241 //
242 // other (then geometry/step/run management) methods
243 // ----------------------------------------------
244 //
dcfc0bcc 245 virtual AliMCGeomType GetMCGeomType() const
bed64849 246 {printf("AliMCGeomType not yet implemented !\n"); return kFluka;}
03ca248b 247
248 //
249 // Geant3 specific methods
250 // !!! need to be transformed to common interface
251 //
252 virtual void Gdopt(const char*,const char*)
253 {printf("Gdopt not yet implemented !\n");}
254 virtual void SetClipBox(const char*,Float_t=-9999,Float_t= 0, Float_t=-9999,Float_t=0,Float_t=-9999,Float_t=0)
255 {printf("SetClipBox not yet implemented !\n");}
256 virtual void DefaultRange()
257 {printf("DefaultRange not yet implemented !\n");}
258 virtual void Gdhead(Int_t, const char*, Float_t=0)
259 {printf("Gdhead not yet implemented !\n");}
260 virtual void Gdman(Float_t, Float_t, const char*)
261 {printf("Gdman not yet implemented !\n");}
262 virtual void SetColors()
263 {printf("SetColors not yet implemented !\n");}
264 virtual void Gtreve()
265 {printf("Gtreve not yet implemented !\n");}
266 virtual void GtreveRoot()
267 {printf("GtreveRoot not yet implemented !\n");}
268 virtual void Gckmat(Int_t, char*)
269 {printf("Gckmat not yet implemented !\n");}
270 virtual void InitLego()
271 {printf("InitLego not yet implemented !\n");}
272 virtual void Gfpart(Int_t, char*, Int_t&, Float_t&, Float_t&, Float_t&)
273 {printf("Gfpart not yet implemented !\n");}
274 virtual void Gspart(Int_t, const char*, Int_t, Float_t, Float_t, Float_t)
275 {printf("Gspart not yet implemented !\n");}
276
277 // Control Methods
278
dcfc0bcc 279
03ca248b 280 virtual void FinishGeometry()
281 {printf("FinishGeometry not yet implemented !\n");}
282 virtual void BuildPhysics()
283 {printf("BuildPhysics not yet implemented !\n");}
284 // External Decayer
285 virtual void SetExternalDecayer(AliDecayer* decayer)
286 {printf("SetExternalDecayer not yet implemented !\n");}
287 virtual AliDecayer* Decayer() const
288 {printf("AliDecayer not yet implemented !\n"); return 0;}
289
290 private:
291 TFluka(const TFluka &) {;}
292 TFluka & operator=(const TFluka &) {return (*this);}
293
294 ClassDef(TFluka,1) //Fluka implementation of the Monte Carlo Interface
295};
296
297#endif
298