CaenIO.h

Go to the documentation of this file.
00001 /*
00002     This software is Copyright by the Board of Trustees of Michigan
00003     State University (c) Copyright 2005.
00004 
00005     You may use this software under the terms of the GNU public license
00006     (GPL).  The terms of this license are described at:
00007 
00008      http://www.gnu.org/licenses/gpl.txt
00009 
00010      Author:
00011              Ron Fox
00012              NSCL
00013              Michigan State University
00014              East Lansing, MI 48824-1321
00015 */
00016 
00041 #ifndef __CCAENIO_H
00042 #define __CCAENIO_H
00043 
00044 #include <config.h>
00045 
00046 
00047 #ifndef __VMEMODULE_H
00048 #include <VmeModule.h>
00049 #endif
00050 
00051 class CCaenIO : public CVmeModule
00052 {
00053   UInt_t m_nOutputMask;  
00055   enum { LENGTH = 256 };
00056   
00057  public:
00058 
00059   // Default constructor
00060   CCaenIO(UInt_t base, int nCrate = 0);
00061 #if defined(HAVE_WIENERVME_INTERFACE) || defined(HAVE_WIENERUSBVME_INTERFACE)
00062 #else
00063   CCaenIO(CVME<UShort_t>& am_CVME);
00064 #endif
00065   // Copy constructor
00066   CCaenIO(const CCaenIO& aCCaenIO);
00067 
00068   // Destructor
00069   virtual ~CCaenIO() { }
00070 
00071   // Operator= Assignment operator
00072   CCaenIO& operator=(const CCaenIO& aCCaenIO);
00073   
00074   // Operator== Equality operator
00075   Int_t operator== (const CCaenIO& aCCaenIO);
00076 
00077   // Public member functions
00078  public:
00079  
00080   // Read from inputs
00081   UShort_t ReadInput(UInt_t input);
00082   UShort_t ReadInputs();
00083   
00084   // Writing to NIM pulse and level outputs
00085   void PulseOutput(UInt_t output);
00086   void SetLevel(UInt_t output);
00087   void ClearLevel(UInt_t output);
00088   void ClearAll();
00089   
00090   // Writing to ECL outputs
00091   void SetECL(UShort_t value);
00092   void ClearECL();
00093 #ifdef HAVE_VME_MAPPING
00094   short* getInputPointer();
00095   short* getPulsedOutputPointer();
00096   short* getLatchedOutputPointer();
00097   short* getECLOutputPointer();
00098 #endif
00099 };
00100 
00101 #endif

Generated on Wed Sep 17 08:38:09 2008 for NSCL Device support. by  doxygen 1.5.1