]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TOF/AliTOFdigit.cxx
Added a static function to know the TOF sector [0,17] of membership for each TOF...
[u/mrichter/AliRoot.git] / TOF / AliTOFdigit.cxx
index 0fea1b6cfbc3fc7a322452a319a659e45269a3b9..c11a1b9dc6104ab8e5169d3a7b62da72cab8e98c 100644 (file)
@@ -54,46 +54,35 @@ AliTOFdigit::AliTOFdigit()
 {
 }
 //______________________________________________________________________________
-AliTOFdigit::AliTOFdigit(Int_t *tracks, Int_t *vol,Int_t *digit)
+AliTOFdigit::AliTOFdigit(Int_t *tracks, Int_t *vol, Int_t *digit)
   :AliDigit(tracks),
-   fSector(-1),
-   fPlate(-1),
-   fStrip(-1),
-   fPadx(-1),
-   fPadz(-1),
-   fTdc(0),
-   fTdcND(0),
-   fAdc(0),
-   fToT(0)
+   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];
-  fToT    = digit[2];
-  fTdcND  = digit[3];
-
 }
 
 //____________________________________________________________________________
 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)
+   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
@@ -102,62 +91,44 @@ 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;
-  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, Int_t tdc, Int_t adc):
-   fSector(-1),
-   fPlate(-1),
-   fStrip(-1),
-   fPadx(-1),
-   fPadz(-1),
-   fTdc(0),
+   fSector(sector),
+   fPlate(plate),
+   fStrip(strip),
+   fPadx(padx),
+   fPadz(padz),
+   fTdc(tdc),
    fTdcND(0),
-   fAdc(0),
+   fAdc(adc),
    fToT(0)
 {
 //
 // Constructor for sdigit
 //
-  fSector = sector;
-  fPlate  = plate;
-  fStrip  = strip;
-  fPadx   = padx;
-  fPadz   = padz;  
-  fTdc    = tdc;   
-  fTdcND    = 0;   
-  fAdc    = adc;     
-  fToT = 0;
 }
    
 //______________________________________________________________________________
-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;
 }
 
 //______________________________________________________________________________
-Int_t AliTOFdigit::GetTotPad(AliTOFGeometry *tofGeom) const
+Int_t AliTOFdigit::GetTotPad() const
 {
 //
 // Get the "total" index of the pad inside a Sector
@@ -171,21 +142,20 @@ Int_t AliTOFdigit::GetTotPad(AliTOFGeometry *tofGeom) const
     //before = 0;
     break;
   case 1:
-    before = tofGeom->NStripC();
+    before = AliTOFGeometry::NStripC();
     break;
   case 2:
-    before = tofGeom->NStripC() +   AliTOFGeometry::NStripB();
+    before = AliTOFGeometry::NStripC() +   AliTOFGeometry::NStripB();
     break;
   case 3:
-    before = tofGeom->NStripC() +   AliTOFGeometry::NStripB() + AliTOFGeometry::NStripA();
+    before = AliTOFGeometry::NStripC() +   AliTOFGeometry::NStripB() + AliTOFGeometry::NStripA();
     break;
   case 4:
-    before = tofGeom->NStripC() + 2*AliTOFGeometry::NStripB() + AliTOFGeometry::NStripA();
+    before = AliTOFGeometry::NStripC() + 2*AliTOFGeometry::NStripB() + AliTOFGeometry::NStripA();
     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;
 
@@ -199,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
@@ -250,7 +220,7 @@ if  (fSector==digit.fSector &&
 }
 
 //______________________________________________________________________________
-ostream& operator << (ostream& out, const AliTOFdigit &digit)
+ostream& operator << (ostream & out, const AliTOFdigit &digit)
 {
   //
   // Output streamer: output of the digit data