1 //____________________________________________________________________
5 // Test I/O of ALiFMDMap
8 @author Christian Holm Christensen <cholm@nbi.dk>
9 @date Sat Dec 16 01:29:03 2006
10 @brief Test of uniquenss of map
13 #include "STEER/AliFMDFloatMap.h"
28 std::ostream& operator<<(std::ostream& o, const Check& c)
30 UShort_t v = UShort_t(c.v);
31 o << "FMD" << c.d << c.r << '['
32 << std::setw(2) << c.s << ','
33 << std::setw(3) << c.t << "] ("
34 << std::setw(6) << v << ')';
38 Check Name(UShort_t d, Char_t r, UShort_t s, UShort_t t, Float_t v)
54 // m.SetBit(AliFMDMap::kNeedUShort);
55 typedef std::map<Int_t, Check> CheckMap;
58 for (UShort_t d = 1; d <= 3; d++) {
59 Char_t rings[] = { 'I', 'O', '\0' };
60 for (Char_t* rp = rings; *rp; rp++) {
62 std::cout << "FMD" << d << r << " " << std::flush;
63 for (UShort_t s = 0; s < 40; s++) {
64 std::cout << "." << std::flush;
65 for (UShort_t t = 0; t < 512; t++) {
66 Int_t i = m.CheckIndex(d, r, s, t);
67 CheckMap::iterator z = c.find(i);
68 Float_t v = (t + 512 * (s + 40 * ((r=='I'? 0 : 1) + 2 * d)));
70 std::cout << '\n' << Name(d,r,s,t,v) << " but aleady seen "
71 << z->second << std::flush;
74 c[i] = Name(d,r,s,t,v);
78 std::cout << "done" << std::endl;