#include "cc32camaccrate.hh"

CRT::CrtCc32CamacCrate


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

class CRT::CrtCc32CamacCrate : public CRT::CrtCamacCrate

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

    public:
CRT::CrtCc32CamacCrate CrtCc32CamacCrate() CRT::CrtCc32CamacCrate CrtCc32CamacCrate(const Char_t* inName, Int_t inCrateNumber) CRT::CrtCc32CamacCrate CrtCc32CamacCrate(const CRT::CrtCc32CamacCrate&) void ~CrtCc32CamacCrate() 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 void PrintStatus() 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 void* fFile open file descriptor of /dev/cc32_fCrateNumber 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 Wiener CC32 crate controller
 and the corresponding PCI PC board



CrtCc32CamacCrate() : CrtCamacCrate()
 default constructor

CrtCc32CamacCrate(const Char_t *inName, Int_t inCrateNumber) : CrtCamacCrate(inName)
 constructor

~CrtCc32CamacCrate()
 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 passes 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 passes the
 function return value to outValue.
 return code is the Q response

Int_t Test(Int_t inIdent, Int_t inFunction) const
 executes a test 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.
 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

void PrintStatus() const
 read the CC32 status and prints the result



Inline Functions


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


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