メインページ   モジュール   クラス階層   アルファベット順一覧   構成   ファイル一覧   構成メンバ   ファイルメンバ   関連ページ  

TVmeRpv130Module.hh

解説を見る。
00001 // =====================================================================
00002 //  $Id: TVmeRpv130Module.hh,v 1.1.1.1 2003/06/27 02:56:41 goiwai Exp $
00003 //  $Name: CLDAQ-1-06-02 $
00004 // =====================================================================
00005 #ifndef __TVMERPV130MODULE_HH
00006 #define __TVMERPV130MODULE_HH
00007 
00008 #include "Tglobals.h"
00009 #include "TVmeModule.hh"
00010 
00011 class TDataElement;
00012 
00013 class TVmeRpv130Module
00014   : public TVmeModule
00015 {
00016 
00017   private:
00018     enum
00019     {
00020       LATCH1 = 0x00,
00021       LATCH2 = 0x02,
00022       RSFF = 0x04,
00023       THROUGH = 0x06,
00024       PULSE = 0x08,
00025       LEVEL = 0x0a,
00026       CSR1 = 0x0c,
00027       CSR2 = 0x0e
00028     };
00029 
00030   public:
00031     enum
00032     {
00033       tReadoutWithLatch1,
00034       tReadoutWithLatch2,
00035       tReadoutWithRSFF,
00036       tReadoutWithThrough
00037     };
00038 
00039   private:
00040     Tint theReadoutMode;
00041     Tint theLevelStatus;
00042 
00043   public:
00044     // should be 1 channel module
00045     TVmeRpv130Module( Toff_t offset, Tint mapsize = 0x1000, Tint nch = 1 );
00046     TVmeRpv130Module( const TVmeRpv130Module& right );
00047     ~TVmeRpv130Module();
00048 
00049   public:
00050     Tint GetReadoutMode() const;
00051     Tvoid SetReadoutMode( Tint readmode );
00052     Tint GetLevelStatus() const;
00053     Tvoid SetLevelStatus( Tint status );
00054 
00055   public:
00056     const TVmeRpv130Module& operator=( const TVmeRpv130Module& right );
00057     Tbool operator==( const TVmeRpv130Module& right ) const;
00058     Tbool operator!=( const TVmeRpv130Module& right ) const;
00059 
00060   public:
00061     Tint Clear();
00062     Tint Update();
00063     Tint Initialize();
00064     Tvoid FillData( TDataElement& element, Tint channel );
00065 
00066   public:
00067     Tvoid Pulse();
00068     Tvoid Pulse( Tint pattern );
00069 
00070     // NIM Signal
00071     // -xxV: 1, 0V: 0
00072     // Up -> 1, Down -> 0
00073     Tvoid Level();
00074     Tvoid Level( Tint pattern );
00075     Tvoid LevelUp();
00076     Tvoid LevelUp( Tint channel );
00077     Tvoid LevelDown();
00078     Tvoid LevelDown( Tint channel );
00079     Tvoid Enable();
00080     Tvoid Disable();
00081     TUshort Read();
00082 
00083 };
00084 
00085 inline Tint TVmeRpv130Module::GetReadoutMode() const
00086 {
00087   return( theReadoutMode );
00088 }
00089 
00090 inline Tvoid TVmeRpv130Module::SetReadoutMode( Tint readmode )
00091 {
00092   theReadoutMode = readmode;
00093   return;
00094 }
00095 
00096 inline Tint TVmeRpv130Module::GetLevelStatus() const
00097 {
00098   return( theLevelStatus );
00099 }
00100 
00101 inline Tvoid TVmeRpv130Module::SetLevelStatus( Tint status )
00102 {
00103   status &= 0x00ff;
00104   theLevelStatus = status;
00105   return;
00106 }
00107 
00108 #endif

CLDAQ - a Class Library for Data AcQuisition (Version 1.6.2)
Go IWAI <goiwai@users.sourceforge.jp>