adjust online display to the new TRD cluster format (Theo)
authorrichterm <richterm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 21 Jul 2010 13:13:04 +0000 (13:13 +0000)
committerrichterm <richterm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 21 Jul 2010 13:13:04 +0000 (13:13 +0000)
HLT/EVE/AliHLTEveTRD.cxx
HLT/EVE/AliHLTEveTRD.h

index d517aca..7a21da4 100644 (file)
@@ -28,7 +28,7 @@
 #include "TColor.h"
 #include "TMath.h"
 #include "TH1F.h"
-#include "AliHLTTRDCluster.h"
+#include "AliHLTTRDUtils.h"
 #include "AliTRDcluster.h"
 
 ClassImp(AliHLTEveTRD)
@@ -37,9 +37,11 @@ AliHLTEveTRD::AliHLTEveTRD() :
   AliHLTEveBase(), 
   fEveClusters(NULL),
   fEveColClusters(NULL),
-  fNColorBins(15)
+  fNColorBins(15),
+  fClusterArray(NULL)
 {
   // Constructor.
+  fClusterArray = new TClonesArray("AliTRDcluster");
 }
 
 AliHLTEveTRD::~AliHLTEveTRD()
@@ -52,6 +54,10 @@ AliHLTEveTRD::~AliHLTEveTRD()
   if(fEveClusters)
     delete fEveClusters;
   fEveClusters = NULL;
+
+  fClusterArray->Delete();
+  delete fClusterArray;
+  fClusterArray = NULL;
 }
 
 
@@ -183,32 +189,19 @@ Int_t AliHLTEveTRD::ProcessClusters( AliHLTHOMERBlockDesc * block, TEvePointSetA
   
   Byte_t* ptrData = reinterpret_cast<Byte_t*>(block->GetData());
   UInt_t ptrSize = block->GetSize();
+  Int_t unused;
 
-  for (UInt_t size = 0; size+sizeof(AliHLTTRDCluster) <= ptrSize; size+=sizeof(AliHLTTRDCluster) ) {
-    AliHLTTRDCluster *cluster = reinterpret_cast<AliHLTTRDCluster*>(&(ptrData[size]));
-   
-    AliTRDcluster *trdCluster = new AliTRDcluster;
-    cluster->ExportTRDCluster( trdCluster );
-   
+  AliHLTTRDUtils::ReadClusters(fClusterArray, ptrData, ptrSize, &unused);
+
+  for(int num=fClusterArray->GetEntriesFast(); num--;){
+    AliTRDcluster* trdCluster = (AliTRDcluster*)fClusterArray->At(num);
     contCol->Fill(cos*trdCluster->GetX() - sin*trdCluster->GetY(), 
-                  sin*trdCluster->GetX() + cos*trdCluster->GetY(), 
-                  trdCluster->GetZ(),
-                  trdCluster->GetQ() );    
-    
-    //cont->SetNextPoint(cos*trdCluster->GetX() - sin*trdCluster->GetY(), 
-    //        sin*trdCluster->GetX() + cos*trdCluster->GetY(), trdCluster->GetZ());
+                 sin*trdCluster->GetX() + cos*trdCluster->GetY(), 
+                 trdCluster->GetZ(),
+                 trdCluster->GetQ() );  
   }
   
   return iResult;
-
-
-
-
-
-  return 0;  
-
-
 }
 
 
index bed068d..665f074 100644 (file)
@@ -13,6 +13,7 @@
 class TEvePointSetArray;
 class TEvePointSet;
 class TH1F;
+class TClonesArray;
 
 class AliHLTEveTRD : public AliHLTEveBase {
 
@@ -53,6 +54,7 @@ private:
   TEvePointSet * fEveClusters;         //clusters pointset
   TEvePointSetArray * fEveColClusters; //Color coded clusters pointset
   const Int_t fNColorBins;    //Number of colorbins for the colored clusters
+  TClonesArray* fClusterArray;
 
   ClassDef(AliHLTEveTRD, 0);
 };