#include "AliTPCclusterMI.h"
#include "AliTPCclusterInfo.h"
+#include "AliGeomManager.h"
#include "AliLog.h"
ClassImp(AliTPCclusterMI)
-AliTPCclusterMI::AliTPCclusterMI(Bool_t withInfo):
+AliTPCclusterMI::AliTPCclusterMI():
AliCluster(),
- fX(0),
- fQ(0),
- fType(0),
- fMax(0),
- fUsed(0),
- fDetector(0),
- fRow(0),
- fTimeBin(0),
- fPad(0),
- fInfo(0)
+ fInfo(0),
+ fTimeBin(0), //time bin coordinate
+ fPad(0), //pad coordinate
+ fQ(0), //Q of cluster (in ADC counts)
+ fMax(0), //maximal amplitude in cluster
+ fType(0), //type of the cluster 0 means golden
+ fUsed(0), //counter of usage
+ fDetector(0), //detector number
+ fRow(0) //row number number
{
//
// default constructor
//
- if (withInfo) fInfo = new AliTPCclusterInfo;
}
AliTPCclusterMI::AliTPCclusterMI(const AliTPCclusterMI & cluster):
AliCluster(cluster),
- fX(cluster.fX),
+ fInfo(0),
+ fTimeBin(cluster.fTimeBin),
+ fPad(cluster.fPad),
fQ(cluster.fQ),
- fType(cluster.fType),
fMax(cluster.fMax),
+ fType(cluster.fType),
fUsed(cluster.fUsed),
fDetector(cluster.fDetector),
- fRow(cluster.fRow),
- fTimeBin(cluster.fTimeBin),
- fPad(cluster.fPad),
- fInfo(0)
+ fRow(cluster.fRow)
{
//
// copy constructor
// AliInfo("Asignment operator\n");
(AliCluster&)(*this) = (AliCluster&)cluster;
- fX = cluster.fX;
fQ = cluster.fQ;
fType = cluster.fType;
fMax = cluster.fMax;
fRow = cluster.fRow;
fTimeBin = cluster.fTimeBin;
fPad = cluster.fPad;
+ delete fInfo;
fInfo = 0;
if (cluster.fInfo) fInfo = new AliTPCclusterInfo(*(cluster.fInfo));
+ return *this;
}
AliTPCclusterMI::AliTPCclusterMI(Int_t *lab, Float_t *hit) :
- AliCluster(lab,hit),
- fX(0),
- fQ(0),
- fType(0),
- fMax(0),
- fUsed(0),
- fDetector(0),
- fRow(0),
- fInfo(0)
+ AliCluster(0,hit,0.,0.,lab),
+ fInfo(0),
+ fTimeBin(0), //time bin coordinate
+ fPad(0), //pad coordinate
+ fQ(0), //Q of cluster (in ADC counts)
+ fMax(0), //maximal amplitude in cluster
+ fType(0), //type of the cluster 0 means golden
+ fUsed(0), //counter of usage
+ fDetector(0), //detector number
+ fRow(0) //row number number
{
//
// constructor
// destructor
//
if (fInfo) delete fInfo;
+ fInfo = 0;
}
//
// compare according y
AliTPCclusterMI * o2 = (AliTPCclusterMI*)obj;
- return (o2->GetY()>fY)? -1:1;
+ return (o2->GetY()>GetY())? -1:1;
+}
+
+
+void AliTPCclusterMI::SetDetector(Int_t detector){
+ //
+ // set volume ID
+ //
+ fDetector = (UChar_t)(detector%72);
+ AliGeomManager::ELayerID id = (fDetector<36) ?
+ AliGeomManager::kTPC1 :AliGeomManager::kTPC2 ;
+ Int_t modId = (fDetector<36)?fDetector: fDetector-36;
+ SetVolumeId(AliGeomManager::LayerToVolUID(id,modId));
+}
+
+
+void AliTPCclusterMI::SetInfo(AliTPCclusterInfo * info) {
+ //
+ //
+ //
+ if (fInfo) delete fInfo;
+ fInfo = info;
}