]>
Commit | Line | Data |
---|---|---|
660eb9a2 | 1 | #ifndef ALIALIFE_H |
2 | #define ALIALIFE_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 | #include "TFile.h" | |
9 | #include "TString.h" | |
10 | ||
11 | class AliALIFE : public TObject { | |
12 | public: | |
13 | AliALIFE(const char *name1, const char *name2); | |
14 | AliALIFE(); | |
15 | ~AliALIFE(){;} | |
16 | void Cylinder(Float_t rmin, Float_t rmax, | |
17 | Float_t zmin, Float_t zmax, | |
18 | Float_t pos[3], | |
19 | char* Material, char* Field="MF", char* Cuts="$UNSHIELDED"); | |
20 | void OnionCylinder(Float_t* r, Int_t nr, Float_t zmin, Float_t zmax, | |
21 | Float_t pos[3], | |
22 | char** Materials, char** Fields=0, char** Cuts=0); | |
23 | ||
24 | void Cone(Float_t rmin1, Float_t rmin2, | |
25 | Float_t rmax1, Float_t rmax2, | |
26 | Float_t zmin, Float_t zmax, | |
27 | Float_t pos[3], | |
28 | char* Material, char* Field="MF", char* Cuts="$UNSHIELDED"); | |
29 | ||
30 | void OnionCone(Float_t* r1, Float_t* r2, Int_t nr, | |
31 | Float_t zmin, Float_t zmax, | |
32 | Float_t pos[3], | |
33 | char** Materials, char** Fields=0, char** Cuts=0); | |
34 | ||
35 | void PolyCone(Float_t* rmin, Float_t* rmax, Float_t* z, Int_t nz, | |
36 | Float_t pos[3], | |
37 | char* Material, char* Field="MF", char* Cuts="$UNSHIELDED"); | |
38 | ||
39 | void OnionPolyCone(Float_t** r , Float_t* z, Int_t nr, Int_t nz, | |
40 | Float_t pos[3], | |
41 | char** Materials, char** Fields=0, char** Cuts=0); | |
42 | ||
43 | void Comment(char* Comment); | |
44 | ||
45 | void Finish(); | |
46 | ||
47 | void SetDefaultVolume(TString vol1, TString vol2) | |
48 | {fDefaultVolume1=vol1; fDefaultVolume2=vol2;} | |
49 | ||
50 | void SetDefaultVolume(TString vol) | |
51 | {fDefaultVolume1=vol;} | |
52 | ||
53 | protected: | |
54 | Int_t fNBodies; // current number of bodies | |
55 | Int_t fNVolumes; // current number of volumes | |
56 | TString fBodyFile; // File for Fluka bodies | |
57 | TString fVolumeFile; // File for Fluka volumes | |
58 | FILE *fFile1; // ! output file for fluka geometry in ALIFE format | |
59 | FILE *fFile2; // ! scratch file | |
60 | TString fDefaultVolume1; // default external volume 1 | |
61 | TString fDefaultVolume2; // default external volume 2 | |
62 | private: | |
63 | void BodyHeader(); | |
64 | void VolumeHeader(); | |
65 | ||
66 | ||
67 | ClassDef(AliALIFE,1) | |
68 | }; | |
69 | #endif | |
70 | ||
71 | ||
72 | ||
73 | ||
74 | ||
75 | ||
76 | ||
77 | ||
78 | ||
79 | ||
80 | ||
81 | ||
82 | ||
83 | ||
84 |