]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDcluster.cxx
Update documentation (SPD, SSD, multiplicity)
[u/mrichter/AliRoot.git] / TRD / AliTRDcluster.cxx
index 9309cfd0231ff747b1a1d72675408497571355af..cb166156116d1ef96011fd96ab36e8154a8575eb 100644 (file)
@@ -29,12 +29,15 @@ ClassImp(AliTRDcluster)
 //___________________________________________________________________________
 AliTRDcluster::AliTRDcluster() 
   :AliCluster() 
+  ,fPadCol(0)
+  ,fPadRow(0)
+  ,fPadTime(0)
+  ,fLocalTimeBin(0)
+  ,fNPads(0)
+  ,fClusterMasking(0)
   ,fDetector(0)
-  ,fTimeBin(0)
   ,fQ(0)
-  ,fNPads(0)
   ,fCenter(0)
-  ,fPad(0)
 { 
   //
   // Default constructor
@@ -50,15 +53,18 @@ AliTRDcluster::AliTRDcluster()
 AliTRDcluster::AliTRDcluster(Int_t det, Float_t q
                            , Float_t *pos, Float_t *sig
                            , Int_t *tracks, Char_t npads, Short_t *signals
-                           , UChar_t col, Char_t timebin
-                          , Float_t center, UShort_t volid)
-  :AliCluster(volid,pos[2],pos[0],pos[1],sig[0],sig[1],0.0,0x0) 
+                           , UChar_t col, UChar_t row, UChar_t time
+                           , Char_t timebin, Float_t center, UShort_t volid)
+  :AliCluster(volid,pos[0],pos[1],pos[2],sig[0],sig[1],0.0,0x0) 
+  ,fPadCol(col)
+  ,fPadRow(row)
+  ,fPadTime(time)
+  ,fLocalTimeBin(timebin)
+  ,fNPads(npads)
+  ,fClusterMasking(0)
   ,fDetector(det)
-  ,fTimeBin(timebin)
   ,fQ(q)
-  ,fNPads(npads)
   ,fCenter(center)
-  ,fPad(col)
 { 
   //
   // Constructor
@@ -77,17 +83,21 @@ AliTRDcluster::AliTRDcluster(Int_t det, Float_t q
 //_____________________________________________________________________________
 AliTRDcluster::AliTRDcluster(const AliTRDcluster &c)
   :AliCluster(c)
+  ,fPadCol(c.fPadCol)
+  ,fPadRow(c.fPadRow)
+  ,fPadTime(c.fPadTime)
+  ,fLocalTimeBin(c.fLocalTimeBin)
+  ,fNPads(c.fNPads)
+  ,fClusterMasking(c.fClusterMasking)
   ,fDetector(c.fDetector)
-  ,fTimeBin(c.fTimeBin)
   ,fQ(c.fQ)
-  ,fNPads(c.fNPads)
   ,fCenter(c.fCenter)
-  ,fPad(c.fPad)
 {
   //
   // Copy constructor 
   //
 
+  SetBit(1, c.IsInChamber());
   SetLabel(c.GetLabel(0),0);
   SetLabel(c.GetLabel(1),1);
   SetLabel(c.GetLabel(2),2);
@@ -197,3 +207,33 @@ Float_t AliTRDcluster::GetSumS() const
   return sum;
 
 }
+
+//_____________________________________________________________________________
+void AliTRDcluster::SetPadMaskedPosition(UChar_t position)
+{
+  //
+  // store the pad corruption position code
+  // 
+  // Code: 1 = left cluster
+  //       2 = middle cluster;
+  //       4 = right cluster
+  //
+  for(Int_t ipos = 0; ipos < 3; ipos++)
+    if(TESTBIT(position, ipos))
+      SETBIT(fClusterMasking, ipos);
+}
+
+//_____________________________________________________________________________
+void AliTRDcluster::SetPadMaskedStatus(UChar_t status)
+{
+  //
+  // store the status of the corrupted pad
+  //
+  // Code: 2 = noisy
+  //       4 = Bridged Left
+  //       8 = Bridged Right
+  //      32 = Not Connected
+  for(Int_t ipos = 0; ipos < 5; ipos++)
+    if(TESTBIT(status, ipos))
+      SETBIT(fClusterMasking, ipos + 3);
+}