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

TVmeRpv130Module.hh

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

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