#include "AliHLTCaloDigitDataStruct.h"\r
#include "AliHLTCaloChannelDataStruct.h"\r
#include "AliHLTDataTypes.h"\r
+#include "AliHLTLogging.h"\r
#include "TString.h"\r
\r
/**\r
class AliHLTCaloSharedMemoryInterfacev2; // added by PTH\r
class AliHLTCaloChannelDataHeaderStruct;\r
class AliHLTCaloMapper;\r
+class AliHLTCaloCoordinate;\r
class TString;\r
\r
//using namespace CaloHLTConst;\r
\r
\r
\r
-class AliHLTCaloDigitMaker : AliHLTCaloConstantsHandler\r
+class AliHLTCaloDigitMaker : AliHLTCaloConstantsHandler, public AliHLTLogging\r
{\r
\r
public:\r
*/\r
void SetBadChannelMask(TH2F* badChannelHGHist, TH2F* badChannelLGHist, Float_t qCut);\r
\r
+ /** \r
+ * Set the status of channel \r
+ * @param x is x\r
+ * @param z is z\r
+ * @param bad if it's bad\r
+ */\r
+ void SetBadChannel(Int_t x, Int_t z, Bool_t bad = true);\r
+ \r
+ /** \r
+ * Set the ADC to energy (GeV) gain \r
+ * @param x is x\r
+ * @param z is z\r
+ * @param ratio - High/Low ratio\r
+ * @param gain is the gain\r
+ */\r
+ void SetGain(Int_t x, Int_t z, Float_t ratio, Float_t gain);\r
+ \r
+ /**\r
+ * Set the time window for which we accept energy signals\r
+ * @param min is the minumum time\r
+ * @param max is the maximum time\r
+ */\r
+ void SetTimeWindow(Float_t min, Float_t max) { fMinTime = min; fMaxTime = max; }\r
+ \r
/** Reset the channel book */\r
void Reset();\r
\r
+ /** Set the mapper */\r
+ void SetMapper(AliHLTCaloMapper *mapper) { fMapperPtr = mapper; }\r
+\r
private:\r
\r
AliHLTCaloDigitMaker();\r
* @param channelData is the channel data\r
* @param coordinates is the coordinates of the channel, including gain and module\r
*/\r
- void AddDigit(AliHLTCaloChannelDataStruct* channelData, UShort_t* channelCoordinates, Float_t* localCoordinates);\r
+ void AddDigit(AliHLTCaloChannelDataStruct* channelData, AliHLTCaloCoordinate &coord);\r
\r
/**\r
* Check if we already have this crystal. If so, keep the high gain as long as it \r
* @param channel is a pointer to a struct containing channel information\r
* @return true if we should use the digit. \r
*/\r
- bool UseDigit(UShort_t *channelCoordinates, AliHLTCaloChannelDataStruct *channel);\r
+ bool UseDigit(AliHLTCaloCoordinate &coord, AliHLTCaloChannelDataStruct *channel);\r
\r
/** Pointer to shared memory interface */\r
AliHLTCaloSharedMemoryInterfacev2* fShmPtr; //! transient\r
Float_t **fLowGainFactors; //!transient\r
\r
/** Bad channel mask */\r
- Float_t ***fBadChannelMask; //! transient\r
+ Bool_t ***fBadChannelMask; //! transient\r
\r
/** Channel book keeping variable */\r
AliHLTCaloDigitDataStruct ***fChannelBook; //! transient\r
\r
+ /** Maximum energy we allow in a channel */\r
+ Float_t fMaxEnergy; //COMMENT\r
+ \r
+ /** Minimum accepted time */\r
+ Float_t fMinTime; //COMMENT\r
+ \r
+ /** Maximum accepted time */ \r
+ Float_t fMaxTime; //COMMENT\r
+\r
/** Assignment operator and copy constructor not implemented */\r
AliHLTCaloDigitMaker(const AliHLTCaloDigitMaker &);\r
AliHLTCaloDigitMaker & operator = (const AliHLTCaloDigitMaker &);\r