]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/TPCLib/calibration/AliHLTTPCCalibTimeComponent.h
test if I have commit rights
[u/mrichter/AliRoot.git] / HLT / TPCLib / calibration / AliHLTTPCCalibTimeComponent.h
index 7a5834fe04db8f8f9efa901b052d664a15c3bf51..2ee7bcbd44b9e5165c01826a3a7d80f31ae418aa 100644 (file)
 #include "AliHLTCalibrationProcessor.h"
 
 class AliTPCcalibTime;
-class AliExternalTrackParam;
+class AliTPCcalibCalib;
 class AliESDEvent;
+class AliESDtrack;
+class AliESDfriend;
 class TObjArray;
+class AliTPCclusterMI;
 
 /**
  * @class AliHLTTPCCalibTimeComponent
  * 
- * Interface of the offline algorithm (AliTPCcalibTime) for correcting the 
+ * Interface of the offline algorithm (AliTPCcalibTime) for estimating the 
  * drift velocity for changes of p and T as a function of
  * time.
  *
@@ -43,9 +46,16 @@ class AliHLTTPCCalibTimeComponent : public AliHLTCalibrationProcessor
       /** destructor */
       virtual ~AliHLTTPCCalibTimeComponent();
       
+      /** the name of the component registered in macros and configurations */
       const char* GetComponentID();
-      void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
+      
+      /** the data types the component subscribes to in memory */
+      void GetInputDataTypes( vector<AliHLTComponentDataType>& list); 
+      
+      /** the data type the component produces */
       AliHLTComponentDataType GetOutputDataType();
+      
+      /** the size of the output data buffer */
       virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
       AliHLTComponent* Spawn();
 
@@ -58,40 +68,47 @@ class AliHLTTPCCalibTimeComponent : public AliHLTCalibrationProcessor
       // These functions provide initialization as well as the actual processing
       // capabilities of the component. 
       
-      /** Initialize the calibration component. */
+      /** Initialize the calibration component */
       Int_t InitCalibration();
 
-      /** Scan commandline arguments of the calibration component. */
-      Int_t ScanArgument( Int_t argc, const char** argv );
+      /** Scan commandline arguments of the calibration component */
+      Int_t ScanConfigurationArgument( Int_t argc, const char** argv );
 
-      /** DeInitialize the calibration component. */
+      /** Clean up memory at the end of the run */
       Int_t DeinitCalibration();
 
-      /** Process the data in the calibration component. */
+      /** Process the data in the calibration component, called once per event */
       Int_t ProcessCalibration( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
+      
+      /** inherited from AliHLTComponent: handle re-configuration event */
+      int Reconfigure(const char* cdbEntry, const char* chainId);
 
-      /** Ship the data to the FXS at end of run or eventmodulo. */
+      /** Ship the data to the FXS at end of run or event modulo (the first by default, the latter to be implemented if necessary). */
       Int_t ShipDataToFXS( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
 
     private:
+      
       /** copy constructor prohibited */
       AliHLTTPCCalibTimeComponent(const AliHLTTPCCalibTimeComponent&);
+      
       /** assignment operator prohibited */
       AliHLTTPCCalibTimeComponent& operator=(const AliHLTTPCCalibTimeComponent&);
 
-      AliTPCcalibTime *fCalibTime; //!transient
-      AliESDEvent     *fESDEvent;  //!transient
-      TObjArray       *fSeedArray; //!transient
+      AliTPCcalibTime  *fCalibTime; //!transient
+      AliTPCcalibCalib *fCal;       //!transient
+      AliESDEvent      *fESDevent;  //!transient
+      AliESDtrack      *fESDtrack;  //!transient
+      AliESDfriend     *fESDfriend; //!transient
+      TObjArray        *fSeedArray; //!transient
+      AliHLTUInt32_t    fOutputSize;// output size
       
-      AliHLTUInt8_t  fMinPartition;  // see above
-      AliHLTUInt8_t  fMaxPartition;  // see above
-      AliHLTUInt8_t  fMinSlice;      // see above
-      AliHLTUInt8_t  fMaxSlice;      // see above
-      AliHLTUInt32_t fSpecification; // see above
+      static const Int_t fkNPartition = 36*6; // number of partitions in TPC
+      AliTPCclusterMI   *fPartitionClusters[fkNPartition];  //! arrays of cluster data for each TPC partition
+      Int_t              fNPartitionClusters[fkNPartition]; //! number of clusters for each TPC partition
 
-      /** Analyze calibration data before shipping to FXS */
-      Bool_t fEnableAnalysis;  // see above
+      /** the default configuration entry for this component */
+      static const char* fgkOCDBEntry; //!transient
 
-      ClassDef(AliHLTTPCCalibTimeComponent, 0)
+      ClassDef(AliHLTTPCCalibTimeComponent, 5)
     };
 #endif