#ifndef ClassDet_h #define ClassDet_h #include #define MAXMULTI 1000 class Det{ public: Det(): multi(0) {Clear(); } unsigned short multi; // max 65535 unsigned short id[MAXMULTI]; unsigned short ch[MAXMULTI]; unsigned short e[MAXMULTI]; unsigned long long t[MAXMULTI]; unsigned long long tf[MAXMULTI]; unsigned short sn[MAXMULTI]; unsigned short digiCh[MAXMULTI]; unsigned short index[MAXMULTI]; // id * nCh + ch; bool used[MAXMULTI]; void Clear(){ multi = 0; for( int i = 0; i < MAXMULTI; i++){ id[i] = 0; ch[i] = 0; e[i] = 0; t[i] = 0; tf[i] = 0; index[i] = 0; sn[i] = 0; digiCh[i] = 0; used[i] = false; } } void Print(){ printf("=============================== multi : %u\n", multi); for( int i = 0; i < multi; i++) { printf(" %3d | %2d-%-2d(%5d) %5u %15llu \n", i, id[i], ch[i], index[i], e[i], t[i]); } } void SetDetDimension(unsigned short maxID, unsigned maxCh){ nID = maxID; nCh = maxCh; } void CalIndex(){ for( int i = 0; i < multi; i++){ index[i] = id[i] * nCh + ch[i] ; } } private: unsigned short nID; unsigned short nCh; }; #endif