A Perkin Elmer detector is introduced to Online by the following entry in /online_dir/online.xml:
<hw>
...
<device>
<name>pe</name>
<type>type_tango</type>
<module>module_tango</module>
<device>p02/pedetector/xrd.01</device>
<control>tango</control>
<hostname>haspp02XXX:10000</hostname>
</device>
...
</hw>
Here is the virtual counter code for a Perkin Elmer:
if( $method =~ /reset/i)
{
return Spectra::perkinElmer_startSubtracted( "pe_detector",
$Spectra::SYM{ scan_name} . "_",
$Spectra::SYM{ sample_time},
$Spectra::SYM{ sindex});
}
if( $method =~ /read/i)
{
while( Spectra::tng_state( "pe_detector"))
{
Util::log( "waiting for pe_detector");
Spectra::wait( 0.1);
}
return 1;
}
The following example shows how a single shot can be taken from a .gra file:
! ! ~/prog/perkinElmerSubtracted.gra ! fname_pe = arg(1) st_pe = arg(2) no_pe = arg(3) eval [Spectra::perkinElmer_singleShotSubtracted( "pe_detector", "fname_pe", "st_pe", "no_pe")] st_pe = fname_pe = no_pe =
The file exp_ini.exp contains a symbol assignment:
! ! /online_dir/exp_ini.exp ! pe_subtracted = "run prog:perkinElmerSubtracted.gra"
The user can invoke the .gra file from the command line:
ONLINE> pe_subtracted someFileName 2 1
Note that the online -tki manual contains the description of a beamline-specific-code widget for the Perkin Elmer detector.