#include "dspcamaccrate.hh"

CRT::CrtDspCamacCrate


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

class CRT::CrtDspCamacCrate : public CRT::CrtCamacCrate

Inheritance Chart:
TObject
<-
TNamed
<-
CRT::CrtCrate
<-
CRT::CrtCamacCrate
<-
CRT::CrtDspCamacCrate

    public:
CRT::CrtDspCamacCrate CrtDspCamacCrate() CRT::CrtDspCamacCrate CrtDspCamacCrate(const Char_t* inName, Int_t inCrateNumber) CRT::CrtDspCamacCrate CrtDspCamacCrate(const CRT::CrtDspCamacCrate&) void ~CrtDspCamacCrate() virtual Int_t BlockRead(Int_t inIdent, Int_t inFunction, Int_t inCount, Int_t* outValue) const virtual Int_t BlockSend(Int_t inIdent, Int_t inFunction, Int_t inCount, Int_t* inValue) const static TClass* Class() virtual void ClearInhibit() const virtual Int_t GetIdentity(Int_t inBoardNumber, Int_t inSubAdress) const virtual void Initialize() virtual TClass* IsA() const virtual Int_t Read(Int_t inIdent, Int_t inFunction, Int_t* outValue) const virtual Int_t Send(Int_t inIdent, Int_t inFunction, Int_t inValue) const virtual void SetInhibit() const virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) virtual Int_t Test(Int_t inIdent, Int_t inFunction) const

Data Members

    private:
Int_t fOk equals 1 if initialization succeeded Int_t fFile open file descriptor of /dev/dsp6001 Int_t fCrateNumber crate number, should be one

Class Description

 Cosmic Ray Telescope Data Aquisition Software

 Generic driver for a CAMAC crate.
 Connection from a PC to the crate is done via the DSP 6001 crate controller
 and the corresponding PC004 ISA PC board



CrtDspCamacCrate() : CrtCamacCrate()
 default constructor

CrtDspCamacCrate(const Char_t *inName, Int_t inCrateNumber) : CrtCamacCrate(inName)
 constructor
 inCrateNumber: should always be 0 for this version

~CrtDspCamacCrate()
 destructor

Int_t GetIdentity(Int_t inBoardNumber, Int_t inSubAdress) const
 calculates identity number for a crate/board/subadress number

void Initialize()

Int_t Send(Int_t inIdent, Int_t inFunction, Int_t inValue) const
 executes a function on a specific card in the crate. It passed the
 inValue to this function
 return code is the Q response

Int_t Read(Int_t inIdent, Int_t inFunction, Int_t *outValue) const
 executes a function on a specific card in the crate. It passed the
 function return value to outValue
 return code is the Q response

Int_t Test(Int_t inIdent, Int_t inFunction) const
 executes a function on a specific card in the crate.
 return code is the Q response

Int_t BlockSend(Int_t inIdent, Int_t inFunction, Int_t inCount, Int_t *inValue) const
 same as send, but repeats the same function with increasing sub-addresses
 as long as the Q response is 1 or increments the slot if the Q response is
 0. inCount defines the number of executions.
 The return value will be the number of executions.
 Please note: The inValue array has to have a length of at least the number
 of channels

Int_t BlockRead(Int_t inIdent, Int_t inFunction, Int_t inCount, Int_t *outValue) const
 same as read, but repeats the same function with increasing sub-addresses
 as long as the Q response is 1 or increments the slot if the Q response is
 0. inCount defines the number of executions.
 The return value will be the number of executions.
 Please note: The outValue array has to have a length of at least the number
 of channels

void SetInhibit() const
 sets crate inhibit

void ClearInhibit() const
 clears crate inhibit



Inline Functions


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


Author: Thomas Hadig (Group EB SLAC Stanford CA USA)
Last update: $Date: 2003/08/22 22:31:11 $
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.