X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TOF%2FAliTOFdigit.cxx;h=5caab7d415e2800d58af134d6e9c728c6d44ae8a;hb=125f7e0b7ccd3fa2eab79374ebad20ec36b01db4;hp=bd5f0bf55cff58a24a2b3116277878efa13178e0;hpb=d076c8d50a1623661d15ead7bdc66ea74a064a67;p=u%2Fmrichter%2FAliRoot.git diff --git a/TOF/AliTOFdigit.cxx b/TOF/AliTOFdigit.cxx index bd5f0bf55cf..5caab7d415e 100644 --- a/TOF/AliTOFdigit.cxx +++ b/TOF/AliTOFdigit.cxx @@ -15,48 +15,74 @@ /* $Id$ */ -//_________________________________________________________________________ -// TOF digit: member variables -// fSector : TOF sector -// fPlate : TOF plate -// fStrip : strips number -// fPadx : pad number along x -// fPadz : pad number along z -// fTdc : TDC -// fAdc : ADC -// -// Getters, setters and member functions defined here -// -//*-- Authors: F. Pierella, A. Seganti, D. Vicinanza +//_________________________________________________________________________// +// // +// TOF digit: member variables // +// fSector : TOF sector // +// fPlate : TOF plate // +// fStrip : strips number // +// fPadx : pad number along x // +// fPadz : pad number along z // +// fTdc : TDC // +// fAdc : ADC // +// // +// Getters, setters and member functions defined here // +// // +// -- Authors: F. Pierella, A. Seganti, D. Vicinanza // +//_________________________________________________________________________// -#include +#include "Riostream.h" -#include "AliRun.h" -#include "AliTOFGeometry.h" #include "AliTOFdigit.h" +#include "AliTOFGeometry.h" ClassImp(AliTOFdigit) //______________________________________________________________________________ -AliTOFdigit::AliTOFdigit(Int_t *tracks, Int_t *vol,Float_t *digit) -:AliDigit(tracks) +AliTOFdigit::AliTOFdigit() + :AliDigit(), + fSector(-1), + fPlate(-1), + fStrip(-1), + fPadx(-1), + fPadz(-1), + fTdc(0), + fTdcND(0), + fAdc(0), + fToT(0) +{ +} +//______________________________________________________________________________ +AliTOFdigit::AliTOFdigit(Int_t *tracks, Int_t *vol, Int_t *digit) + :AliDigit(tracks), + fSector(vol[0]), + fPlate(vol[1]), + fStrip(vol[2]), + fPadx(vol[3]), + fPadz(vol[4]), + fTdc(digit[0]), + fTdcND(digit[3]), + fAdc(digit[1]), + fToT(digit[2]) { // // Constructor of digit object // - fSector = vol[0]; - fPlate = vol[1]; - fStrip = vol[2]; - fPadx = vol[3]; - fPadz = vol[4]; - fTdc = digit[0]; - fAdc = digit[1]; } //____________________________________________________________________________ AliTOFdigit::AliTOFdigit(const AliTOFdigit & digit) -:AliDigit(digit) + :AliDigit(digit), + fSector(digit.fSector), + fPlate(digit.fPlate), + fStrip(digit.fStrip), + fPadx(digit.fPadx), + fPadz(digit.fPadz), + fTdc(digit.fTdc), + fTdcND(digit.fTdcND), + fAdc(digit.fAdc), + fToT(digit.fToT) { // // copy ctor for AliTOFdigit object @@ -65,45 +91,40 @@ AliTOFdigit::AliTOFdigit(const AliTOFdigit & digit) Int_t i ; for ( i = 0; i < 3 ; i++) fTracks[i] = digit.fTracks[i] ; - fSector = digit.fSector; - fPlate = digit.fPlate; - fStrip = digit.fStrip; - fPadx = digit.fPadx; - fPadz = digit.fPadz; - fTdc = digit.fTdc; - fAdc = digit.fAdc; } //______________________________________________________________________________ AliTOFdigit::AliTOFdigit(Int_t sector, Int_t plate, Int_t strip, Int_t padx, -Int_t padz, Float_t tdc, Float_t adc) + Int_t padz, Int_t tdc, Int_t adc): + fSector(sector), + fPlate(plate), + fStrip(strip), + fPadx(padx), + fPadz(padz), + fTdc(tdc), + fTdcND(0), + fAdc(adc), + fToT(0) { // // Constructor for sdigit // - fSector = sector; - fPlate = plate; - fStrip = strip; - fPadx = padx; - fPadz = padz; - fTdc = tdc; - fAdc = adc; } //______________________________________________________________________________ -void AliTOFdigit::GetLocation(Int_t *Loc) const +void AliTOFdigit::GetLocation(Int_t *loc) const { // // Get the cohordinates of the digit // in terms of Sector - Plate - Strip - Pad // - Loc[0]=fSector; - Loc[1]=fPlate; - Loc[2]=fStrip; - Loc[3]=fPadx; - Loc[4]=fPadz; + loc[0] = fSector; + loc[1] = fPlate; + loc[2] = fStrip; + loc[3] = fPadx; + loc[4] = fPadz; } //______________________________________________________________________________ @@ -134,8 +155,7 @@ Int_t AliTOFdigit::GetTotPad() const break; } - Int_t pad = 2*fPadx + fPadz; - //Int_t pad = fPadx+AliTOFGeometry::NpadX()*fPadz; + Int_t pad = AliTOFGeometry::NpadZ()*fPadx + fPadz; Int_t strip = fStrip + before; Int_t padTot = AliTOFGeometry::NpadXStrip()*strip + pad; @@ -149,13 +169,13 @@ void AliTOFdigit::AddTrack(Int_t track) // Add a new and different track to the digit // if (track==fTracks[0] || track==fTracks[1] || track==fTracks[2]) return; - if (fTracks[1]==0){ + if (fTracks[1]==-1) fTracks[1] = track; - }else if (fTracks[2]==0){ + else if (fTracks[2]==-1) fTracks[2] = track; - }else{ - // printf("AliTOFdigit::AddTrack ERROR: Too many Tracks (>3) \n"); - } + else + printf("W-AliTOFdigit::AddTrack: Too many tracks (>3) that contribute to the same TOF digit\n"); + } // Overloading of Streaming, Sum and Comparison operators @@ -172,12 +192,14 @@ Bool_t AliTOFdigit::operator==(AliTOFdigit const &digit) const fPadx==digit.fPadx && fPadz==digit.fPadz && fTdc==digit.fTdc && - fAdc==digit.fAdc) return kTRUE; + fTdcND==digit.fTdcND && + fAdc==digit.fAdc && + fToT==digit.fToT ) return kTRUE; else return kFALSE; } //______________________________________________________________________________ -AliTOFdigit& AliTOFdigit::operator+(AliTOFdigit const &digit) +AliTOFdigit AliTOFdigit::operator+(const AliTOFdigit &digit) { // // Overloading of Sum operator @@ -200,11 +222,13 @@ if (fSector==digit.fSector && //______________________________________________________________________________ ostream& operator << (ostream& out, const AliTOFdigit &digit) { -// -// Output streamer: output of the digit data -// -out << "Sector " << digit.fSector << ", Plate " << digit.fPlate << ", Strip " << digit.fStrip << endl; -out << "Padx" << digit.fPadx << ", Padz " << digit.fPadz << endl; -out << "TDC " << digit.fTdc << ", ADC "<< digit.fAdc << endl; -return out; + // + // Output streamer: output of the digit data + // + + out << "Sector " << digit.fSector << ", Plate " << digit.fPlate << ", Strip " << digit.fStrip << endl; + out << "Padx" << digit.fPadx << ", Padz " << digit.fPadz << endl; + out << "TDC " << digit.fTdc << ", ADC "<< digit.fAdc << endl; + + return out; }