//___________________________________________________________________________
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
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
//_____________________________________________________________________________
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);
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);
+}