]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TGeant3/AliDrawVolume.h
Possibility to select/unselect spectator protons and neutrons.
[u/mrichter/AliRoot.git] / TGeant3 / AliDrawVolume.h
CommitLineData
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
14class AliDrawVolume : public TObject
15{
16public:
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
52private:
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
86enum 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