// -*- C++ -*-
ADC(start)
{
MEMBER(DATA12 data[32]);
list(0 <= ch < 32)
{
UINT32 item NOENCODE
{
0_15: channel;
16_27: value;
28_31: 0;
ENCODE(data[channel - start], (value=value));
}
}
}
SCALER(start)
{
MEMBER(DATA32 data[32]);
list(0 <= ch < 32)
{
UINT32 high NOENCODE
{
0_15: channel;
16_31: value;
}
UINT32 low NOENCODE
{
0_15: channel;
16_31: value;
}
ENCODE(data[(high.channel / 2) - start], (value=(high.value << 16) | low.value));
}
}
SUBEVENT(ESR)
{
adc[0] = ADC(start = 0);
adc[1] = ADC(start = 32);
adc[2] = ADC(start = 64);
select optional {
scaler[0] = SCALER(start = 0x100);
}
}
EVENT
{
esr = ESR(type = 10, subtype = 1);
}
#include "det_mapping.hh"
|
SIGNAL( ADC1_1, esr.adc[0].data[0],
ADC1_32, esr.adc[0].data[31], DATA12);
SIGNAL( ADC2_1, esr.adc[1].data[0],
ADC2_32, esr.adc[1].data[31], DATA12);
SIGNAL( ADC3_1, esr.adc[2].data[0],
ADC3_32, esr.adc[2].data[31], DATA12);
//SIGNAL( SC_1, esr.scaler[0].data[0],
// SC_32, esr.scaler[0].data[31],DATA32);
|