#include "tdc2277board.hh"

CRT::CrtTdc2277Board


class description - source file - inheritance tree (.ps)

class CRT::CrtTdc2277Board : public CRT::CrtTdcAdcBoard

Inheritance Chart:
TObject
<-
TNamed
<-
CRT::CrtBoard
<-
CRT::CrtCamacBoard
<-
CRT::CrtTdcAdcBoard
<-
CRT::CrtTdc2277Board

    public:
CRT::CrtTdc2277Board CrtTdc2277Board() CRT::CrtTdc2277Board CrtTdc2277Board(const Char_t* inName, Int_t inIdent, CRT::CrtCamacCrate* inCrate) CRT::CrtTdc2277Board CrtTdc2277Board(const CRT::CrtTdc2277Board&) void ~CrtTdc2277Board() virtual Int_t Assign(Int_t inChannel, Int_t inValue) const static TClass* Class() virtual Int_t Clear(Int_t inFlag, Int_t inChannel = 0) const virtual Int_t Disable(Int_t inFlag, Int_t inChannel = 0) const virtual Int_t Enable(Int_t inFlag, Int_t inChannel = 0) const virtual Int_t GetNumberOfChannels() const virtual Int_t HasData() const virtual Int_t Initialize() const virtual TClass* IsA() const CRT::CrtTdc2277Board& operator=(const CRT::CrtTdc2277Board&) virtual Int_t Prepare() const virtual Int_t Query(Int_t inChannel, Int_t* outValue) const virtual Int_t ReadModuleAllHitsAndClear(Int_t* outChannels) const virtual Int_t ReadModuleAndClear(Int_t* outChannels) const virtual Int_t Send(Int_t inCommand) const virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) virtual Int_t Test(Int_t inFlag, Int_t inChannel = 0) const

Data Members

    private:
Int_t fOk equals 1 if initialization succeeded Int_t fIdents[2] identifiers for camac crate with all subadresses public:
static const CRT::CrtTdc2277Board::Tdc2277Flags F_TDC2277_LAM static const CRT::CrtTdc2277Board::Tdc2277Flags F_TDC2277_BufferingInProgress static const CRT::CrtTdc2277Board::Tdc2277Flags F_TDC2277_BUSY static const CRT::CrtTdc2277Board::Tdc2277Commands C_TDC2277_ClearModule static const CRT::CrtTdc2277Board::Tdc2277Commands C_TDC2277_TestModule

Class Description

 Cosmic Ray Telescope Data Aquisition Software

 generic driver for Camac module: LeCroy 2277 TDC

 This module features:
 - 32 channels, 16 bit each
 - read-out is sequentially, i.e. 32 times reading of "channel" 0
   gives the 32 values
 - has a status register (encoded here as channel 1)



CrtTdc2277Board() : CrtTdcAdcBoard()
 default constructor

CrtTdc2277Board(const Char_t *inName, Int_t inBoardNumber, CrtCamacCrate *inCrate) : CrtTdcAdcBoard(inName, inBoardNumber, inCrate)
 constructor
 inBoardNumber is the number of the Camac slot
 inCrate       is a pointer to the Camac crate object

~CrtTdc2277Board()
 destructor

Int_t Send(Int_t inCommand) const
 sends command to board
 available commands:
 CrtTdc2277Board::C_TDC2277_ClearModule
 CrtTdc2277Board::C_TDC2277_TestModule

Int_t Enable(Int_t inFlag, Int_t) const
 enables board features
 Available features:
 CrtTdc2277Board::F_TDC2277_LAM (Look-At-Me)

Int_t Disable(Int_t inFlag, Int_t) const
 disables board features
 Available features:
 CrtTdc2277Board::F_TDC2277_LAM (Look-At-Me)

Int_t Clear(Int_t inFlag, Int_t) const
 clears board features
 Available features:
 CrtTdc2277Board::F_TDC2277_LAM (Look-At-Me)

Int_t Test(Int_t inFlag, Int_t) const
 tests board features
 Available features:
 CrtTdc2277Board::F_TDC2277_LAM (Look-At-Me)
 CrtTdc2277Board::F_TDC2277_BufferingInProgress
 CrtTdc2277Board::F_TDC2277_BUSY

Int_t Query(Int_t inChannel, Int_t *outValue) const
 queries channels
 available channels:
 0: sequentially read data of all 32 channels
    return value encodes the value and the channel number
 1: status register
    bits  1,2: tester hit bit (00: 1 hit, 01: 2 hits, 10: 4 hits, 11: 8 hits)
    bits  3,4: tester hit duration (00: 128, 01: 256, 10: 1024, 11: 2048 ns)
    bit     8: trigger mode (0: pulse, 1: latch)
    bit     9: odd channel test input (1: enable)
    bit    10: even channel test input (1: enable)
    bit    11: hit trailing edge recoding: (1: enable)
    bit    12: hit leading edge recoding: (1: enable)
    bit 13-15: common start timeout (000: front panel, 001-111: 1024, 2048, 4096, 8192, 16384, 32768, 65536 ns)
    bit    16: mode (0: common stop, 1: common start)

Int_t Assign(Int_t inChannel, Int_t inValue) const
 assigns channels
 available channels:
 1: status register (for bit information see Query)

Int_t Initialize() const
 initializes the board

Int_t Prepare() const
 prepares the board for data taking

Int_t HasData() const
 tests whether the module has data available

Int_t ReadModuleAndClear(Int_t *outChannels) const
 reads all channels and clears the data afterwards.
 returns only first hit in each channel

Int_t ReadModuleAllHitsAndClear(Int_t *outChannels) const
 reads all hits on all channels and clears the data afterwards.
 The array given has to have the size
 MAX_HITS * MAX_CHANNELS = 16 * 32 = 512,
 the data will be ordered: hit_in_channel * 32 + channel_no

Int_t GetNumberOfChannels() const



Inline Functions


                      TClass* Class()
                      TClass* IsA() const
                         void ShowMembers(TMemberInspector& insp, char* parent)
                         void Streamer(TBuffer& b)
                         void StreamerNVirtual(TBuffer& b)
         CRT::CrtTdc2277Board CrtTdc2277Board(const CRT::CrtTdc2277Board&)
        CRT::CrtTdc2277Board& operator=(const CRT::CrtTdc2277Board&)


Author: Thomas Hadig (Group EB SLAC Stanford CA USA)
Last update: $Date: 2003/08/22 22:31:12 $
Copyright Thomas Hadig, hadig@slac.stanford.edu


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.