3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
11 class AliALIFE : public TObject {
13 AliALIFE(const char *name1, const char *name2);
15 AliALIFE(const AliALIFE &rhs) : TObject(rhs) {
18 virtual ~AliALIFE() {}
19 void Cylinder(Float_t rmin, Float_t rmax,
20 Float_t zmin, Float_t zmax,
22 char* Material, char* Field="MF", char* Cuts="$UNSHIELDED");
23 void OnionCylinder(Float_t* r, Int_t nr, Float_t zmin, Float_t zmax,
25 char** Materials, char** Fields=0, char** Cuts=0);
27 void Cone(Float_t rmin1, Float_t rmin2,
28 Float_t rmax1, Float_t rmax2,
29 Float_t zmin, Float_t zmax,
31 char* Material, char* Field="MF", char* Cuts="$UNSHIELDED");
33 void OnionCone(Float_t* r1, Float_t* r2, Int_t nr,
34 Float_t zmin, Float_t zmax,
36 char** Materials, char** Fields=0, char** Cuts=0);
38 void PolyCone(Float_t* rmin, Float_t* rmax, Float_t* z, Int_t nz,
40 char* Material, char* Field="MF", char* Cuts="$UNSHIELDED");
42 void OnionPolyCone(Float_t** r , Float_t* z, Int_t nr, Int_t nz,
44 char** Materials, char** Fields=0, char** Cuts=0);
46 void Comment(char* Comment);
48 void Finish(Bool_t remove = 0);
50 void SetDefaultVolume(TString vol1, TString vol2)
51 {fDefaultVolume1=vol1; fDefaultVolume2=vol2;}
53 void SetDefaultVolume(TString vol)
54 {fDefaultVolume1=vol;}
57 Int_t fNBodies; // current number of bodies
58 Int_t fNVolumes; // current number of volumes
59 TString fBodyFile; // File for Fluka bodies
60 TString fVolumeFile; // File for Fluka volumes
61 FILE *fFile1; // ! output file for fluka geometry in ALIFE format
62 FILE *fFile2; // ! scratch file
63 TString fDefaultVolume1; // default external volume 1
64 TString fDefaultVolume2; // default external volume 2
68 void Copy(AliALIFE &alife) const;
70 AliALIFE & operator = (const AliALIFE &rhs) {