#ifndef __CRTTDC3377BOARD_HH #define __CRTTDC3377BOARD_HH #include // definition of __CRTTDC3377_SINGLE_WORD will use single word format // in single word format only 10 bit instead of 16 bit data are read. #define __CRTTDC3377_SINGLE_WORD // definition of __CRTTDC3377_NO_HEADER_WORD will suppress the header // word for empty events #define __CRTTDC3377_NO_HEADER_WORD namespace CRT { class CrtCamacCrate; class CrtTdc3377Board : public CrtTdcAdcBoard //{{{}}} //{{{ { public: CrtTdc3377Board(); CrtTdc3377Board(const Char_t *inName, Int_t inIdent, CrtCamacCrate *inCrate); ~CrtTdc3377Board(); virtual Int_t Send(Int_t inCommand) const; virtual Int_t Assign(Int_t inChannel, Int_t inValue) const; virtual Int_t Query(Int_t inChannel, Int_t *outValue) const; virtual Int_t Test(Int_t inFlag, Int_t inChannel=0) const; virtual Int_t Enable(Int_t inFlag, Int_t inChannel=0) const; virtual Int_t Disable(Int_t inFlag, Int_t inChannel=0) const; virtual Int_t Clear(Int_t inFlag, Int_t inChannel=0) const; virtual Int_t Initialize() const; virtual Int_t Prepare() const; virtual Int_t HasData() const; virtual Int_t ReadModuleAndClear(Int_t *outChannels) const; virtual Int_t ReadModuleAndClear(Int_t *outChannels, Int_t inLowerLimit, Int_t inUpperLimit) const; virtual Int_t ReadModuleAllHitsAndClear(Int_t *outChannels) const; virtual Int_t GetNumberOfChannels() const; private: Int_t fOk; // equals 1 if initialization succeeded Int_t fIdents[7]; // identifiers for camac crate with all subadresses public: enum Tdc3377Flags { F_TDC3377_LAM=0, F_TDC3377_BufferingInProgress, F_TDC3377_BUSY, F_TDC3377_ACQUISITION, F_TDC3377_EVENT_RDY, F_TDC3377_FIFO_TAG }; enum Tdc3377Commands { C_TDC3377_ClearModule=0, C_TDC3377_TestModule }; ClassDef(CrtTdc3377Board,0) //LeCroy 3377 TDC module driver }; //}}} } #endif