+
//-*- Mode: C++ -*-
// $Id$
#ifndef ALIHLTPHOSCLUSTERANALYSER_H
#define ALIHLTPHOSCLUSTERANALYSER_H
+#include "Rtypes.h"
+
/**
* Class calculates properties of rec points
*
// or
// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
-#include "AliHLTPHOSBase.h"
+//#include "AliHLTPHOSBase.h"
-class AliHLTPHOSPhysicsAnalyzer;
class AliHLTPHOSRecPointHeaderStruct;
class AliHLTPHOSRecPointDataStruct;
-class AliHLTPHOSCaloClusterHeaderStruct;
-class AliHLTPHOSCaloClusterDataStruct;
+class AliHLTCaloClusterHeaderStruct;
+class AliHLTCaloClusterDataStruct;
class AliPHOSGeoUtils;
-
+class AliHLTPHOSDigitHeaderStruct;
/**
* @class AliHLTPHOSClusterAnalyser
* ClusterAnalyser for PHOS HLT. Algorithms for center of gravity
*
* @ingroup alihlt_phos
*/
-class AliHLTPHOSClusterAnalyser : public AliHLTPHOSBase
+//class AliHLTPHOSClusterAnalyser : public AliHLTPHOSBase
+class AliHLTPHOSClusterAnalyser
{
public:
/** Copy constructor */
AliHLTPHOSClusterAnalyser(const AliHLTPHOSClusterAnalyser &) :
- AliHLTPHOSBase(),
+ // AliHLTPHOSBase(),
fLogWeight(0),
fRecPointDataPtr(0),
fNRecPoints(0),
fCaloClusterDataPtr(0),
fCaloClusterHeaderPtr(0),
fPHOSGeometry(0),
- fAnalyzerPtr(0),
fDoClusterFit(false),
fHaveCPVInfo(false),
fDoPID(false),
- fHaveDistanceToBadChannel(false)
-
+ fHaveDistanceToBadChannel(false),
+ fDigitHeaderPtr(0)
{
//Copy constructor not implemented
}
* Set the rec point data buffer
* @param recPointDataPtr is a pointer to the rec points
*/
- void SetRecPointDataPtr(AliHLTPHOSRecPointHeaderStruct *recPointDataPtr);
+ void SetRecPointDataPtr(AliHLTPHOSRecPointHeaderStruct *recPointDataPtr, AliHLTPHOSDigitHeaderStruct *digitHeader);
/**
* Set the calo cluster output buffer
* @param caloClusterDataPtr is a pointer to the calo cluster buffer
*/
- void SetCaloClusterDataPtr(AliHLTPHOSCaloClusterDataStruct *caloClusterDataPtr);
+ void SetCaloClusterDataPtr(AliHLTCaloClusterDataStruct *caloClusterDataPtr);
/**
* Calculates the center of gravity for the reconstruction points in the container
* Calculates the moments for a certain cluster
* @return
*/
- Int_t CalculateClusterMoments(AliHLTPHOSRecPointDataStruct *recPointPtr, AliHLTPHOSCaloClusterDataStruct* clusterPtr);
+ Int_t CalculateClusterMoments(AliHLTPHOSRecPointDataStruct *recPointPtr, AliHLTCaloClusterDataStruct* clusterPtr);
/**
* Deconvolute the clusters in an AliHLTPHOSRecPointContainerStruct
* param clusterPtr is the pointer to the emc cluster
* @return
*/
- Int_t DoParticleIdentification(AliHLTPHOSCaloClusterDataStruct* /*clusterPtr*/) { return 0; }
+ Int_t DoParticleIdentification(AliHLTCaloClusterDataStruct* /*clusterPtr*/) { return 0; }
/**
* Get the distance to the neares bad channel
* param clusterPtr is a pointer to the calo cluster
* @return the distance
*/
- Float_t GetDistanceToBadChannel(AliHLTPHOSCaloClusterDataStruct* /*clusterPtr*/) { return 0; }
+ Float_t GetDistanceToBadChannel(AliHLTCaloClusterDataStruct* /*clusterPtr*/) { return 0; }
/**
* Set do cluster fit
*/
void SetHaveDistanceToBadChannel() { fHaveDistanceToBadChannel = true; }
+ /**
+ * Set the PHOS Geometry
+ */
+ void SetGeometry(AliPHOSGeoUtils *geom) { fPHOSGeometry = geom; }
+
private:
/** Used for calculation of center of gravity */
Int_t fNRecPoints; //COMMENT
/** Pointer to the cluster buffer */
- AliHLTPHOSCaloClusterDataStruct *fCaloClusterDataPtr; //! transient
+ AliHLTCaloClusterDataStruct *fCaloClusterDataPtr; //! transient
/** Pointer to the cluster header */
- AliHLTPHOSCaloClusterHeaderStruct *fCaloClusterHeaderPtr; //! transient
+ AliHLTCaloClusterHeaderStruct *fCaloClusterHeaderPtr; //! transient
/** Instance of the PHOS geometry */
AliPHOSGeoUtils *fPHOSGeometry; //! transient
- //TODO: should not use PhysicsAnalyzer for global coord!
- /** */
- AliHLTPHOSPhysicsAnalyzer *fAnalyzerPtr; //! transient
-
/** Should we do cluster fitting? */
Bool_t fDoClusterFit; //COMMENT
/** Do we have distance to bad channel? */
Bool_t fHaveDistanceToBadChannel; //COMMENT
-
+
+ /** Pointer to the digit header */
+ AliHLTPHOSDigitHeaderStruct *fDigitHeaderPtr; //COMMENT
};