Made Getters const
[u/mrichter/AliRoot.git] / TRD / AliTRDpoints.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15
16 /*
17 $Log$
18 Revision 1.1.2.1  2000/09/18 13:44:21  cblume
19 New class AliTRDpoints to display the TR photon hits
20
21 */
22
23 ///////////////////////////////////////////////////////////////////////////////
24 //                                                                           //
25 //  This class contains the TRD points for the ALICE event display           //
26 //                                                                           //
27 ///////////////////////////////////////////////////////////////////////////////
28
29 #include "AliTRDpoints.h"
30 #include "AliRun.h"
31 #include "AliDetector.h"
32 #include "TPad.h"
33 #include "TView.h"
34  
35 ClassImp(AliTRDpoints)
36
37 //_____________________________________________________________________________
38 AliTRDpoints::AliTRDpoints():AliPoints()
39 {
40   //
41   // Default constructor
42   //
43
44   fNTRpoints    = 0;
45   fTRpolyMarker = 0;
46
47 }
48
49 //_____________________________________________________________________________
50 AliTRDpoints::AliTRDpoints(Int_t nhitsE, Int_t nhitsT):AliPoints(nhitsE)
51 {
52   //
53   // Standard constructor
54   //
55
56   fNTRpoints    = nhitsT;
57   fTRpolyMarker = 0;
58
59 }
60          
61 //_____________________________________________________________________________
62 AliTRDpoints::AliTRDpoints(const AliTRDpoints &p)
63 {
64   //
65   // Copy contructor
66   //
67  
68   ((AliTRDpoints &) p).Copy(*this);
69
70 }
71
72 //_____________________________________________________________________________
73 AliTRDpoints::~AliTRDpoints()
74 {
75   //
76   // Default destructor
77   //
78
79   if (fTRpolyMarker) delete fTRpolyMarker;
80
81 }
82
83 //_____________________________________________________________________________
84 AliTRDpoints &AliTRDpoints::operator=(const AliTRDpoints &p)
85 {
86   //
87   // Assignment operator 
88   //
89
90   if (this != &p) ((AliTRDpoints &) p).Copy(*this);
91   return *this;
92
93 }
94
95 //_____________________________________________________________________________
96 void AliTRDpoints::Copy(TObject &p)
97 {
98   //
99   // Copy function
100   //
101
102   ((AliTRDpoints &) p).fNTRpoints = fNTRpoints; 
103   for (Int_t i = 0; i < 3*fNTRpoints; i++) {
104     ((AliTRDpoints &) p).fTRpoints[i] = fTRpoints[i];
105   }
106
107 }
108
109 //_____________________________________________________________________________
110 void AliTRDpoints::Draw(Option_t *option) 
111 {
112   //
113   // Draws a TRD point
114   //
115
116   AliPoints::Draw(option);
117
118   //if (fTRpolyMarker) delete fTRpolyMarker;
119   if (fNTRpoints) {
120     fTRpolyMarker = new TPolyMarker3D(fNTRpoints,fTRpoints,29);
121     fTRpolyMarker->SetMarkerColor(2); 
122     fTRpolyMarker->SetMarkerSize(0.8);
123     fTRpolyMarker->Draw(option);
124   }
125
126 }
127
128 //_____________________________________________________________________________
129 void AliTRDpoints::SetTRpoints(Int_t n, Float_t *coor) 
130 {
131   //
132   // Sets the number and the coordinates of the photon hits
133   //
134
135   if (kNTRpoints >= 3 * n) {
136     fNTRpoints = n;
137     for (Int_t i = 0; i < 3*n; i++) {
138       fTRpoints[i] = coor[i];
139     } 
140   }
141   else {
142     printf("AliTRDpoints::SetTRpoints -- ");
143     printf("Boundary error: %d/%d\n",3*n,kNTRpoints);
144   }
145
146 }