]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/ITS/AliHLTITSClusterFinderComponent.h
extra benchmarks are added
[u/mrichter/AliRoot.git] / HLT / ITS / AliHLTITSClusterFinderComponent.h
index 6bbcdde1c9c660f3822d58c4c95108fc1c2fe1dc..4696963891ae7fe3b446880276646cf2fb2e0e55 100644 (file)
 
 #include "AliHLTProcessor.h"
 #include "AliRawReaderMemory.h"
-#include "AliITSClusterFinder.h"
 #include "AliITSDetTypeRec.h"
 #include "AliITSgeom.h"
 #include "AliITSInitGeometry.h"
+#include "TClonesArray.h"
+#include "AliHLTDataTypes.h"
+#include "TTree.h"
+#include "AliHLTComponentBenchmark.h"
+
+class AliHLTITSClusterFinderSPD;
+class AliHLTITSClusterFinderSSD;
+
 
 /**
  * @class AliHLTITSClusterFinderComponent
  *      a configuration argument without parameters
  *
  * <h2>Default CDB entries:</h2>
- * TODO
+ * ITS/Calib/SPDNoisy
+ * ITS/Calib/SPDDead
+ * TRIGGER/SPD/PITConditions
+ * ITS/Calib/CalibSDD
+ * ITS/Calib/RespSDD
+ * ITS/Calib/DriftSpeedSDD
+ * ITS/Calib/DDLMapSDD
+ * ITS/Calib/MapsTimeSDD
+ * ITS/Calib/NoiseSSD
+ * ITS/Calib/GainSSD
+ * ITS/Calib/BadChannelsSSD
+ * GRP/CTP/Scalers
  *
  * <h2>Performance:</h2>
  * TODO
@@ -70,7 +88,8 @@ class AliHLTITSClusterFinderComponent : public AliHLTProcessor
   enum {
     kClusterFinderSPD,
     kClusterFinderSDD,
-    kClusterFinderSSD
+    kClusterFinderSSD,
+    kClusterFinderDigits    
   };
   /*
    * ---------------------------------------------------------------------------------
@@ -125,11 +144,16 @@ class AliHLTITSClusterFinderComponent : public AliHLTProcessor
   Int_t DoDeinit();
   
   /** EventLoop */
-  //Int_t DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks, 
-  //    AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr
-  //    ,AliHLTUInt32_t& size, AliHLTComponentBlockList& outputBlocks);
+  Int_t DoEvent(
+               const AliHLTComponentEventData& evtData,
+               const AliHLTComponentBlockData* blocks,
+               AliHLTComponentTriggerData& /*trigData*/,
+               AliHLTUInt8_t* outputPtr,
+               AliHLTUInt32_t& size,
+               vector<AliHLTComponentBlockData>& outputBlocks );
 
-  Int_t DoEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& /*trigData*/);
+  //Int_t DoEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& /*trigData*/);
 
   int Reconfigure(const char* cdbEntry, const char* chainId);
                
@@ -150,6 +174,8 @@ class AliHLTITSClusterFinderComponent : public AliHLTProcessor
    * properties.
    */
   int Configure(const char* arguments);
+
+  void RecPointToSpacePoint(AliHLTUInt8_t* outputPtr,AliHLTUInt32_t& size);
   /*
    * ---------------------------------------------------------------------------------
    *                             Members - private
@@ -161,26 +187,37 @@ class AliHLTITSClusterFinderComponent : public AliHLTProcessor
    * use fModeSwitch = 0 for SPD
    * use fModeSwitch = 1 for SDD
    * use fModeSwitch = 2 for SSD
+   * use fModeSwitch = 3 for ClusterFinding on Digits (Full ITS)
    */
-  Int_t fModeSwitch;      
-
+  Int_t fModeSwitch;      // !
+  AliHLTComponentDataType fInputDataType; // !
+  AliHLTComponentDataType fOutputDataType; // !
+  
+  Bool_t fUseOfflineFinder; // flag to use the offline clusterfinder
   Int_t fNModules;             // total number of modules
   Int_t fId;                   // ddl offset
   Int_t fNddl;                 // number of ddl's
   
-  /** the cluster finder object */
-  AliITSClusterFinder* fClusterFinder;                        //!transient
-
+   TClonesArray** fClusters;                                  //!transient
+  
   /** the reader object for data decoding */
-  AliRawReaderMemory* fRawReader;                             //!transient
 
+  AliRawReaderMemory* fRawReader;                             //!transient
   AliITSDetTypeRec* fDettype;                                 //!transient
-
   AliITSgeom* fgeom;                                          //!transient
-
   AliITSInitGeometry* fgeomInit;                              //!transient
+  AliHLTITSClusterFinderSPD *fSPD;                            //!transient
+  AliHLTITSClusterFinderSSD *fSSD;                            //!transient
+
+  TTree *tD;                                                  //!transient
+  TTree *tR;                                                  //!transient
+
+  std::vector<AliITSRecPoint> fclusters;                      //!transient
+
+  AliHLTComponentBenchmark fBenchmark;// benchmark
 
   ClassDef(AliHLTITSClusterFinderComponent, 0)
     
-    };
+};
 #endif