]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/AliTPCclusterMI.cxx
Adding important addition information to the
[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"
1ac29fc4 31#include "AliGeomManager.h"
03fe1804 32#include "AliLog.h"
1c53abe2 33
34ClassImp(AliTPCclusterMI)
1c53abe2 35
2f32844a 36
d101caf3 37AliTPCclusterMI::AliTPCclusterMI():
2f32844a 38 AliCluster(),
f1c2a4a3 39 fInfo(0),
40 fTimeBin(0), //time bin coordinate
41 fPad(0), //pad coordinate
42 fQ(0), //Q of cluster (in ADC counts)
43 fMax(0), //maximal amplitude in cluster
44 fType(0), //type of the cluster 0 means golden
45 fUsed(0), //counter of usage
46 fDetector(0), //detector number
47 fRow(0) //row number number
2f32844a 48{
49 //
50 // default constructor
51 //
52}
53
03fe1804 54AliTPCclusterMI::AliTPCclusterMI(const AliTPCclusterMI & cluster):
55 AliCluster(cluster),
f1c2a4a3 56 fInfo(0),
57 fTimeBin(cluster.fTimeBin),
58 fPad(cluster.fPad),
03fe1804 59 fQ(cluster.fQ),
03fe1804 60 fMax(cluster.fMax),
f1c2a4a3 61 fType(cluster.fType),
03fe1804 62 fUsed(cluster.fUsed),
63 fDetector(cluster.fDetector),
f1c2a4a3 64 fRow(cluster.fRow)
03fe1804 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;
a0f67dc8 89 delete fInfo;
03fe1804 90 fInfo = 0;
91 if (cluster.fInfo) fInfo = new AliTPCclusterInfo(*(cluster.fInfo));
a487b3ba 92 return *this;
03fe1804 93}
94
95
96
97
2f32844a 98AliTPCclusterMI::AliTPCclusterMI(Int_t *lab, Float_t *hit) :
75fb37cc 99 AliCluster(0,hit,0.,0.,lab),
f1c2a4a3 100 fInfo(0),
101 fTimeBin(0), //time bin coordinate
102 fPad(0), //pad coordinate
103 fQ(0), //Q of cluster (in ADC counts)
104 fMax(0), //maximal amplitude in cluster
105 fType(0), //type of the cluster 0 means golden
106 fUsed(0), //counter of usage
107 fDetector(0), //detector number
108 fRow(0) //row number number
2f32844a 109{
110 //
111 // constructor
112 //
113 fQ = (UShort_t)hit[4];
03fe1804 114 fInfo = 0;
2f32844a 115}
116
03fe1804 117AliTPCclusterMI::~AliTPCclusterMI() {
118 //
119 // destructor
120 //
121 if (fInfo) delete fInfo;
a0f67dc8 122 fInfo = 0;
03fe1804 123}
124
125
126
1c53abe2 127Bool_t AliTPCclusterMI::IsSortable() const
128{
129 //
130 //
131 return kTRUE;
132
133}
134
135Int_t AliTPCclusterMI::Compare(const TObject* obj) const
136{
137 //
138 // compare according y
139 AliTPCclusterMI * o2 = (AliTPCclusterMI*)obj;
75fb37cc 140 return (o2->GetY()>GetY())? -1:1;
1c53abe2 141}
1ac29fc4 142
143
144void AliTPCclusterMI::SetDetector(Int_t detector){
145 //
146 // set volume ID
147 //
148 fDetector = (UChar_t)(detector%72);
149 AliGeomManager::ELayerID id = (fDetector<36) ?
150 AliGeomManager::kTPC1 :AliGeomManager::kTPC2 ;
151 Int_t modId = (fDetector<36)?fDetector: fDetector-36;
152 SetVolumeId(AliGeomManager::LayerToVolUID(id,modId));
153}
b127a65f 154
155
156void AliTPCclusterMI::SetInfo(AliTPCclusterInfo * info) {
157 //
158 //
159 //
160 if (fInfo) delete fInfo;
161 fInfo = info;
162}