#ifndef HPIONTRACKERTRB3LOOKUP_H
#define HPIONTRACKERTRB3LOOKUP_H
#include "TObjArray.h"
#include "hparset.h"
#include "htrbnetdef.h"
using namespace Trbnet;
using namespace std;
class HPionTrackerTrb3LookupChan : public TObject {
protected:
Int_t module;
Int_t cell;
public:
HPionTrackerTrb3LookupChan() {clear();}
~HPionTrackerTrb3LookupChan() {}
Int_t getModule() {return module;}
Int_t getCell() {return cell;}
void getAddress(Int_t& m, Int_t& c) {
m = module;
c = cell;
}
void clear() {
module = -1;
cell = -1;
}
void setModule(const Int_t n) {module = n;}
void setCell(const Int_t n) {cell = n;}
void fill(Int_t m, Int_t c) {
module = m;
cell = c;
}
void fill(HPionTrackerTrb3LookupChan& r) {
module = r.getModule();
cell = r.getCell();
}
ClassDef(HPionTrackerTrb3LookupChan, 1)
};
class HPionTrackerTrb3LookupBoard: public TObject {
friend class HPionTrackerTrb3Lookup;
protected:
TObjArray* array;
public:
HPionTrackerTrb3LookupBoard();
~HPionTrackerTrb3LookupBoard();
HPionTrackerTrb3LookupChan* getChannel(Int_t c) {
if (c >= 0 && c < 256) return &((*this)[c]);
else return 0;
}
HPionTrackerTrb3LookupChan& operator[](Int_t i) {
return *static_cast<HPionTrackerTrb3LookupChan*>((*array)[i]);
}
Int_t getSize() {return 256;}
void clear();
ClassDef(HPionTrackerTrb3LookupBoard, 1)
};
class HPionTrackerTrb3Lookup : public HParSet {
protected:
TObjArray* array;
Int_t arrayOffset;
public:
HPionTrackerTrb3Lookup(const Char_t* name = "PionTrackerTrb3Lookup",
const Char_t* title = "Lookup table for the TRB3 unpacker of the PionTracker",
const Char_t* context = "PionTrackerTrb3LookupProduction",
Int_t minTrbnetAddress = Trbnet::kPionTrackerTrb3MinTrbnetAddress,
Int_t maxTrbnetAddress = Trbnet::kPionTrackerTrb3MaxTrbnetAddress);
~HPionTrackerTrb3Lookup();
HPionTrackerTrb3LookupBoard* getBoard(Int_t trbnetAddress) {
return (HPionTrackerTrb3LookupBoard*)(array->At(trbnetAddress - arrayOffset));
}
HPionTrackerTrb3LookupBoard* operator[](Int_t i) {
return static_cast<HPionTrackerTrb3LookupBoard*>((*array)[i]);
}
Int_t getSize() {return array->GetLast() + 1;}
Int_t getArrayOffset() {return arrayOffset;}
Bool_t init(HParIo* input, Int_t* set);
Int_t write(HParIo* output);
void clear();
void printParams();
Bool_t fill(Int_t, Int_t, Int_t, Int_t);
Bool_t readline(const Char_t*);
void putAsciiHeader(TString&);
void write(fstream&);
ClassDef(HPionTrackerTrb3Lookup, 1)
};
#endif /*!HPIONTRACKERTRB3LOOKUP_H*/
hpiontrackertrb3lookup.h:1 hpiontrackertrb3lookup.h:2 hpiontrackertrb3lookup.h:3 hpiontrackertrb3lookup.h:4 hpiontrackertrb3lookup.h:5 hpiontrackertrb3lookup.h:6 hpiontrackertrb3lookup.h:7 hpiontrackertrb3lookup.h:8 hpiontrackertrb3lookup.h:9 hpiontrackertrb3lookup.h:10 hpiontrackertrb3lookup.h:11 hpiontrackertrb3lookup.h:12 hpiontrackertrb3lookup.h:13 hpiontrackertrb3lookup.h:14 hpiontrackertrb3lookup.h:15 hpiontrackertrb3lookup.h:16 hpiontrackertrb3lookup.h:17 hpiontrackertrb3lookup.h:18 hpiontrackertrb3lookup.h:19 hpiontrackertrb3lookup.h:20 hpiontrackertrb3lookup.h:21 hpiontrackertrb3lookup.h:22 hpiontrackertrb3lookup.h:23 hpiontrackertrb3lookup.h:24 hpiontrackertrb3lookup.h:25 hpiontrackertrb3lookup.h:26 hpiontrackertrb3lookup.h:27 hpiontrackertrb3lookup.h:28 hpiontrackertrb3lookup.h:29 hpiontrackertrb3lookup.h:30 hpiontrackertrb3lookup.h:31 hpiontrackertrb3lookup.h:32 hpiontrackertrb3lookup.h:33 hpiontrackertrb3lookup.h:34 hpiontrackertrb3lookup.h:35 hpiontrackertrb3lookup.h:36 hpiontrackertrb3lookup.h:37 hpiontrackertrb3lookup.h:38 hpiontrackertrb3lookup.h:39 hpiontrackertrb3lookup.h:40 hpiontrackertrb3lookup.h:41 hpiontrackertrb3lookup.h:42 hpiontrackertrb3lookup.h:43 hpiontrackertrb3lookup.h:44 hpiontrackertrb3lookup.h:45 hpiontrackertrb3lookup.h:46 hpiontrackertrb3lookup.h:47 hpiontrackertrb3lookup.h:48 hpiontrackertrb3lookup.h:49 hpiontrackertrb3lookup.h:50 hpiontrackertrb3lookup.h:51 hpiontrackertrb3lookup.h:52 hpiontrackertrb3lookup.h:53 hpiontrackertrb3lookup.h:54 hpiontrackertrb3lookup.h:55 hpiontrackertrb3lookup.h:56 hpiontrackertrb3lookup.h:57 hpiontrackertrb3lookup.h:58 hpiontrackertrb3lookup.h:59 hpiontrackertrb3lookup.h:60 hpiontrackertrb3lookup.h:61 hpiontrackertrb3lookup.h:62 hpiontrackertrb3lookup.h:63 hpiontrackertrb3lookup.h:64 hpiontrackertrb3lookup.h:65 hpiontrackertrb3lookup.h:66 hpiontrackertrb3lookup.h:67 hpiontrackertrb3lookup.h:68 hpiontrackertrb3lookup.h:69 hpiontrackertrb3lookup.h:70 hpiontrackertrb3lookup.h:71 hpiontrackertrb3lookup.h:72 hpiontrackertrb3lookup.h:73 hpiontrackertrb3lookup.h:74 hpiontrackertrb3lookup.h:75 hpiontrackertrb3lookup.h:76 hpiontrackertrb3lookup.h:77 hpiontrackertrb3lookup.h:78 hpiontrackertrb3lookup.h:79 hpiontrackertrb3lookup.h:80 hpiontrackertrb3lookup.h:81 hpiontrackertrb3lookup.h:82 hpiontrackertrb3lookup.h:83 hpiontrackertrb3lookup.h:84 hpiontrackertrb3lookup.h:85 hpiontrackertrb3lookup.h:86 hpiontrackertrb3lookup.h:87 hpiontrackertrb3lookup.h:88 hpiontrackertrb3lookup.h:89 hpiontrackertrb3lookup.h:90 hpiontrackertrb3lookup.h:91 hpiontrackertrb3lookup.h:92 hpiontrackertrb3lookup.h:93 hpiontrackertrb3lookup.h:94 hpiontrackertrb3lookup.h:95 hpiontrackertrb3lookup.h:96 hpiontrackertrb3lookup.h:97 hpiontrackertrb3lookup.h:98 hpiontrackertrb3lookup.h:99 hpiontrackertrb3lookup.h:100 hpiontrackertrb3lookup.h:101 hpiontrackertrb3lookup.h:102 hpiontrackertrb3lookup.h:103 hpiontrackertrb3lookup.h:104 hpiontrackertrb3lookup.h:105