Start of a TTask to replace Displayv11.C
[u/mrichter/AliRoot.git] / ITS / DisplayITSv11.h
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  */
9 #include <TTask.h>
10 #include <TGeoTube.h>
11
12 class TGeoManager;
13 class AliITS;
14 class TGeoVolume;
15 class TCanvas;
16
17 class DisplayITSv11 : public TTask {
18   public:
19     DisplayITSv11();
20     virtual ~DisplayITSv11();
21     //
22     virtual void Exec(Option_t* opt="");
23     virtual void DisplayITS();
24     virtual void EngineeringSPDThS();
25     virtual void EngineeringSDDCone();
26     virtual void EngineeringSDDCylinder();
27     virtual void EngineeringSupRB24();
28     virtual void EngineeringSupRB26();
29     //
30     virtual Int_t GetDebugITS(){return fITSdebug;}
31     //
32     void SetITSdebugOn(){fITSdebug=1;}
33     void SetITSdebugOff(){fITSdebug=0;}
34     void SetCircleSegments(Int_t i=80){fNsegments=i;}
35     void SetCylindericalCutOn(Double_t phimin=0.0,Double_t phimax=180.){
36         fPhimincut = phimin;fPhimaxcut=phimax;fCut=1;}
37     void SetCylindericalCutOff(){fCut=0;if(fClip) delete fClip;fClip=0;}
38     void SetCylindericalClipVolume(){if(fClip)delete fClip;
39          fClip = new TGeoTubeSeg(0.0,fRmax[0],fRmax[2],fPhimincut,fPhimaxcut);}
40     void SetPerspectiveOn(){fPerspective=1;}
41     void SetPerspectiveOff(){fPerspective=0;}
42     void SetSolid(){fSolid=1;}
43     void SetWire(){fSolid=0;}
44     void SetAxisOn(){fAxis=1;}
45     void SetAxisOff(){fAxis=0;}
46     void SetDisplayAngles(Double_t lon,Double_t lat,Double_t psi){
47         fLongitude=lon;fLatitude=lat;fPsi=psi;}
48   private:
49     void Displaying(TGeoVolume *v,TCanvas *c,Int_t ipad);
50     TGeoManager *fmgr;  // pointer to the geometry manager.
51     AliITS      *fits;  // pointer to AliITS
52     TGeoVolume *fALICE; // Pointer to the true mother volume
53     TGeoVolume *fITS;   // Pointer to the ITS mother volume
54     TGeoShape  *fClip;  // Clipping Volume.
55     //
56     Int_t fITSdebug;
57     Int_t fNsegments;
58     Int_t fCut;
59     Int_t fAxis;
60     Int_t fPerspective;
61     Int_t fSolid;
62     Double_t fRmin[3],fRmax[3];
63     Double_t fPhimincut;
64     Double_t fPhimaxcut;
65     Double_t fLongitude;
66     Double_t fLatitude;
67     Double_t fPsi;
68
69     ClassDef(DisplayITSv11,1) // Task to display ITS v11 Geometry
70 };
71
72 #endif