X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TOF%2FAliTOFdigit.cxx;h=e1d42d1644c2d85fea48754006a78e90a0723e29;hb=38f7995967a97a3454410de3350f57ff5bae82dc;hp=a17674b78940f67c228ebcaa8b160f34f6d66480;hpb=f8014e68e4af4d4c376d1de6796d2d187eb9c02c;p=u%2Fmrichter%2FAliRoot.git diff --git a/TOF/AliTOFdigit.cxx b/TOF/AliTOFdigit.cxx index a17674b7894..e1d42d1644c 100644 --- a/TOF/AliTOFdigit.cxx +++ b/TOF/AliTOFdigit.cxx @@ -1,18 +1,3 @@ -//_________________________________________________________________________ -// 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 - - /************************************************************************** * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * * @@ -28,33 +13,87 @@ * provided "as is" without express or implied warranty. * **************************************************************************/ -#include +/* $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 // +//_________________________________________________________________________// + + +#include "Riostream.h" -#include "AliTOF.h" #include "AliTOFdigit.h" -#include "AliRun.h" -#include "AliMC.h" +#include "AliTOFGeometry.h" ClassImp(AliTOFdigit) +//______________________________________________________________________________ +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,Float_t *digit) -:AliDigit(tracks) + :AliDigit(tracks), + fSector(-1), + fPlate(-1), + fStrip(-1), + fPadx(-1), + fPadz(-1), + fTdc(0), + fTdcND(0), + fAdc(0), + fToT(0) { // // Constructor of digit object // + fSector = vol[0]; fPlate = vol[1]; fStrip = vol[2]; - fPadx = vol[3]; - fPadz = vol[4]; + fPadx = vol[3]; + fPadz = vol[4]; fTdc = digit[0]; + fTdcND = digit[3]; fAdc = digit[1]; + fToT = digit[2]; + } //____________________________________________________________________________ AliTOFdigit::AliTOFdigit(const AliTOFdigit & digit) + :AliDigit(digit), + fSector(-1), + fPlate(-1), + fStrip(-1), + fPadx(-1), + fPadz(-1), + fTdc(0), + fTdcND(0), + fAdc(0), + fToT(0) { // // copy ctor for AliTOFdigit object @@ -69,13 +108,24 @@ AliTOFdigit::AliTOFdigit(const AliTOFdigit & digit) fPadx = digit.fPadx; fPadz = digit.fPadz; fTdc = digit.fTdc; + fTdcND = digit.fTdcND; fAdc = digit.fAdc; + fToT = digit.fToT; } //______________________________________________________________________________ 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, Float_t tdc, Float_t adc): + fSector(-1), + fPlate(-1), + fStrip(-1), + fPadx(-1), + fPadz(-1), + fTdc(0), + fTdcND(0), + fAdc(0), + fToT(0) { // // Constructor for sdigit @@ -86,7 +136,9 @@ Int_t padz, Float_t tdc, Float_t adc) fPadx = padx; fPadz = padz; fTdc = tdc; + fTdcND = 0; fAdc = adc; + fToT = 0; } //______________________________________________________________________________ @@ -105,40 +157,38 @@ void AliTOFdigit::GetLocation(Int_t *Loc) const } //______________________________________________________________________________ -Int_t AliTOFdigit::GetTotPad() const +Int_t AliTOFdigit::GetTotPad(AliTOFGeometry *tofGeom) const { // // Get the "total" index of the pad inside a Sector // starting from the digits data. // - AliTOF* tof; - - if(gAlice){ - tof =(AliTOF*) gAlice->GetDetector("TOF"); - }else{ - printf("AliTOFdigit::GetTotPad - No AliRun object present, exiting"); - return 0; - } - - Int_t pad = fPadx+tof->GetNpadX()*(fPadz-1); Int_t before=0; switch(fPlate){ - case 1: before = 0; - break; - case 2: before = tof->GetNStripC(); - break; - case 3: before = tof->GetNStripB() + tof->GetNStripC(); - break; - case 4: before = tof->GetNStripA() + tof->GetNStripB() + tof->GetNStripC(); - break; - case 5: before = tof->GetNStripA() + 2*tof->GetNStripB() + tof->GetNStripC(); - break; + case 0: + //before = 0; + break; + case 1: + before = tofGeom->NStripC(); + break; + case 2: + before = tofGeom->NStripC() + AliTOFGeometry::NStripB(); + break; + case 3: + before = tofGeom->NStripC() + AliTOFGeometry::NStripB() + AliTOFGeometry::NStripA(); + break; + case 4: + before = tofGeom->NStripC() + 2*AliTOFGeometry::NStripB() + AliTOFGeometry::NStripA(); + break; } - Int_t strip = fStrip+before; - Int_t padTot = tof->GetPadXStr()*(strip-1)+pad; + Int_t pad = 2*fPadx + fPadz; + //Int_t pad = fPadx+AliTOFGeometry::NpadX()*fPadz; + Int_t strip = fStrip + before; + Int_t padTot = AliTOFGeometry::NpadXStrip()*strip + pad; + return padTot; } @@ -172,12 +222,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,12 +252,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; +}