/* $Id$ */
-//_________________________________________________________________________
-// TOF sdigit: member variables
-// fSector : TOF sector
-// fPlate : TOF plate
-// fStrip : strips number
-// fPadx : pad number along x
-// fPadz : pad number along z
-// fTdc : TArrayF of TDC values
-// fAdc : TArrayF of ADC values
-//
-// Getters, setters and member functions defined here
-//
-//*-- Authors: F. Pierella, A. Seganti, D. Vicinanza
+//_________________________________________________________________________//
+// //
+// TOF sdigit: member variables //
+// fSector : TOF sector //
+// fPlate : TOF plate //
+// fStrip : strips number //
+// fPadx : pad number along x //
+// fPadz : pad number along z //
+// fTdc : TArrayF of TDC values //
+// fAdc : TArrayF of ADC values //
+// //
+// Getters, setters and member functions defined here //
+// //
+// -- Authors: F. Pierella, A. Seganti, D. Vicinanza //
+//_________________________________________________________________________//
-#include <Riostream.h>
#include "TArrayF.h"
#include "TArrayI.h"
-#include "AliRun.h"
-#include "AliTOF.h"
+#include "AliLog.h"
+
#include "AliTOFGeometry.h"
#include "AliTOFSDigit.h"
ClassImp(AliTOFSDigit)
////////////////////////////////////////////////////////////////////////
- AliTOFSDigit::AliTOFSDigit()
+AliTOFSDigit::AliTOFSDigit():
+ fSector(-1),
+ fPlate(-1),
+ fStrip(-1),
+ fPadx(-1),
+ fPadz(-1),
+ fNDigits(0),
+ fTdc(0x0),
+ fAdc(0x0),
+ fTracks(0x0)
{
//
// default ctor
//
- fNDigits = 0;
- fTdc = 0;
- fAdc = 0;
- fTracks = 0;
}
////////////////////////////////////////////////////////////////////////
-AliTOFSDigit::AliTOFSDigit(Int_t tracknum, Int_t *vol,Float_t *digit)
-:TObject()
+AliTOFSDigit::AliTOFSDigit(Int_t tracknum, Int_t *vol,Float_t *digit):
+ TObject(),
+ fSector(-1),
+ fPlate(-1),
+ fStrip(-1),
+ fPadx(-1),
+ fPadz(-1),
+ fNDigits(0),
+ fTdc(0x0),
+ fAdc(0x0),
+ fTracks(0x0)
{
//
// Constructor of digit object
}
////////////////////////////////////////////////////////////////////////
-AliTOFSDigit::AliTOFSDigit(const AliTOFSDigit & digit)
-:TObject()
+AliTOFSDigit::AliTOFSDigit(const AliTOFSDigit & digit):
+ TObject(),
+ fSector(-1),
+ fPlate(-1),
+ fStrip(-1),
+ fPadx(-1),
+ fPadz(-1),
+ fNDigits(0),
+ fTdc(0x0),
+ fAdc(0x0),
+ fTracks(0x0)
{
//
// copy ctor for AliTOFSDigit object
fTracks = new TArrayI(*digit.fTracks);
}
+////////////////////////////////////////////////////////////////////////
+AliTOFSDigit& AliTOFSDigit::operator=(const AliTOFSDigit & digit)
+{
+ //
+ // copy ctor for AliTOFSDigit object
+ //
+ this->fSector = digit.fSector;
+ this->fPlate = digit.fPlate;
+ this->fStrip = digit.fStrip;
+ this->fPadx = digit.fPadx;
+ this->fPadz = digit.fPadz;
+ this->fNDigits = digit.fNDigits;
+ this->fTdc = digit.fTdc;
+ this->fAdc = digit.fAdc;
+ this->fTracks = digit.fTracks;
+ return *this;
+
+}
+
////////////////////////////////////////////////////////////////////////
AliTOFSDigit::AliTOFSDigit(Int_t sector, Int_t plate, Int_t strip, Int_t padx,
- Int_t padz, Float_t tdc, Float_t adc)
+ Int_t padz, Float_t tdc, Float_t adc):
+ fSector(sector),
+ fPlate(plate),
+ fStrip(strip),
+ fPadx(padx),
+ fPadz(padz),
+ fNDigits(1),
+ fTdc(0x0),
+ fAdc(0x0),
+ fTracks(0x0)
{
//
// Constructor for sdigit
//
- fSector = sector;
- fPlate = plate;
- fStrip = strip;
- fPadx = padx;
- fPadz = padz;
- fNDigits = 1;
fTdc = new TArrayF(fNDigits);
(*fTdc)[0] = tdc;
fAdc = new TArrayF(fNDigits);
}
// write warning about many tracks going to this pad
if (iTrack == kMAXDIGITS) {
- cerr<<"WARNING: AliTOFSDigit::Update Many hits in the padhit"<<endl;
- cerr<<" ";
- // PrintPad();
+ AliWarning("Many hits in the padhit");
+ // ToAliWarning(PrintPad());
}
}
} else {
Int_t nlocations=sdig->GetNDigits();
for (Int_t j = 0; j < nlocations; j++) {
- Float_t tdcbin=50.; // [ps] hardwired for the time being
+ Float_t tdcbin = AliTOFGeometry::TdcBinWidth();// [ps] hardwired for the time being
Int_t tdc=(Int_t)sdig->GetTdc(j);
Int_t adc=(Int_t)sdig->GetAdc(j);
// getting here only the first track number
}
// write warning about many tracks going to this pad
if (iTrack == kMAXDIGITS) {
- cerr<<"WARNING: AliTOFSDigit::Update Many hits in the padhit"<<endl;
- cerr<<" ";
- // PrintPad();
+ AliWarning("Many hits in the padhit");
+ // ToAliWarning(PrintPad());
}
}
} else {
////////////////////////////////////////////////////////////////////////
-Int_t AliTOFSDigit::GetTotPad() const
+Int_t AliTOFSDigit::GetTotPad(AliTOFGeometry *tofGeom) const
{
//
// Get the "total" index of the pad inside a Sector
// starting from the digits data.
//
- Int_t pad = fPadx+AliTOFGeometry::NpadX()*(fPadz-1);
+ Int_t pad = 2*fPadx + fPadz;
+ //Int_t pad = fPadx+AliTOFGeometry::NpadX()*fPadz;
Int_t before=0;
switch(fPlate){
- case 1: before = 0;
+ case 0:
+ //before = 0;
break;
- case 2: before = AliTOFGeometry::NStripC();
+ case 1:
+ before = tofGeom->NStripC();
break;
- case 3: before = AliTOFGeometry::NStripB() + AliTOFGeometry::NStripC();
+ case 2:
+ before = AliTOFGeometry::NStripB() + tofGeom->NStripC();
break;
- case 4: before = AliTOFGeometry::NStripA() + AliTOFGeometry::NStripB() + AliTOFGeometry::NStripC();
+ case 3:
+ before = AliTOFGeometry::NStripA() + AliTOFGeometry::NStripB() + tofGeom->NStripC();
break;
- case 5: before = AliTOFGeometry::NStripA() + 2*AliTOFGeometry::NStripB() + AliTOFGeometry::NStripC();
+ case 4:
+ before = AliTOFGeometry::NStripA() + 2*AliTOFGeometry::NStripB() + tofGeom->NStripC();
break;
}
- Int_t strip = fStrip+before;
- Int_t padTot = AliTOFGeometry::NpadX()*AliTOFGeometry::NpadZ()*(strip-1)+pad;
+ Int_t strip = fStrip + before;
+ Int_t padTot = AliTOFGeometry::NpadXStrip()*strip + pad;
return padTot;
}
-