]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/CALO/AliHLTCaloDigitMaker.h
changed function signature
[u/mrichter/AliRoot.git] / HLT / CALO / AliHLTCaloDigitMaker.h
index 189a83bb8ffede586eb1acad6acde0e432c2dd25..0fede49aeb2f04c11cc5b71e0c8f00266e09067d 100644 (file)
@@ -39,6 +39,7 @@
 #include "AliHLTCaloDigitDataStruct.h"\r
 #include "AliHLTCaloChannelDataStruct.h"\r
 #include "AliHLTDataTypes.h"\r
+#include "AliHLTLogging.h"\r
 #include "TString.h"\r
 \r
 /**\r
@@ -52,6 +53,7 @@ class TH2F;
 class AliHLTCaloSharedMemoryInterfacev2; // added by PTH\r
 class AliHLTCaloChannelDataHeaderStruct;\r
 class AliHLTCaloMapper;\r
+class AliHLTCaloCoordinate;\r
 class TString;\r
 \r
 //using namespace CaloHLTConst;\r
@@ -59,7 +61,7 @@ class TString;
 \r
 \r
 \r
-class AliHLTCaloDigitMaker : AliHLTCaloConstantsHandler\r
+class AliHLTCaloDigitMaker : AliHLTCaloConstantsHandler, public AliHLTLogging\r
 {\r
 \r
 public:\r
@@ -104,9 +106,36 @@ public:
    */\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
@@ -116,7 +145,7 @@ private:
    * @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
@@ -125,7 +154,7 @@ private:
    * @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
@@ -146,11 +175,20 @@ private:
   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