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

TVmeRpv130Module.hh

解説を見る。
00001 // =====================================================================
00028 // =====================================================================
00029 #ifndef CLDAQ__TVMERPV130MODULE_HH
00030 #define CLDAQ__TVMERPV130MODULE_HH
00031 
00032 #include "Tglobals.h"
00033 #include "TVmeModule.hh"
00034 
00035 class TDataElement;
00036 
00037 
00057 class TVmeRpv130Module
00058   : public TVmeModule
00059 {
00060 
00061   private:
00062     enum
00063     {
00064       LATCH1 = 0x00,
00065       LATCH2 = 0x02,
00066       RSFF = 0x04,
00067       THROUGH = 0x06,
00068       PULSE = 0x08,
00069       LEVEL = 0x0a,
00070       CSR1 = 0x0c,
00071       CSR2 = 0x0e
00072     };
00073 
00074   public:
00075     enum
00076     {
00077       tReadoutWithLatch1,
00078       tReadoutWithLatch2,
00079       tReadoutWithRSFF,
00080       tReadoutWithThrough
00081     };
00082 
00083   private:
00084     Tint theReadoutMode;
00085     Tint theLevelStatus;
00086 
00087   public:
00088     // should be 1 channel module
00089     TVmeRpv130Module( Toff_t offset, Tint mapsize = 0x1000, Tint nch = 1 );
00090     TVmeRpv130Module( const TVmeRpv130Module& right );
00091     ~TVmeRpv130Module();
00092 
00093   public:
00094     Tint GetReadoutMode() const;
00095     Tvoid SetReadoutMode( Tint readmode );
00096     Tint GetLevelStatus() const;
00097     Tvoid SetLevelStatus( Tint status );
00098 
00099   public:
00100     const TVmeRpv130Module& operator=( const TVmeRpv130Module& right );
00101     Tbool operator==( const TVmeRpv130Module& right ) const;
00102     Tbool operator!=( const TVmeRpv130Module& right ) const;
00103 
00104   public:
00105     Tint Clear();
00106     Tint Update();
00107     Tint Initialize();
00108     Tvoid FillData( TDataElement& element, Tint channel );
00109 
00110   public:
00111     Tvoid Pulse();
00112     Tvoid Pulse( Tint pattern );
00113 
00114     // NIM Signal
00115     // -xxV: 1, 0V: 0
00116     // Up -> 1, Down -> 0
00117     Tvoid Level();
00118     Tvoid Level( Tint pattern );
00119     Tvoid LevelUp();
00120     Tvoid LevelUp( Tint channel );
00121     Tvoid LevelDown();
00122     Tvoid LevelDown( Tint channel );
00123     Tvoid Enable();
00124     Tvoid Disable();
00125     TUshort Read();
00126 
00127 #ifdef __CLDAQ_ROOT_DLL
00128     ClassDef(TVmeRpv130Module,0)
00129 #endif
00130 
00131 };
00132 
00133 inline Tint TVmeRpv130Module::GetReadoutMode() const
00134 {
00135   return theReadoutMode;
00136 }
00137 
00138 inline Tvoid TVmeRpv130Module::SetReadoutMode( Tint readmode )
00139 {
00140   theReadoutMode = readmode;
00141   return;
00142 }
00143 
00144 inline Tint TVmeRpv130Module::GetLevelStatus() const
00145 {
00146   return theLevelStatus;
00147 }
00148 
00149 inline Tvoid TVmeRpv130Module::SetLevelStatus( Tint status )
00150 {
00151   status &= 0x00ff;
00152   theLevelStatus = status;
00153   return;
00154 }
00155 
00156 #endif


CLDAQ - a Class Library for DataAcQuisition (Version 1.14.3)
Go IWAI -- goiwai at users.sourceforge.jp