]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVE/EveDet/AliEveTOFStrip.cxx
update for the new location of TRD performance train
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveTOFStrip.cxx
index ac53ca32bea55753c0b947801e083fa6988c8ff7..53709f63a3e018d28f612eade44207804cc4e592 100644 (file)
@@ -29,12 +29,13 @@ AliEveTOFStrip::AliEveTOFStrip(const Text_t* n, const Text_t* t) :
   TEveQuadSet(n, t),
   fTOFgeometry(new AliTOFGeometry()),
   fTOFarray(0),
+  fThreshold (5), fMaxVal (80),
   fSector(-1), fPlate(-1), fStrip(-1),
   fDx(0), fDz(0),
   fGeoManager(0)
 {
 
-  fGeoManager = (TGeoManager*)gEve->GetGeometry("$REVESYS/alice-data/alice_fullgeo.root");
+  //fGeoManager = AliEveEventManager::AssertGeometry();
   if (!fGeoManager) printf("ERROR: no TGeo\n");
 
 }
@@ -45,6 +46,7 @@ AliEveTOFStrip::AliEveTOFStrip(TGeoManager *localGeoManager,
   TEveQuadSet(Form("Strip%i", nStrip)),
   fTOFgeometry(new AliTOFGeometry()),
   fTOFarray(0),
+  fThreshold (5), fMaxVal (80),
   fSector(nSector), fPlate(nPlate), fStrip(nStrip),
   fDx(0), fDz(0),
   fGeoManager(localGeoManager)
@@ -63,6 +65,7 @@ AliEveTOFStrip::AliEveTOFStrip(TGeoManager *localGeoManager,
   TEveQuadSet(Form("Strip%i", nStrip)),
   fTOFgeometry(new AliTOFGeometry()),
   fTOFarray(tofArray),
+  fThreshold (5), fMaxVal (80),
   fSector(nSector), fPlate(nPlate), fStrip(nStrip),
   fDx(0), fDz(0),
   fGeoManager(localGeoManager)
@@ -104,10 +107,15 @@ void AliEveTOFStrip::InitStatics()
   fgTOFstripFrameBox = new TEveFrameBox();
 
   fgTOFstripFrameBox->SetAAQuadXZ(-dx*0.5, 0, -dz*0.5, dx, dz);
-  fgTOFstripFrameBox->SetFrameColor((Color_t) 32);//31);
+  fgTOFstripFrameBox->SetFrameColor(Color_t(32));
+  fgTOFstripFrameBox->IncRefCount();
 
   //fgTOFstripPalette  = new TEveRGBAPalette(0, 2048); // TOT
-  fgTOFstripPalette  = new TEveRGBAPalette(0, 8192); // TDC
+  //fgTOFstripPalette  = new TEveRGBAPalette(0, 192); // TDC
+  fgTOFstripPalette  = new TEveRGBAPalette(0, 100000); // TDC
+  fgTOFstripPalette->SetOverflowAction(2);
+  fgTOFstripPalette->SetUnderflowAction(2);
+  fgTOFstripPalette->IncRefCount();
 
   fgStaticInitDone = kTRUE;
 }
@@ -173,6 +181,7 @@ void AliEveTOFStrip::LoadQuads()
     // can insert the time-of-flight value for each pad
     //QuadValue((Int_t)tot);
     QuadValue((Int_t)tdc);
+    QuadId(tofDigit);
 
     //if (fSector==4 && fPlate==2  && fStrip==0) printf("  %1i   %2i    %f  %f \n", iPadZ, iPadX, x, z);
 
@@ -185,30 +194,49 @@ void AliEveTOFStrip::LoadQuads()
 /* ************************************************************ */
 void AliEveTOFStrip::SetTrans()
 {
-
-  fHMTrans.UnitTrans();
-
   //Int_t det[5] = {fSector, fPlate, fStrip, -1, -1};
   Char_t path[100];
   //fTOFgeometry->GetVolumePath(det,path);
   fTOFgeometry->GetVolumePath(fSector, fPlate, fStrip, path);
 
   fGeoManager->cd(path);
-  TGeoHMatrix global = *fGeoManager->GetCurrentMatrix();
-  Double_t *rotMat = global.GetRotationMatrix();
+  SetTransMatrix(*fGeoManager->GetCurrentMatrix());
+}
 
-  /*
-  // ok till 19 April 2007
-  fHMTrans.SetBaseVec(1, rotMat[0], rotMat[1], rotMat[2]);
-  fHMTrans.SetBaseVec(2, rotMat[3], rotMat[4], rotMat[5]);
-  fHMTrans.SetBaseVec(3, rotMat[6], rotMat[7], rotMat[8]);
-  */
+/******************************************************************************/
+void AliEveTOFStrip::SetThreshold(Short_t t)
+{
+  fThreshold = TMath::Min(t, (Short_t)(fMaxVal - 1));
+  // ClearColorArray();
+}
+
+/******************************************************************************/
 
-  fHMTrans.SetBaseVec(1, rotMat[0], rotMat[3], rotMat[6]);
-  fHMTrans.SetBaseVec(2, rotMat[1], rotMat[4], rotMat[7]);
-  fHMTrans.SetBaseVec(3, rotMat[2], rotMat[5], rotMat[8]);
+void AliEveTOFStrip::SetMaxVal(Int_t mv)
+{
+  fMaxVal = TMath::Max(mv, (Int_t)(fThreshold + 1));
+  //ClearColorArray();
+}
+
+/******************************************************************************/
+
+void AliEveTOFStrip::DigitSelected(Int_t idx)
+{
+  // Override control-click from TEveQuadSet
 
-  Double_t *tr = global.GetTranslation();
-  fHMTrans.SetBaseVec(4, tr);
+  DigitBase_t* qb   = GetDigit(idx);
+  TObject* obj   = qb->fId.GetObject();
+  AliTOFdigit* digs = dynamic_cast<AliTOFdigit*>(obj);
+  // printf("AliEveTOFStrip::QuadSelected "); Print();
+  /*
+  printf("  idx = %5i, value = %5d, obj = 0x%lx, digit = 0x%lx  ",
+        idx, qb->fValue, (ULong_t)obj, (ULong_t)digs);
+  */
+  if (digs)
+    printf("\n Sector = %2i  Plate = %1i  Strip = %2i  PadZ = %1i PadX = %2i  ToT = %3i  Tof = %5i\n",
+          fSector , fPlate, fStrip, digs->GetPadz(), digs->GetPadx(), digs->GetToT(), digs->GetTdc());
+  else printf("\n");
 
 }
+
+/******************************************************************************/