Correction in method name.
[u/mrichter/AliRoot.git] / TFluka / TFluka.h
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:
22     TFluka(const char *name, const char *title) 
23         {AliMC(name, title);}
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     //
245     virtual AliMCGeomType GetMCGeomType() const
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
279   virtual void Init()
280       {printf("Init not yet implemented !\n");
281       }
282   
283   virtual void FinishGeometry()
284       {printf("FinishGeometry not yet implemented !\n");}
285   virtual void BuildPhysics()
286       {printf("BuildPhysics not yet implemented !\n");}
287   // External Decayer
288   virtual void SetExternalDecayer(AliDecayer* decayer)
289       {printf("SetExternalDecayer not yet implemented !\n");}
290   virtual AliDecayer* Decayer() const
291       {printf("AliDecayer not yet implemented !\n"); return 0;}
292
293   private:
294   TFluka(const TFluka &) {;}
295   TFluka & operator=(const TFluka &) {return (*this);}
296
297   ClassDef(TFluka,1)  //Fluka implementation of the Monte Carlo Interface
298 };
299
300 #endif 
301