// // File : ExtendedPixelList.hh // // Purpose: Declaration file for class ExtendedPixelList // // $Id: ExtendedPixelList.hh 9725 2010-09-28 07:31:17Z mathes $ // /** @file ExtendedPixelList.hh * Declaration of the class ExtendedPixelList. * @author H.-J. Mathes, Fzk */ #ifndef _ExtendedPixelList_hh_ #define _ExtendedPixelList_hh_ #include #include /** This class makes up an extended pixel list which contains addtional * information about each pixels ADC trace characteristics. * * The ADC trace characteristics consits of: * @li the start bin of the ADC readout * @li the end bin of the ADC readout * * This class is used to steer the readout of the method * FEReadout::GetFADCData(). */ class ExtendedPixelList : public TMirrorPixelList { public: /** Default constructor of the class ExtendedPixelList. * * All pixels are set, full readout range. */ ExtendedPixelList(); /** Constructor for the class ExtendedPixelList. * * According to the number of pixels present in the TMirrorPixelList * object, all start and end bins are set to their default values * (0, kMI_NFADC_BINS - 1). */ ExtendedPixelList(TMirrorPixelList*); /** Constructor for the class ExtendedPixelList. * * Start and end bins of the pixels present in the TMirrorPixelList * are set to the specified values. * * If start > end or start > kMI_NFADC_BINS - 1, start is set to 0. * If end > kMI_NFADC_BINS - 1, end is set to kMI_NFADC_BINS - 1. */ ExtendedPixelList(TMirrorPixelList*,unsigned int,unsigned int); /** Constructor for the class ExtendedPixelList. */ ExtendedPixelList(TMirrorBitArray*,unsigned int,unsigned int); /** Destructor of the class ExtendedPixelList. */ ~ExtendedPixelList(); // Add a pixel together with its start and end bin values. // virtual int AddPixel(PixelNumber pixel, int start=0, int end=kMI_NFADC_BINS-1); // don't override method of base class, avoid warning -Woverloaded-virtual //using TObject::Dump; /** Get the start bin for the specified pixel. * * If an illegal pixel is specified, 0 is returned. */ unsigned int GetStartBin(unsigned int seq); /** Get the stop bin for the specified pixel. * * If an illegal pixel is specified, (kMI_NFADC_BINS - 1) is returned. */ unsigned int GetEndBin(unsigned int seq); /** Set the start bin for all pixels to the given value. */ void SetStartBin(int start_bin); /** Set the start bin for the selected pixel to the given value. */ void SetStartBin(unsigned int seq,int start_bin); /** Set the end bin for all pixels to the given value. */ void SetEndBin(int end_bin); /** Set the end bin for the selected pixel to the given value. */ void SetEndBin(unsigned int seq,int end_bin); /** Print the contents of the ExtendedPixelList object verbosely to * the specified stream. */ void Show(std::ostream& ostr=std::cout) const; private: ExtendedPixelList(const ExtendedPixelList&); ExtendedPixelList& operator=(ExtendedPixelList&); private: TFADCData::FADCTraceInfoRec *fTraceInfo; }; #endif // _ExtendedPixelList_hh_