]>
Commit | Line | Data |
---|---|---|
ef42d733 | 1 | #ifndef ALIDRAWVOLUME_H |
2 | #define ALIDRAWVOLUME_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 <TGListTree.h> | |
9 | #include "TROOT.h" | |
10 | ||
11 | #include "THIGZ.h" | |
12 | #include "TGeant3.h" | |
13 | ||
14 | class AliDrawVolume : public TObject | |
15 | { | |
16 | public: | |
17 | AliDrawVolume(char* name); | |
18 | virtual ~AliDrawVolume(){;} | |
19 | // Draw the volume | |
20 | virtual void Draw(Option_t * option =0); | |
21 | // Draw volume specs | |
22 | virtual void DrawSpec(); | |
23 | // Return volume name | |
24 | virtual char* Name(); | |
25 | // Set volume parameter i | |
26 | virtual void SetParam(Int_t i, Float_t param); | |
27 | // Get volume parameters i | |
28 | virtual Float_t GetParam(Int_t i); | |
29 | // Set volume id | |
30 | virtual void SetIdVolume(Int_t id) {fIdVolume = id;} | |
31 | // Set volume copy number | |
32 | virtual void SetIdCopy(Int_t id) {fIdCopy = id;} | |
33 | // Set volume medium number | |
34 | virtual void SetIdMedium(Int_t id) {fIdMedium = id;} | |
35 | // Set volume material number | |
36 | virtual void SetIdMaterial(Int_t id) {fIdMaterial = id;} | |
37 | // Get volume id | |
38 | virtual Int_t GetIdVolume() {return fIdVolume;} | |
39 | // Get copy number | |
40 | virtual Int_t GetIdCopy() {return fIdCopy;} | |
41 | // Get medium number | |
42 | virtual Int_t Medium() {return fIdMedium;} | |
43 | // Get material number | |
44 | virtual Int_t Material() {return fIdMaterial;} | |
45 | // Increase copy number by one | |
46 | virtual void AddCopy() {fIdCopy ++;} | |
47 | // Set link to ListTree Item | |
48 | virtual void SetItem(TGListTreeItem *item) {fItem = item;} | |
49 | // Get link to ListTree Item | |
50 | virtual TGListTreeItem* GetItem() {return fItem;} | |
51 | ||
52 | private: | |
53 | char* fName; // name of the volume | |
54 | Float_t fTheta; // theta-angle for drawing | |
55 | Float_t fPhi; // phi-angle for drawing | |
56 | Float_t fPsi; // psi-angle for drawing | |
57 | Float_t fU; // u-position | |
58 | Float_t fV; // v-position | |
59 | Float_t fUscale; // u-scaling factor | |
60 | Float_t fVscale; // v-scaling factor | |
61 | Bool_t fHide; // hide flag | |
62 | Bool_t fShadow; // shadow flag | |
63 | Int_t fFill; // fill option 1-6 | |
64 | Int_t fSeen; // seen option -2 - 1 | |
65 | Bool_t fClip; // clipping flag | |
66 | Float_t fClipXmin; // clip box range xmin | |
67 | Float_t fClipXmax; // clip box range xmax | |
68 | Float_t fClipYmin; // clip box range ymin | |
69 | Float_t fClipYmax; // clip box range ymax | |
70 | Float_t fClipZmin; // clip box range zmin | |
71 | Float_t fClipZmax; // clip box range zmax | |
72 | Int_t fIdVolume; // geant volume id | |
73 | Int_t fIdMedium; // geant medium id | |
74 | Int_t fIdMaterial; // geant material id | |
75 | Int_t fIdCopy; // copy flag | |
76 | TGListTreeItem *fItem; // current item | |
77 | ||
78 | AliDrawVolume(const AliDrawVolume&) {} | |
79 | AliDrawVolume & operator=(const AliDrawVolume&) {return *this;} | |
80 | ||
81 | ClassDef(AliDrawVolume,1) // Volume Object for Drawing | |
82 | }; | |
83 | ||
84 | // | |
85 | // Drawing parameter tags | |
86 | enum AliDrawParamId { | |
87 | kTheta, | |
88 | kPhi, | |
89 | kPsi, | |
90 | kU, | |
91 | kV, | |
92 | kUscale, | |
93 | kVscale, | |
94 | kShadow, | |
95 | kHide, | |
96 | kFill, | |
97 | kSeen, | |
98 | kClip, | |
99 | kClipXmin, | |
100 | kClipXmax, | |
101 | kClipYmin, | |
102 | kClipYmax, | |
103 | kClipZmin, | |
104 | kClipZmax | |
105 | }; | |
106 | ||
107 | ||
108 | #endif |