TVmeRpv130Module.hh Source File

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

# TVmeRpv130Module.hh

解説を見る。

    00001 // =====================================================================
    00002 //  $Id: TVmeRpv130Module.hh,v 1.2 2003/07/30 16:19:12 goiwai Exp $
    00003 //  $Name: CLDAQ-1-08-00 $
    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