+
+ std::cout << "Read " << a->GetEntriesFast() << " digits" << std::endl;
+
+ bool read[3][2][40][512];
+ for (UShort_t det = 0; det < 3; det++) {
+ for (UShort_t rng = 0; rng < 2; rng++) {
+ for (UShort_t sec = 0; sec < 40; sec++) {
+ for (UShort_t str = 0; str < 512; str++) {
+ read[det][rng][sec][str] = false;
+ }
+ }
+ }
+ }
+
+
+ TIter next(a);
+ AliFMDDigit* d = 0;
+ while ((d = static_cast<AliFMDDigit*>(next()))) {
+ UShort_t det = d->Detector() - 1;
+ UShort_t rng = d->Ring() == 'I' ? 0 : 1;
+ UShort_t sec = d->Sector();
+ UShort_t str = d->Strip();
+ read[det][rng][sec][str] = true;
+ }
+ const UShort_t lineLength = 64;
+ for (UShort_t det = 0; det < 3; det++) {
+ for (UShort_t rng = 0; rng < 2; rng++) {
+ if (det == 0 && rng == 1) continue;
+ Char_t rid = rng == 0 ? 'I' : 'O';
+ UShort_t nsec = rng == 0 ? 20 : 40;
+ UShort_t nstr = rng == 0 ? 512 : 256;
+ std::cout << "FMD" << det+1 << rid << ":" << std::endl;
+ for (UShort_t sec = 0; sec < nsec; sec++) {
+ std::cout << " Sector " << sec << "\n" << std::flush;
+ for (UShort_t str = 0; str < nstr; str++) {
+ bool on = read[det][rng][sec][str];
+ if (str % lineLength == 0) std::cout << " ";
+ std::cout << (on ? '+' : '-');
+ if (str % lineLength == lineLength-1) std::cout << "\n";
+ }
+ }
+ }
+ }
+ // a->ls();