]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/AliTPCclusterMI.cxx
Now uses the simplified interface of RawStreamTracker to loop over raw data
[u/mrichter/AliRoot.git] / TPC / AliTPCclusterMI.cxx
CommitLineData
1c53abe2 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
6d171107 16//-------------------------------------------------------
17// Implementation of the TPC cluser
18//
19// Origin: Marian Ivanov Marian.Ivanov@cern.ch
20//
21// AliTPC parallel tracker -
22// Description of this class together with its intended usage
23// will follow shortly
24//
25//-------------------------------------------------------
26
27/* $Id$ */
1c53abe2 28
29#include "AliTPCclusterMI.h"
03fe1804 30#include "AliTPCclusterInfo.h"
31#include "AliLog.h"
1c53abe2 32
33ClassImp(AliTPCclusterMI)
1c53abe2 34
2f32844a 35
03fe1804 36AliTPCclusterMI::AliTPCclusterMI(Bool_t withInfo):
2f32844a 37 AliCluster(),
2f32844a 38 fQ(0),
39 fType(0),
40 fMax(0),
41 fUsed(0),
42 fDetector(0),
03fe1804 43 fRow(0),
44 fTimeBin(0),
45 fPad(0),
46 fInfo(0)
2f32844a 47{
48 //
49 // default constructor
50 //
03fe1804 51 if (withInfo) fInfo = new AliTPCclusterInfo;
2f32844a 52}
53
03fe1804 54AliTPCclusterMI::AliTPCclusterMI(const AliTPCclusterMI & cluster):
55 AliCluster(cluster),
03fe1804 56 fQ(cluster.fQ),
57 fType(cluster.fType),
58 fMax(cluster.fMax),
59 fUsed(cluster.fUsed),
60 fDetector(cluster.fDetector),
61 fRow(cluster.fRow),
62 fTimeBin(cluster.fTimeBin),
63 fPad(cluster.fPad),
64 fInfo(0)
65{
66 //
67 // copy constructor
68 //
69 // AliInfo("Copy constructor\n");
70 if (cluster.fInfo) fInfo = new AliTPCclusterInfo(*(cluster.fInfo));
71}
72
73AliTPCclusterMI & AliTPCclusterMI::operator = (const AliTPCclusterMI & cluster)
74{
75 //
76 // assignment operator
77 //
78 // AliInfo("Asignment operator\n");
79
80 (AliCluster&)(*this) = (AliCluster&)cluster;
03fe1804 81 fQ = cluster.fQ;
82 fType = cluster.fType;
83 fMax = cluster.fMax;
84 fUsed = cluster.fUsed;
85 fDetector = cluster.fDetector;
86 fRow = cluster.fRow;
87 fTimeBin = cluster.fTimeBin;
88 fPad = cluster.fPad;
89 fInfo = 0;
90 if (cluster.fInfo) fInfo = new AliTPCclusterInfo(*(cluster.fInfo));
a487b3ba 91 return *this;
03fe1804 92}
93
94
95
96
2f32844a 97AliTPCclusterMI::AliTPCclusterMI(Int_t *lab, Float_t *hit) :
75fb37cc 98 AliCluster(0,hit,0.,0.,lab),
e046d791 99 fQ(0),
2f32844a 100 fType(0),
101 fMax(0),
102 fUsed(0),
103 fDetector(0),
03fe1804 104 fRow(0),
105 fInfo(0)
2f32844a 106{
107 //
108 // constructor
109 //
110 fQ = (UShort_t)hit[4];
03fe1804 111 fInfo = 0;
2f32844a 112}
113
03fe1804 114AliTPCclusterMI::~AliTPCclusterMI() {
115 //
116 // destructor
117 //
118 if (fInfo) delete fInfo;
119}
120
121
122
1c53abe2 123Bool_t AliTPCclusterMI::IsSortable() const
124{
125 //
126 //
127 return kTRUE;
128
129}
130
131Int_t AliTPCclusterMI::Compare(const TObject* obj) const
132{
133 //
134 // compare according y
135 AliTPCclusterMI * o2 = (AliTPCclusterMI*)obj;
75fb37cc 136 return (o2->GetY()>GetY())? -1:1;
1c53abe2 137}