#include <CCamacModule.h>
Inheritance diagram for CCamacModule:
Public Methods | |
CCamacModule (unsigned int branch, unsigned int crate, unsigned int slot) | |
Default constructor. | |
CCamacModule (const CCamacModule &rhs) | |
Copy constructor. | |
~CCamacModule () | |
Destructor. | |
CCamacModule & | operator= (const CCamacModule &rhs) |
Assignment. | |
int | operator== (const CCamacModule &rhs) const |
Comparison for equality. | |
int | operator!= (const CCamacModule &rhs) const |
unsigned int | getBranch () const |
unsigned short | getCrate () const |
int | getSlot () const |
unsigned long * | getBase () const |
unsigned long | Read (unsigned int f, unsigned int a) const |
void | Write (unsigned int f, unsigned int a, unsigned long d) const |
unsigned short | Control (unsigned int f, unsigned int a) const |
unsigned long * | MakePointer (unsigned int f, unsigned int a, bool isshort=false) const |
unsigned long * | MakePointer (unsigned int c, unsigned int n, unsigned int a, unsigned int f, bool isshort=false) const |
Static Public Methods | |
bool | ValidBranch (unsigned int branch) |
bool | ValidCrate (unsigned int crate) |
bool | ValidSlot (unsigned int slot) |
bool | ValidSubaddress (unsigned int a) |
bool | ValidFunction (unsigned int f) |
bool | isRead (unsigned int f) |
bool | isWrite (unsigned int f) |
bool | isControl (unsigned int f) |
Private Attributes | |
unsigned int | m_nBranch |
Branch module lives in (0-7). | |
unsigned short | m_nCrate |
Crate module lives in (1-7). | |
int | m_nSlot |
Slot module lives in. 24-31 are controller. | |
unsigned long * | m_pBase |
Base address of module. |
Definition at line 296 of file CCamacModule.h.
|
Default constructor. Construct a module in a crate somewhere.
Definition at line 316 of file CCamacModule.cpp. References BRANCH_RANGE, CCamac::BranchInit(), CRATE_RANGE, m_pBase, MakePointer(), SLOT_RANGE, ValidBranch(), ValidCrate(), and ValidSlot(). |
|
Copy constructor. Copy construction. This is invoked when e.g. an object is passed by value to a function. The copy constructor makes a clone of the rhs object.
Definition at line 360 of file CCamacModule.cpp. |
|
Destructor.
Definition at line 311 of file CCamacModule.h. |
|
Performs a CAMAC control (non data transfer) operation on the module.
Definition at line 493 of file CCamacModule.cpp. References CTL_RANGES, and SUB_RANGE. Referenced by CCrateController::BroadcastControl(), CCrateController::C(), CCAMACScalerLRS2551::Clear(), CCrateController::DisableDemand(), CCrateController::EnableDemand(), CCrateController::Inhibit(), CCrateController::isDemandEnabled(), CCrateController::isDemanding(), CCrateController::isInhibited(), CCrateController::MulticastControl(), CCrateController::UnInhibit(), and CCrateController::Z(). |
|
Definition at line 334 of file CCamacModule.h. References m_pBase. |
|
Definition at line 322 of file CCamacModule.h. References m_nBranch. |
|
Definition at line 326 of file CCamacModule.h. References m_nCrate. |
|
Definition at line 330 of file CCamacModule.h. References m_nSlot. |
|
Determines if a function code is a control function.
Definition at line 643 of file CCamacModule.cpp. |
|
Determines if the specified function code is a Read function:
Definition at line 625 of file CCamacModule.cpp. References READ_RANGE. Referenced by isControl(). |
|
Determines if the function is a write function code:
Definition at line 634 of file CCamacModule.cpp. References WRITE_RANGE. |
|
Returns a pointer which when derererenced will perform the appropriate CAMAC function on the branch the module lives in. This overload differs from the prior MakePointer by allowing any crate or slot in the branch to be referenced.
Definition at line 557 of file CCamacModule.cpp. References AShift, CCamac::Base(), CCamac::BranchInit(), CShift, FShift, NShift, and ShortBit. |
|
Returns a pointer which when dereferenced appropriately will perform the selected CAMAC function.
Definition at line 528 of file CCamacModule.cpp. References AShift, FShift, and ShortBit. Referenced by CBD8210::CBD8210(), CCamacModule(), CCamacNimout::CCamacNimout(), and Write(). |
|
Definition at line 315 of file CCamacModule.h. References operator==(). |
|
Assignment. Assignment operation. This member function supports assignment of an object of this class to an object of the same class.
Definition at line 378 of file CCamacModule.cpp. References m_nBranch, m_nCrate, m_nSlot, and m_pBase. Referenced by CCamacNimout::operator=(), and CBD8210::operator=(). |
|
Comparison for equality. Compare for equality. If equal, all members are equal. The pointer is derived from b,c,n so it is not compared: Definition at line 397 of file CCamacModule.cpp. References m_nBranch, m_nCrate, and m_nSlot. Referenced by operator!=(), and CBD8210::operator==(). |
|
Reads 24 bits of data from the module:
Definition at line 419 of file CCamacModule.cpp. References READ_RANGE, and SUB_RANGE. Referenced by CCrateController::Lams(), CCAMACScalerLRS4434::Read(), and CCAMACScalerLRS2551::Read(). |
|
Determines if a branch number is valid. This is a static member functionl
Definition at line 583 of file CCamacModule.cpp. References BRANCH_RANGE. Referenced by CCamacModule(). |
|
Definition at line 588 of file CCamacModule.cpp. References CRATE_RANGE. Referenced by CCamacModule(). |
|
Determines if the selected function code is valid.
Definition at line 616 of file CCamacModule.cpp. References F_RANGE. |
|
Determines if slot is a valid slot number.
Definition at line 598 of file CCamacModule.cpp. References SLOT_RANGE. Referenced by CCamacModule(). |
|
Determines if a is valid subaddress.
Definition at line 607 of file CCamacModule.cpp. References SUB_RANGE. Referenced by Write(). |
|
Transfers a 24 bit data item to the module.
Definition at line 452 of file CCamacModule.cpp. References isWrite(), MakePointer(), SUB_RANGE, ValidSubaddress(), and WRITE_RANGE. Referenced by CCrateController::BroadcastWrite(), CCAMACScalerLRS4434::Clear(), CCAMACScalerLRS4434::Initialize(), CCrateController::MulticastWrite(), CCAMACScalerLRS4434::Read(), and CCrateController::WriteSnr(). |
|
Branch module lives in (0-7).
Definition at line 299 of file CCamacModule.h. Referenced by getBranch(), operator=(), and operator==(). |
|
Crate module lives in (1-7).
Definition at line 300 of file CCamacModule.h. Referenced by getCrate(), operator=(), and operator==(). |
|
Slot module lives in. 24-31 are controller.
Definition at line 301 of file CCamacModule.h. Referenced by getSlot(), operator=(), and operator==(). |
|
Base address of module.
Definition at line 302 of file CCamacModule.h. Referenced by CCamacModule(), getBase(), and operator=(). |