]>
Commit | Line | Data |
---|---|---|
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 | ||
19 | class 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 |
03ca248b | 246 | {printf("AliMCGeomType not yet implemented !\n"); return 0;} |
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 |