]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/DisplayITSv11.h
Fixing a memory leak
[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
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
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     //
37     virtual Int_t GetDebugITS() const {return fITSdebug;}
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;}
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;}
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     //
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
80
81     ClassDef(DisplayITSv11,1) // Task to display ITS v11 Geometry
82 };
83
84 #endif