e884b829 |
1 | #ifndef DISPLAYITSV11_H |
2 | #define DISPLAYITSV11_H |
3 | /* Copyright (c) 1998-2001, ALICE Experiment at CERN, All rights reserved * |
4 | * See cxx source for full Copyright notice */ |
5 | |
6 | /* |
7 | $Id$ |
8 | */ |
2047f253 |
9 | |
10 | // |
11 | // Class for the display of ITS // Version 11 |
12 | // with the new geometry |
13 | // A proper description of this class will follow |
14 | // |
15 | |
e884b829 |
16 | #include <TTask.h> |
17 | #include <TGeoTube.h> |
18 | |
19 | class TGeoManager; |
20 | class AliITS; |
21 | class TGeoVolume; |
22 | class TCanvas; |
23 | |
24 | class DisplayITSv11 : public TTask { |
25 | public: |
26 | DisplayITSv11(); |
27 | virtual ~DisplayITSv11(); |
28 | // |
29 | virtual void Exec(Option_t* opt=""); |
30 | virtual void DisplayITS(); |
31 | virtual void EngineeringSPDThS(); |
32 | virtual void EngineeringSDDCone(); |
33 | virtual void EngineeringSDDCylinder(); |
34 | virtual void EngineeringSupRB24(); |
35 | virtual void EngineeringSupRB26(); |
36 | // |
2047f253 |
37 | virtual Int_t GetDebugITS() const {return fITSdebug;} |
e884b829 |
38 | // |
39 | void SetITSdebugOn(){fITSdebug=1;} |
40 | void SetITSdebugOff(){fITSdebug=0;} |
41 | void SetCircleSegments(Int_t i=80){fNsegments=i;} |
42 | void SetCylindericalCutOn(Double_t phimin=0.0,Double_t phimax=180.){ |
43 | fPhimincut = phimin;fPhimaxcut=phimax;fCut=1;} |
44 | void SetCylindericalCutOff(){fCut=0;if(fClip) delete fClip;fClip=0;} |
45 | void SetCylindericalClipVolume(){if(fClip)delete fClip; |
46 | fClip = new TGeoTubeSeg(0.0,fRmax[0],fRmax[2],fPhimincut,fPhimaxcut);} |
47 | void SetPerspectiveOn(){fPerspective=1;} |
48 | void SetPerspectiveOff(){fPerspective=0;} |
49 | void SetSolid(){fSolid=1;} |
50 | void SetWire(){fSolid=0;} |
51 | void SetAxisOn(){fAxis=1;} |
52 | void SetAxisOff(){fAxis=0;} |
53 | void SetDisplayAngles(Double_t lon,Double_t lat,Double_t psi){ |
54 | fLongitude=lon;fLatitude=lat;fPsi=psi;} |
2047f253 |
55 | private: |
56 | DisplayITSv11(const DisplayITSv11 & disp) : TTask(disp) { |
57 | Fatal("copy ctor","Not implemented\n");} |
58 | DisplayITSv11 & operator = (const DisplayITSv11 & ) { |
59 | Fatal("= operator","Not implemented\n"); return *this;} |
e884b829 |
60 | void Displaying(TGeoVolume *v,TCanvas *c,Int_t ipad); |
61 | TGeoManager *fmgr; // pointer to the geometry manager. |
62 | AliITS *fits; // pointer to AliITS |
63 | TGeoVolume *fALICE; // Pointer to the true mother volume |
64 | TGeoVolume *fITS; // Pointer to the ITS mother volume |
65 | TGeoShape *fClip; // Clipping Volume. |
66 | // |
2047f253 |
67 | Int_t fITSdebug; // Debug flag |
68 | Int_t fNsegments; // Number of segment |
69 | Int_t fCut; // Cut value |
70 | Int_t fAxis; // Axis value |
71 | Int_t fPerspective; // Perspective option |
72 | Int_t fSolid; // Solid value |
73 | Double_t fRmin[3]; // Minimum radius value |
74 | Double_t fRmax[3]; // Maximum radius value |
75 | Double_t fPhimincut; // Min phi cut |
76 | Double_t fPhimaxcut; // Max phi cut |
77 | Double_t fLongitude; // Longitute value |
78 | Double_t fLatitude; // Latitude value |
79 | Double_t fPsi; // Psi |
e884b829 |
80 | |
81 | ClassDef(DisplayITSv11,1) // Task to display ITS v11 Geometry |
82 | }; |
83 | |
84 | #endif |