#ifndef HTRBNETADDRESSMAPPING_H
#define HTRBNETADDRESSMAPPING_H
#include "TObject.h"
#include "TObjArray.h"
#include "hparset.h"
#include "htrb2correction.h"
#include "htrbnetdef.h"
#include <fstream>
using namespace Trbnet;
using namespace std;
class HTrbnetAddressMapping : public HParSet {
protected:
TObjArray* array;
Int_t arrayOffset;
public:
HTrbnetAddressMapping(const Char_t* name="TrbnetAddressMapping",
const Char_t* title="Mapping of trbnet addresses to boards",
const Char_t* context="Trb2Production",
Int_t minTrbnetAddress=Trbnet::kTrb2MinTrbnetAddress,
Int_t maxTrbnetAddress=Trbnet::kTrb2MaxTrbnetAddress);
~HTrbnetAddressMapping();
HTrb2Correction* getBoard(Int_t trbnetAddress) {
return (HTrb2Correction*)(array->At(trbnetAddress-arrayOffset));
}
HTrb2Correction* getBoard(const Char_t* temperaturSensor) {
return (HTrb2Correction*)(array->FindObject(temperaturSensor));
}
HTrb2Correction* operator[](Int_t i) {
return static_cast<HTrb2Correction*>((*array)[i]);
}
Int_t getSize() { return array->GetSize(); }
Int_t getArrayOffset() { return arrayOffset; }
Bool_t init(HParIo* input,Int_t* set);
Int_t write(HParIo* output);
void clear();
void printParam();
HTrb2Correction* addBoard(Int_t,const Char_t*,const Char_t*,Int_t,Int_t);
Bool_t readline(const Char_t*);
void putAsciiHeader(TString&);
void write(fstream&);
ClassDef(HTrbnetAddressMapping,1)
};
#endif /*!HTRBNETADDRESSMAPPING_H*/
htrbnetaddressmapping.h:1 htrbnetaddressmapping.h:2 htrbnetaddressmapping.h:3 htrbnetaddressmapping.h:4 htrbnetaddressmapping.h:5 htrbnetaddressmapping.h:6 htrbnetaddressmapping.h:7 htrbnetaddressmapping.h:8 htrbnetaddressmapping.h:9 htrbnetaddressmapping.h:10 htrbnetaddressmapping.h:11 htrbnetaddressmapping.h:12 htrbnetaddressmapping.h:13 htrbnetaddressmapping.h:14 htrbnetaddressmapping.h:15 htrbnetaddressmapping.h:16 htrbnetaddressmapping.h:17 htrbnetaddressmapping.h:18 htrbnetaddressmapping.h:19 htrbnetaddressmapping.h:20 htrbnetaddressmapping.h:21 htrbnetaddressmapping.h:22 htrbnetaddressmapping.h:23 htrbnetaddressmapping.h:24 htrbnetaddressmapping.h:25 htrbnetaddressmapping.h:26 htrbnetaddressmapping.h:27 htrbnetaddressmapping.h:28 htrbnetaddressmapping.h:29 htrbnetaddressmapping.h:30 htrbnetaddressmapping.h:31 htrbnetaddressmapping.h:32 htrbnetaddressmapping.h:33 htrbnetaddressmapping.h:34 htrbnetaddressmapping.h:35 htrbnetaddressmapping.h:36 htrbnetaddressmapping.h:37 htrbnetaddressmapping.h:38 htrbnetaddressmapping.h:39 htrbnetaddressmapping.h:40 htrbnetaddressmapping.h:41 htrbnetaddressmapping.h:42 htrbnetaddressmapping.h:43 htrbnetaddressmapping.h:44 htrbnetaddressmapping.h:45 htrbnetaddressmapping.h:46 htrbnetaddressmapping.h:47