]> git.uio.no Git - u/mrichter/AliRoot.git/blame - GEODB/AliGEODB.h
This commit was generated by cvs2svn to compensate for changes in r209,
[u/mrichter/AliRoot.git] / GEODB / AliGEODB.h
CommitLineData
ab2f6604 1#ifndef AliGEODB_H
2#define AliGEODB_H
3////////////////////////////////////////////////
4// C++ interface to Geant3 basic routines //
5////////////////////////////////////////////////
6
7#include <AliMC.h>
8#include "AliGNode.h"
9
10class AliGEODB : public AliMC {
11
12public:
13 AliGEODB() {}
14 AliGEODB(const char *title, Int_t nwgeant=0);
15 virtual ~AliGEODB() {}
16
17///////////////////////////////////////////////////////////////////////
18// //
19// //
20// Here are the service routines from the geometry //
21// which could be implemented also in other geometries //
22// //
23// //
24///////////////////////////////////////////////////////////////////////
25
26 void GeomIter();
27 Int_t CurrentMaterial(Float_t &a, Float_t &z, Float_t &dens, Float_t &radl, Float_t &absl) const;
28 Int_t NextVolUp(Text_t *name, Int_t &copy);
29 Int_t CurrentVol(Text_t *name, Int_t &copy) const;
30 Int_t CurrentVolOff(Int_t off, Text_t *name, Int_t &copy) const;
31 Int_t VolId(Text_t *name) const;
32 const char* VolName(Int_t id) const;
33 void TrackPosition(Float_t *xyz) const;
34 void TrackMomentum(Float_t *xyz) const;
35 Int_t NofVolumes() const;
36 Float_t TrackTime() const;
37 Float_t TrackCharge() const;
38 Float_t TrackMass() const;
39 Float_t TrackStep() const;
40 Float_t TrackLength() const;
41 Int_t TrackPid() const;
42 Bool_t TrackInside() const;
43 Bool_t TrackEntering() const;
44 Bool_t TrackExiting() const;
45 Bool_t TrackOut() const;
46 Bool_t TrackDisappear() const;
47 Bool_t TrackStop() const;
48 Bool_t TrackAlive() const;
49 Int_t NSecondaries() const;
50 Int_t CurrentEvent() const;
51 void ProdProcess(char*) const;
52 void GetSecondary(Int_t, Int_t&, Float_t*, Float_t*);
53 void StopTrack();
54 void StopEvent();
55 Float_t MaxStep() const;
56 void SetColors();
57 void SetMaxStep(Float_t maxstep);
58 void SetMaxNStep(Int_t maxnstp);
59 Int_t GetMaxNStep() const;
60 void GetParticle(const Int_t ipart, char *name, Float_t &mass) const;
61 virtual Int_t GetMedium() const;
62 virtual Float_t Edep() const;
63 virtual Float_t Etot() const;
64 virtual void Rndm(Float_t* r, const Int_t n) const;
65 virtual void Material(Int_t&, const char*, Float_t, Float_t, Float_t, Float_t,
66 Float_t, Float_t* buf=0, Int_t nwbuf=0);
67 virtual void Mixture(Int_t&, const char*, Float_t*, Float_t*, Float_t, Int_t, Float_t*);
68 virtual void Medium(Int_t&, const char*, Int_t, Int_t, Int_t, Float_t, Float_t,
69 Float_t, Float_t, Float_t, Float_t, Float_t* ubuf=0, Int_t nbuf=0);
70 virtual void Matrix(Int_t&, Float_t, Float_t, Float_t, Float_t, Float_t, Float_t);
71
72 // functions from GBASE
73 virtual void Gpcxyz();
74 virtual void Ggclos();
75
76 virtual void SetVisibility(Text_t* name, Int_t val);
77 virtual void DrawTree( AliGNode* topnode, Int_t tabs );
78
79 virtual void Gfile(const char *filename, const char *option="I");
80 virtual void Glast();
81 virtual void Gprint(const char *name);
82 virtual void Grun();
83 virtual void Gtrig();
84 virtual void Gtrigc();
85 virtual void Gtrigi();
86 virtual void Gwork(Int_t nwork);
87 virtual void Gzinit();
88
89 // functions from GCONS
90 virtual void Gfmate(Int_t imat, char *name, Float_t &a, Float_t &z, Float_t &dens,
91 Float_t &radl, Float_t &absl, Float_t* ubuf, Int_t& nbuf);
92 virtual void Gfpart(Int_t ipart, char *name, Int_t &itrtyp,
93 Float_t &amass, Float_t &charge, Float_t &tlife);
94 virtual void Gftmed(Int_t numed, char *name, Int_t &nmat, Int_t &isvol,
95 Int_t &ifield, Float_t &fieldm, Float_t &tmaxfd,
96 Float_t &stemax, Float_t &deemax, Float_t &epsil,
97 Float_t &stmin, Float_t *buf=0, Int_t *nbuf=0);
98 virtual void Gmate();
99 virtual void Gpart();
100 virtual void Gsckov(Int_t itmed, Int_t npckov, Float_t *ppckov,
101 Float_t *absco, Float_t *effic, Float_t *rindex);
102 virtual void Gsdk(Int_t ipart, Float_t *bratio, Int_t *mode);
103 virtual void Gsmate(Int_t imat, const char *name, Float_t a, Float_t z,
104 Float_t dens, Float_t radl, Float_t absl);
105 virtual void Gsmixt(Int_t imat, const char *name, Float_t *a, Float_t *z,
106 Float_t dens, Int_t nlmat, Float_t *wmat);
107 virtual void Gspart(Int_t ipart, const char *name, Int_t itrtyp,
108 Float_t amass, Float_t charge, Float_t tlife);
109 virtual void Gstmed(Int_t numed, const char *name, Int_t nmat, Int_t isvol,
110 Int_t ifield, Float_t fieldm, Float_t tmaxfd,
111 Float_t stemax, Float_t deemax, Float_t epsil,
112 Float_t stmin);
113 virtual void Gstpar(Int_t itmed, const char *param, Float_t parval);
114
115 // functions from GKINE
116 virtual void Gfkine(Int_t itra, Float_t *vert, Float_t *pvert,
117 Int_t &ipart, Int_t &nvert);
118 virtual void Gfvert(Int_t nvtx, Float_t *v, Int_t &ntbeam, Int_t &nttarg, Float_t &tofg);
119 virtual Int_t Gskine(Float_t *plab, Int_t ipart, Int_t nv, Float_t *ubuf=0, Int_t nwbuf=0);
120 virtual Int_t Gsvert(Float_t *v, Int_t ntbeam, Int_t nttarg, Float_t *ubuf=0, Int_t nwbuf=0);
121
122 // functions from GPHYS
123 virtual void Gphysi();
124
125 // functions from GTRAK
126 virtual void Gdebug();
127 virtual void Gekbin();
128 virtual void Gfinds();
129 virtual void Gsking(Int_t igk);
130 virtual void Gskpho(Int_t igk);
131 virtual void Gsstak(Int_t iflag);
132 virtual void Gsxyz();
133 virtual void Gtrack();
134 virtual void Gtreve();
135 virtual void Grndm(Float_t *rvec, const Int_t len) const;
136 virtual void Grndmq(Int_t &is1, Int_t &is2, const Int_t iseq, const Text_t *chopt);
137
138 // functions from GGEOM
139 virtual void Gdxyz(Int_t );
140 virtual void Gdcxyz();
141
142 // functions from GGEOM
143 virtual void Gdtom(Float_t *xd, Float_t *xm, Int_t iflag);
144 virtual void Glmoth(const char* iudet, Int_t iunum, Int_t &nlev,
145 Int_t *lvols, Int_t *lindx);
146 virtual void Gmedia(Float_t *x, Int_t &numed);
147 virtual void Gmtod(Float_t *xm, Float_t *xd, Int_t iflag);
148 virtual void Gsdvn(const char *name, const char *mother, Int_t ndiv, Int_t iaxis);
149 virtual void Gsdvn2(const char *name, const char *mother, Int_t ndiv, Int_t iaxis, Float_t c0i, Int_t numed);
150 virtual void Gsdvs(const char *name, const char *mother, Float_t step, Int_t iaxis, Int_t numed);
151 virtual void Gsdvs2(const char *name, const char *mother, Float_t step, Int_t iaxis, Float_t c0, Int_t numed);
152 virtual void Gsdvt(const char *name, const char *mother, Float_t step, Int_t iaxis, Int_t numed, Int_t ndvmx);
153 virtual void Gsdvt2(const char *name, const char *mother, Float_t step, Int_t iaxis,
154 Float_t c0, Int_t numed, Int_t ndvmx);
155 virtual void Gsord(const char *name, Int_t iax);
156 virtual void Gspos(const char *name, Int_t nr, const char *mother,
157 Float_t x, Float_t y, Float_t z, Int_t irot, const char *konly="ONLY");
158 virtual void Gsposp(const char *nodename, Int_t nr, const char *mother,
159 Float_t x, Float_t y, Float_t z, Int_t irot, const char *konly, Float_t *upar, Int_t np);
160 virtual void Gsrotm(Int_t nmat, Float_t theta1, Float_t phi1, Float_t theta2, Float_t phi2,
161 Float_t theta3, Float_t phi3);
162 virtual void Gprotm(Int_t nmat=0);
163 virtual Int_t Gsvolu(const char *name, const char *shape, Int_t nmed,
164 Float_t *upar, Int_t np);
165 virtual void Gsatt(const char *name, const char *att, Int_t val);
166 virtual void Gfpara(const char *name, Int_t number, Int_t intext, Int_t& npar,
167 Int_t& natt, Float_t* par, Float_t* att);
168 virtual void Gckpar(Int_t, Int_t, Float_t*);
169 virtual void Gckmat(Int_t, char*);
170
171 // functions from GDRAW
172 virtual void DefaultRange();
173 virtual void InitHIGZ();
174 virtual void Gdopen(Int_t view);
175 virtual void Gdclose();
176 virtual void Gdelete(Int_t view);
177 virtual void Gdshow(Int_t view);
178 virtual void Gdopt(const char *name,const char *value);
179 virtual void Gdraw(const char *name,Float_t theta=30, Float_t phi=30, Float_t psi=0,Float_t u0=10,Float_t v0=10,Float_t ul=0.01,Float_t vl=0.01);
180 virtual void Gdrawc(const char *name,Int_t axis=1, Float_t cut=0,Float_t u0=10,Float_t v0=10,Float_t ul=0.01,Float_t vl=0.01);
181 virtual void Gdrawx(const char *name,Float_t cutthe, Float_t cutphi, Float_t cutval,
182 Float_t theta=30, Float_t phi=30,Float_t u0=10,Float_t v0=10,Float_t ul=0.01,Float_t vl=0.01);
183 virtual void Gdhead(Int_t isel, const char *name, Float_t chrsiz=0.6);
184 virtual void Gdman(Float_t u0, Float_t v0, const char *type="MAN");
185 virtual void Gdspec(const char *name);
186 virtual void DrawOneSpec(const char *name);
187 virtual void Gdtree(const char *name,Int_t levmax=15,Int_t ispec=0);
188 virtual void GdtreeParent(const char *name,Int_t levmax=15,Int_t ispec=0);
189
190 virtual void WriteEuclid(const char*, const char*, Int_t, Int_t);
191
192 virtual void SetABAN(Int_t par=1);
193 virtual void SetANNI(Int_t par=1);
194 virtual void SetAUTO(Int_t par=1);
195 virtual void SetBOMB(Float_t bomb=1);
196 virtual void SetBREM(Int_t par=1);
197 virtual void SetCKOV(Int_t par=1);
198 virtual void SetClipBox(const char *name,Float_t xmin=-9999,Float_t xmax=0, Float_t ymin=-9999,Float_t ymax=0,Float_t zmin=-9999,Float_t zmax=0);
199 virtual void SetCOMP(Int_t par=1);
200 virtual void SetCUTS(Float_t cutgam,Float_t cutele,Float_t cutneu,Float_t cuthad,
201 Float_t cutmuo ,Float_t bcute ,Float_t bcutm ,Float_t dcute ,
202 Float_t dcutm ,Float_t ppcutm, Float_t tofmax);
203 virtual void SetDCAY(Int_t par=1);
204 virtual void SetDEBU(Int_t emin=1, Int_t emax=999, Int_t emod=1);
205 virtual void SetDRAY(Int_t par=1);
206 virtual void SetHADR(Int_t par=1);
207 virtual void SetKINE(Int_t kine, Float_t xk1=0, Float_t xk2=0, Float_t xk3=0, Float_t xk4=0,
208 Float_t xk5=0, Float_t xk6=0, Float_t xk7=0, Float_t xk8=0, Float_t xk9=0,
209 Float_t xk10=0);
210 virtual void SetLOSS(Int_t par=2);
211 virtual void SetMULS(Int_t par=1);
212 virtual void SetMUNU(Int_t par=1);
213 virtual void SetOPTI(Int_t par=2);
214 virtual void SetPAIR(Int_t par=1);
215 virtual void SetPFIS(Int_t par=1);
216 virtual void SetPHOT(Int_t par=1);
217 virtual void SetRAYL(Int_t par=1);
218 virtual void SetSWIT(Int_t sw, Int_t val=1);
219 virtual void SetTRIG(Int_t nevents=1);
220
221 virtual void Vname(const char *name, char *vname);
222
223 virtual void InitLego();
224
225 ClassDef(AliGEODB,1) //C++ interface to Geant basic routines
226};
227
228#endif