]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/AliTPCclusterMI.cxx
Possibility to getthe data from zip file
[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
03fe1804 37AliTPCclusterMI::AliTPCclusterMI(Bool_t withInfo):
2f32844a 38 AliCluster(),
2f32844a 39 fQ(0),
40 fType(0),
41 fMax(0),
42 fUsed(0),
43 fDetector(0),
03fe1804 44 fRow(0),
45 fTimeBin(0),
46 fPad(0),
47 fInfo(0)
2f32844a 48{
49 //
50 // default constructor
51 //
03fe1804 52 if (withInfo) fInfo = new AliTPCclusterInfo;
2f32844a 53}
54
03fe1804 55AliTPCclusterMI::AliTPCclusterMI(const AliTPCclusterMI & cluster):
56 AliCluster(cluster),
03fe1804 57 fQ(cluster.fQ),
58 fType(cluster.fType),
59 fMax(cluster.fMax),
60 fUsed(cluster.fUsed),
61 fDetector(cluster.fDetector),
62 fRow(cluster.fRow),
63 fTimeBin(cluster.fTimeBin),
64 fPad(cluster.fPad),
65 fInfo(0)
66{
67 //
68 // copy constructor
69 //
70 // AliInfo("Copy constructor\n");
71 if (cluster.fInfo) fInfo = new AliTPCclusterInfo(*(cluster.fInfo));
72}
73
74AliTPCclusterMI & AliTPCclusterMI::operator = (const AliTPCclusterMI & cluster)
75{
76 //
77 // assignment operator
78 //
79 // AliInfo("Asignment operator\n");
80
81 (AliCluster&)(*this) = (AliCluster&)cluster;
03fe1804 82 fQ = cluster.fQ;
83 fType = cluster.fType;
84 fMax = cluster.fMax;
85 fUsed = cluster.fUsed;
86 fDetector = cluster.fDetector;
87 fRow = cluster.fRow;
88 fTimeBin = cluster.fTimeBin;
89 fPad = cluster.fPad;
a0f67dc8 90 delete fInfo;
03fe1804 91 fInfo = 0;
92 if (cluster.fInfo) fInfo = new AliTPCclusterInfo(*(cluster.fInfo));
a487b3ba 93 return *this;
03fe1804 94}
95
96
97
98
2f32844a 99AliTPCclusterMI::AliTPCclusterMI(Int_t *lab, Float_t *hit) :
75fb37cc 100 AliCluster(0,hit,0.,0.,lab),
e046d791 101 fQ(0),
2f32844a 102 fType(0),
103 fMax(0),
104 fUsed(0),
105 fDetector(0),
03fe1804 106 fRow(0),
107 fInfo(0)
2f32844a 108{
109 //
110 // constructor
111 //
112 fQ = (UShort_t)hit[4];
03fe1804 113 fInfo = 0;
2f32844a 114}
115
03fe1804 116AliTPCclusterMI::~AliTPCclusterMI() {
117 //
118 // destructor
119 //
120 if (fInfo) delete fInfo;
a0f67dc8 121 fInfo = 0;
03fe1804 122}
123
124
125
1c53abe2 126Bool_t AliTPCclusterMI::IsSortable() const
127{
128 //
129 //
130 return kTRUE;
131
132}
133
134Int_t AliTPCclusterMI::Compare(const TObject* obj) const
135{
136 //
137 // compare according y
138 AliTPCclusterMI * o2 = (AliTPCclusterMI*)obj;
75fb37cc 139 return (o2->GetY()>GetY())? -1:1;
1c53abe2 140}
1ac29fc4 141
142
143void AliTPCclusterMI::SetDetector(Int_t detector){
144 //
145 // set volume ID
146 //
147 fDetector = (UChar_t)(detector%72);
148 AliGeomManager::ELayerID id = (fDetector<36) ?
149 AliGeomManager::kTPC1 :AliGeomManager::kTPC2 ;
150 Int_t modId = (fDetector<36)?fDetector: fDetector-36;
151 SetVolumeId(AliGeomManager::LayerToVolUID(id,modId));
152}
b127a65f 153
154
155void AliTPCclusterMI::SetInfo(AliTPCclusterInfo * info) {
156 //
157 //
158 //
159 if (fInfo) delete fInfo;
160 fInfo = info;
161}