+ /**
+ * Class to print content of map
+ *
+ */
+ class Printer : public ForOne
+ {
+ public:
+ /**
+ * Constructor
+ *
+ * @param format Output format (argument to printf)
+ */
+ Printer(const char* format);
+ /**
+ * Destructor
+ */
+ virtual ~Printer() {}
+ /**
+ * Print a floating point entry
+ *
+ * @return true
+ */
+ Bool_t operator()(UShort_t d, Char_t r, UShort_t s, UShort_t t, Float_t m);
+ /**
+ * Print a integer entry
+ *
+ * @return true
+ */
+ Bool_t operator()(UShort_t d, Char_t r, UShort_t s, UShort_t t, Int_t m);
+ /**
+ * Print a integer entry
+ *
+ * @return true
+ */
+ Bool_t operator()(UShort_t d, Char_t r, UShort_t s, UShort_t t, UShort_t m);
+ /**
+ * Print a boolean entry
+ *
+ * @return true
+ */
+ Bool_t operator()(UShort_t d, Char_t r, UShort_t s, UShort_t t, Bool_t m);
+ private:
+ /**
+ * Copy constructor
+ *
+ * @param p Object to copy from
+ */
+ Printer(const Printer& p);
+ /**
+ * Assignment operator
+ *
+ * @return Reference to this
+ */
+ Printer& operator=(const Printer&) { return *this; }
+ /**
+ * Print headings
+ *
+ * @param d Current detector
+ * @param r Current ring
+ * @param s Current sector
+ * @param t Current strip
+ */
+ virtual void PrintHeadings(UShort_t d, Char_t r, UShort_t s, UShort_t t);
+ /** Printf like format */
+ const char* fFormat;
+ /** Last detector */
+ UShort_t fOldD;
+ /** Last ring */
+ Char_t fOldR;
+ /** Last sector */
+ UShort_t fOldS;
+ };