fX, fDetector and fRow data members added (6 Bytes) - needed for Alignment (M.Ivanov)
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 7 Apr 2006 15:10:50 +0000 (15:10 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 7 Apr 2006 15:10:50 +0000 (15:10 +0000)
TPC/AliTPCclusterMI.h
TPC/AliTPCclustererMI.cxx
TPC/AliTPCclustererMI.h

index 3122672..b952fd6 100644 (file)
 //_____________________________________________________________________________
 class AliTPCclusterMI : public AliCluster {
 public:
-  AliTPCclusterMI():AliCluster(){fQ=0; fUsed=0;}
+  AliTPCclusterMI():AliCluster(){fX =0; fQ=0; fUsed=0; fDetector = 0; fRow =0;}
   AliTPCclusterMI(Int_t *lab, Float_t *hit) : AliCluster(lab,hit) {fQ = (UShort_t)hit[4];}
   virtual ~AliTPCclusterMI() {}
   virtual Bool_t IsSortable() const; 
   virtual Int_t Compare(const TObject* obj) const;
   inline  void Use(Int_t inc=10);
+  virtual Float_t GetX() const { return fX;}
+  virtual void  SetX(Float_t x) { fX = x;}
+  virtual Int_t GetDetector() const {return fDetector;}
+  virtual Int_t GetRow() const {return fRow;}
+  virtual void SetDetector(Int_t detector){fDetector = (UChar_t)(detector%256);}
+  virtual void SetRow(Int_t row){fRow = (UChar_t)(row%256);}  
+  //
   void SetQ(Float_t q) {fQ=(UShort_t)q;}
   void SetType(Char_t type) {fType=type;}
   void SetMax(UShort_t max) {fMax=max;}
@@ -31,11 +38,14 @@ public:
   Char_t  GetType()const {return fType;}
  
 private:
+  Float_t   fX;        //X position of cluster
   Short_t   fQ ;       //Q of cluster (in ADC counts)  
   Char_t    fType;     //type of the cluster 0 means golden 
   Short_t   fMax;      //maximal amplitude in cluster
   Char_t    fUsed;     //counter of usage  
- ClassDef(AliTPCclusterMI,1)  // Time Projection Chamber clusters
+  UChar_t   fDetector; //detector  number
+  UChar_t   fRow;      //row number number
+  ClassDef(AliTPCclusterMI,2)  // Time Projection Chamber clusters
 };
 
 void AliTPCclusterMI::Use(Int_t inc) 
index 8d222f2..2d3f32e 100644 (file)
@@ -433,7 +433,10 @@ void AliTPCclustererMI::AddCluster(AliTPCclusterMI &c){
   c.SetZ(fZWidth*(meanj-3)); 
   c.SetZ(c.GetZ() - 3.*fParam->GetZSigma() + fParam->GetNTBinsL1()*fParam->GetZWidth()); // PASA delay + L1 delay
   c.SetZ(fSign*(fParam->GetZLength() - c.GetZ()));
-  
+  c.SetX(fRx);
+  c.SetDetector(fSector);
+  c.SetRow(fRow);
+
   if (ki<=1 || ki>=fMaxPad-1 || kj==1 || kj==fMaxTime-2) {
     //c.SetSigmaY2(c.GetSigmaY2()*25.);
     //c.SetSigmaZ2(c.GetSigmaZ2()*4.);
@@ -479,11 +482,11 @@ void AliTPCclustererMI::Digits2Clusters()
 
   for (Int_t n=0; n<nentries; n++) {
     fInput->GetEvent(n);
-    Int_t row;
-    if (!fParam->AdjustSectorRow(digarr.GetID(),fSector,row)) {
+    if (!fParam->AdjustSectorRow(digarr.GetID(),fSector,fRow)) {
       cerr<<"AliTPC warning: invalid segment ID ! "<<digarr.GetID()<<endl;
       continue;
     }
+    Int_t row = fRow;
     AliTPCCalROC * gainROC = gainTPC->GetCalROC(fSector);  // pad gains per given sector
     
     //
@@ -607,6 +610,7 @@ void AliTPCclustererMI::Digits2Clusters(AliRawReader* rawReader)
 
       // ... prepare for the next pad row
       fSector = input.GetSector();
+      fRow    = input.GetRow();
       Int_t iRow = input.GetRow();
       fRx = fParam->GetPadRowRadii(fSector, iRow);
     
index 6485791..8a438ba 100644 (file)
@@ -55,6 +55,7 @@ private:
   Int_t fMaxTime;
   Int_t fMaxPad;
   Int_t fSector;      //!current sector
+  Int_t fRow;         //!current row
   Float_t fSign;      //!current sign 
   Float_t fRx;        // current radius
   Float_t fPadWidth;  // the width of the pad