X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=FMD%2FAliFMDCalibPedestal.h;h=fdfe290dce6378ab571abb576fdbe035402a6266;hb=01fa07f60c26ec7239ee3a13bca7c4106daa89ca;hp=202adff839b4b1c2bd86ab1d71c57cad5be6dde3;hpb=a353783892c75e8d215575422d77fdb86f37ef08;p=u%2Fmrichter%2FAliRoot.git diff --git a/FMD/AliFMDCalibPedestal.h b/FMD/AliFMDCalibPedestal.h index 202adff839b..fdfe290dce6 100644 --- a/FMD/AliFMDCalibPedestal.h +++ b/FMD/AliFMDCalibPedestal.h @@ -5,27 +5,111 @@ * * See cxx source for full Copyright notice */ +//____________________________________________________________________ +// +// This class stores a pedestal and pedestal width for each strip in +// the FMD detectors. +// The values are stored as floats, since they may be results from a +// fit. +// Need to make algorithm that makes this data +/** @file AliFMDCalibPedestal.h + @author Christian Holm Christensen + @date Sun Mar 26 18:30:51 2006 + @brief Per strip pedestal calibration + @ingroup FMD_base +*/ #ifndef ALIFMDFLOATMAP_H # include #endif +#include +class AliFMDBoolMap; + //____________________________________________________________________ -// -// Pedestal value and width for each strip in the FMD -// +/** @brief Pedestal value and width for each strip in the FMD + @ingroup FMD_base +*/ class AliFMDCalibPedestal : public TObject { public: + /** CTOR */ AliFMDCalibPedestal(); + /** DTOR */ ~AliFMDCalibPedestal() {} + /** + * Copy ctor + * + * @param o Object to copy from + */ AliFMDCalibPedestal(const AliFMDCalibPedestal& o); + /** + * Assignment + * + * @param o Object to assign from + * @return Reference to this object + */ AliFMDCalibPedestal& operator=(const AliFMDCalibPedestal& o); + /** + * Set the values for a strip. + * + * @param det Detector + * @param ring Ring + * @param sec Sector + * @param str Strip + * @param ped Value of pedestal + * @param pedW Width of pedestal + */ void Set(UShort_t det, Char_t ring, UShort_t sec, UShort_t str, Float_t ped, Float_t pedW); + /** + * Get pedestal for a strip. + * + * @param det Detector + * @param ring Ring + * @param sec Sector + * @param str Strip + * @return Pedestal for strip + */ Float_t Value(UShort_t det, Char_t ring, UShort_t sec, UShort_t str); + /** Get pedestal width for a strip. + @param det Detector + @param ring Ring + @param sec Sector + @param str Strip + @return Pedestal width for strip */ Float_t Width(UShort_t det, Char_t ring, UShort_t sec, UShort_t str); + + /** + * Read information from file and set values + * + * @param inFile inputFile + */ + Bool_t ReadFromFile(std::istream & inFile); + /** + * Make a dead map based on the noise of the channels. If the noise + * of a paraticular channel is larger than @a maxW, then the channel + * is marked as dead. + * + * If the argument @a dead is non-null, then the map passed is + * modified. That is, channels marked as dead in the map will + * remain marked. Channels that meat the criterion (noise larger + * than @a maxW) will in addition be marked as dead. + * + * If the argument @a dead is null, then a new map is created and a + * pointer to this will be returned. + * + * @param maxW Maximum value of noise for a channel before it is + * marked as dead. + * @param dead If non-null, then modify this map. + * + * @return A pointer to possibly newly allocated dead map. + */ + AliFMDBoolMap* MakeDeadMap(Float_t maxW, AliFMDBoolMap* dead=0) const; + + const AliFMDFloatMap& Values() const { return fValue; } + const AliFMDFloatMap& Widths() const { return fWidth; } private: - AliFMDFloatMap fValue; - AliFMDFloatMap fWidth; + AliFMDFloatMap fValue; /** Pedestal */ + AliFMDFloatMap fWidth; /** Pedestal width */ ClassDef(AliFMDCalibPedestal, 1) // Pedestal data for the FMD };