Kinoko Module Driver リファレンス

CAEN V820 / V830

種別VME ラッチング(マルチイベント)スケーラ
製造者CAEN (http://www.caen.it)
参照名CAEN-V820 / CAEN-V830
読み出しread() / blockRead()
サービス要求ポーリング

読み出しアクション

read(int channel_bit_mask)
read(ReadoutChannelList channel_list)
引数に指定したチャンネルからデータを読み出し,indexed 型のデータとしてストリームに送り出す.

blockRead()
モジュールのバッファ上にあるデータを block 型のデータとしてストリームに送り出す.(V830 のみ)

waitData()
モジュールからデータが読み出せるようになるまでシーケンスの実行を停止する.(V830 のみ)

clear()
モジュールのデータクリアを実行する(バッファ上のデータとイベントカウンタのクリア)

enable(int channel_bit_mask) / disable(int channel_bit_mask)
指定されたチャンネルからの読み出しを有効/無効にする

start() / startPeriodical()
ランダムモードまたは周期モードでのトリガ(カウント値のホールド)を開始する.

stop()
トリガを停止する.

trigger()
ランダムモードにおいて,トリガを発行する.

setDwellTime(int number_of_ticks)
周期モードにおけるトリガ間隔を指定する.1 tick は 400 nsec.

enableHeader() / disableHeader()
blockRead() におけるフォーマットでヘッダを有効または無効に設定する.(V830 のみ)

select32bitFormat() / select26bitFormat()
カウント値の有効ビット数を指定する.

selectDirectRead() / selectBufferedRead()
read() において,カウント値をどこから読み出すか指定する.Direct Read では,カウンタレジスタから読み出す.Buffered Read では,バッファ (MEB) から読み出す.blockRead() はこの設定に影響されず,常にバッファから読み出す.

読み出しスクリプト例

datasource VmeScaler
{
    int base_address = 0x08300000;
    int readout_channels = #0..#3;

    VmeCrate crate;
    VmeController controller("SBS-620");
    VmeModule scaler("CAEN-V830");
    
    crate.installController(controller);
    crate.installModule(scaler, base_address);

    on run_begin {
	scaler.disable(~readout_channels);  
	scaler.start();
    };

    on trigger(scaler) {
        // indexed 型データとして読み出す
        scaler.read(readout_channels);

        // block 型データとして読み出す.
	//scaler.blockRead();
    }
}