speed up with binary search
[u/mrichter/AliRoot.git] / PMD / AliPMDhit.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 #include "AliPMDhit.h"
17 #include <TClonesArray.h>
18 #include "Riostream.h"
19 #include "Rtypes.h"
20
21 ClassImp(AliPMDhit)
22   
23 //_____________________________________________________________________________
24 AliPMDhit::AliPMDhit():
25   fEnergy(0.),
26   fTime(0.)
27 {
28   for (Int_t i=0; i<6; i++)
29     {
30       fVolume[i] = 0;
31     }
32 }
33 //_____________________________________________________________________________
34 AliPMDhit::AliPMDhit(Int_t shunt,Int_t track, Int_t *vol, Float_t *hits):
35   AliHit(shunt, track),
36   fEnergy(hits[3]),
37   fTime(hits[4])
38 {
39   //
40   // Add a PMD hit
41   //
42   Int_t i;
43   for (i=0; i<6; i++) fVolume[i] = vol[i];
44   fX=hits[0];
45   fY=hits[1];
46   fZ=hits[2];
47 }
48 //_____________________________________________________________________________
49 AliPMDhit::AliPMDhit(AliPMDhit* oldhit):
50   fEnergy(0.),
51   fTime(0.)
52 {
53   *this=*oldhit;
54 }
55
56 //_____________________________________________________________________________
57 int AliPMDhit::operator == (AliPMDhit &cell) const
58 {
59   Int_t i;
60   if(fTrack!=cell.GetTrack()) return 0;
61   for (i=0; i<6; i++) if(fVolume[i]!=cell.GetVolume(i)) return 0;
62   return 1;
63 }