speed up with binary search
[u/mrichter/AliRoot.git] / PMD / AliPMDrecpoint1.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 //                                                     //
18 //  Date   : August 05 2003                            //
19 //                                                     //
20 //  Store recpoints for ALICE-PMD                      //
21 //                                                     //
22 //-----------------------------------------------------//
23 #include "Riostream.h"
24 #include "Rtypes.h"
25 #include "AliPMDrecpoint1.h"
26 #include <stdio.h>
27
28 ClassImp(AliPMDrecpoint1)
29
30 AliPMDrecpoint1::AliPMDrecpoint1():
31   fDet(0),
32   fSMN(0)
33 {
34   // Default constructor
35   for (Int_t i = 0; i < 6; i++)
36     {
37       fClusData[i] = 0.;
38     }
39 }
40 // ------------------------------------------------------------------------- //
41 AliPMDrecpoint1::AliPMDrecpoint1(Int_t idet, Int_t ismn, Float_t *clusdata):
42   fDet(idet),
43   fSMN(ismn)
44 {
45   // Constructor
46   for (Int_t i = 0; i < 6; i++)
47     {
48       fClusData[i] = clusdata[i];
49     }
50 }
51 // ------------------------------------------------------------------------- //
52 AliPMDrecpoint1::AliPMDrecpoint1(AliPMDrecpoint1 *pmdrecpoint):
53   fDet(0),
54   fSMN(0)
55 {
56   *this = *pmdrecpoint;
57 }
58
59 // ------------------------------------------------------------------------- //
60 AliPMDrecpoint1::AliPMDrecpoint1(const AliPMDrecpoint1 &pmdrecpoint):
61   TObject(pmdrecpoint),
62   fDet(pmdrecpoint.fDet),
63   fSMN(pmdrecpoint.fSMN)
64 {
65   //Copy Constructor 
66   for(Int_t i=0; i<6; i++)
67     {
68       fClusData[i] = pmdrecpoint.fClusData[i];
69     }
70 }
71 // ------------------------------------------------------------------------- //
72 AliPMDrecpoint1 & AliPMDrecpoint1::operator=(const AliPMDrecpoint1 &pmdrecpoint)
73 {
74   // Assignment operator 
75   if(this != &pmdrecpoint)
76     {
77       fDet = pmdrecpoint.fDet;
78       fSMN = pmdrecpoint.fSMN;
79       for(Int_t i=0; i<6; i++)
80         {
81           fClusData[i] = pmdrecpoint.fClusData[i];
82         }
83     }
84   return *this;
85 }
86 // ------------------------------------------------------------------------- //
87 AliPMDrecpoint1::~AliPMDrecpoint1()
88 {
89   // Default destructor
90 }
91 // ------------------------------------------------------------------------- //
92 Int_t AliPMDrecpoint1::GetDetector() const
93 {
94   return fDet;
95 }
96 // ------------------------------------------------------------------------- //
97 Int_t AliPMDrecpoint1::GetSMNumber() const
98 {
99   return fSMN;
100 }
101 // ------------------------------------------------------------------------- //
102 Float_t AliPMDrecpoint1::GetClusX() const
103 {
104   return fClusData[0];
105 }
106 // ------------------------------------------------------------------------- //
107 Float_t AliPMDrecpoint1::GetClusY() const
108 {
109   return fClusData[1];
110 }
111 // ------------------------------------------------------------------------- //
112 Float_t AliPMDrecpoint1::GetClusADC() const
113 {
114   return fClusData[2];
115 }
116 // ------------------------------------------------------------------------- //
117 Float_t AliPMDrecpoint1::GetClusCells() const
118 {
119   return fClusData[3];
120 }
121 // ------------------------------------------------------------------------- //
122 Float_t AliPMDrecpoint1::GetClusSigmaX() const
123 {
124   return fClusData[4];
125 }
126 // ------------------------------------------------------------------------- //
127 Float_t AliPMDrecpoint1::GetClusSigmaY() const
128 {
129   return fClusData[5];
130 }
131 // ------------------------------------------------------------------------- //
132
133