S560 Programming Library User's Manual
S560 Programming Library User's Manual
Genie™ 2000
Programming Library
9233656F V3.1 User’s Manual
Body: 9230877J
Microsoft, Windows, NT, Visual Basic and Visual C++ are registered trademarks of Microsoft Corporation in the
United States and/or other countries.
Pentium is a registered trademark of Intel Corporation in the United States and/or other countries.
Table of Contents
ii
Setup Screen Dialog Function Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Example Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
iii
Determining if Modified . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Status Severity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Retrieving Status Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Data Access Calibrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Low Tail Calibrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Energy Calibrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
FWHM Calibrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Efficiency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Dual Efficiency Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Linear Efficiency Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Empirical Efficiency Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Efficiency Calibration Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Dual Efficiency Cross Over Energy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Alpha Efficiency Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Matrix Correction Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Neutron Mass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Multiplication Corrected Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Reals Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Doubles Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Non-Multiplication Corrected Properties . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Non-Multiplication Corrected Reals Properties. . . . . . . . . . . . . . . . . . . . . . . 118
Power Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Rational Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Exponential Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Polynomial Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Non-Multiplication Corrected Totals Calibration. . . . . . . . . . . . . . . . . . . . . . 122
Add-a-Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Reals Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Totals Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
DeviceAccess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
DeviceAccess Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
DeviceAccess Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
iv
Connecting to a Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Disconnecting from a Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Clearing the Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Setting up a Spectroscopy Detector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Setting up a Neutron Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Starting an Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Stopping an Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Pausing an Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Copying a Parameter Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Saving Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Retrieving Spectral Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Retrieving Neutron Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Verify Input Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Defining the Memory Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Sending Commands to a Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Sending Commands to a List of Detectors . . . . . . . . . . . . . . . . . . . . . . . . . 141
Evaluating Spectroscopic Calibrations . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Converting from Energy To Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Computing ROIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Setting or Getting Boot Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Moving or Copying a Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
DeviceAccess Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Parameter Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Parameter Array Access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Single Parameter Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Spectral Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Name of the Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Determining Analyzer Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Determining the Analyzer Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Determining if Connected. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Determining MID Defined Spectroscopy Detectors . . . . . . . . . . . . . . . . . . . . 153
Access Handle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Determining if Modified . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Status Severity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
v
Retrieving Status Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
High Voltage Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Amplifier Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
ADC Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
DeviceAccess Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Processing Asynchronous Message Events . . . . . . . . . . . . . . . . . . . . . . . . . 159
Processing Device Message Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
CAM Datasource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
CAM Datasource Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Array Of Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Evaluation Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Delete Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Open Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Close Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Datasource Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Device Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Search Record Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Datasource Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Preset Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Information Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Datasource Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Device Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Clone Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
VDM Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Structure Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Parameter Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Class Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Conversion Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Analysis Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Input Device Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Input Device Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
CAM Datasource Component Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
vi
CAM Datasource Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Opening a Datasource. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Closing a Datasource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Compressed Spectral Data or Scaled Data . . . . . . . . . . . . . . . . . . . . . . . . . 178
Creating a Parameter Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Copying a Parameter Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Copying a Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Finding a Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Inserting Records or Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Deleting Records, Entries or Parameter Blocks. . . . . . . . . . . . . . . . . . . . . . . 182
Counting Records or Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Save As . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Creating a Connection to the Local VDM . . . . . . . . . . . . . . . . . . . . . . . . . 183
Determining Datasource Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Cloning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Accessing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Accessing Arrays of Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
ICamDatasource Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Determining Modified State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Device Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Preset Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Evaluate Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Error Handling using the Message List Interface . . . . . . . . . . . . . . . . . . . . . . 190
Acquisition Completion Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Setting or Getting Spectrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
CAM Datasource Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Datasource Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Property Change Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Device Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Executing Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Clearing Open Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Verifying Hardware Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Memory Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
vii
Preset Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Input Device Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Datasource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Input Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Verification of Input Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Programmable Device. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Supported Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Input Device Collection Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Find . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Status of All Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Verification of All Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Evaluate Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Calling a Genie-2k Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Evaluations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Abort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Datasource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Evaluate Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Analysis Complete Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Preset Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Start Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Stop Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Count Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
viii
Sweeps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Parameter Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Convert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Message List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Parameter Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Parameter Collection Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Data Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Data Display Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Data Display Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Opening a Datasource. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Closing a Datasource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Closing All Datasources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Saving Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Displaying a Specific Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Next Datasource. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Previous Datasource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Determining if a Source is Already Loaded . . . . . . . . . . . . . . . . . . . . . . . . 228
Setting up a Spectroscopy Detector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Setting up a Neutron Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
ix
Starting an Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Aborting an Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Pausing an Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Clearing a Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Verifying Input Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Adding an ROI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Deleting an ROI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Deleting all ROIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Next ROI/Next Data Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Previous ROI/Previous Data Group. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Saving ROIs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Loading ROIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Moving Through NID Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Manually Moving the Spectral Plot Cursors . . . . . . . . . . . . . . . . . . . . . . . . 239
Zoom Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Changing Axis Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Copy Data into Windows Application . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Printing Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Exporting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Plotting Coincidence Rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Plotting Coincidence Rate Histograms . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Displaying Histograms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Displaying Scalar Bank Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Changing Spectral Plot Axis Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Data Display Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Current Datasource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Determining a Datasource Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Determining a Datasource Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Determining the Number of Datasources . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Getting a List of Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Determining if Modified . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Parameter Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Parameter Array Access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Single Parameter Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
x
Drag and Drop Opens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Plot Background Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
ROI Type Colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
NID Annotation Colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Spectrum Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Activating Expand Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Expand Plot Real Time Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Activating Zoom Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Getting the Number of ROIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Display Refresh Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Auto-Scale During Acquisitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Displaying Grid Lines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Displaying Spectral Plot Borders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Changing the Number of Y-Axis Tick Marks . . . . . . . . . . . . . . . . . . . . . . . 262
Activating Energy X-Axis Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Hiding or Showing the Status Window . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Hiding or Showing the Information Spreadsheet . . . . . . . . . . . . . . . . . . . . . . 264
Displaying Input Device Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Displaying Computational Information . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Displaying Spectral Data Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Displaying Peak Area, Calibration, and NID Results . . . . . . . . . . . . . . . . . . . . 266
Displaying Nuclide Lines on the Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Activating Linear Y-Axis Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Displaying Data Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Filling Spectral ROIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Displaying Compressed or Uncompressed Spectral Data. . . . . . . . . . . . . . . . . . 269
Determining if a Datasource Has Both Neutron and Spectroscopic Data . . . . . . . . . 270
Changing the Type of Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Changing the Plot Point Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Determining if Coincidence Rates are Being Displayed . . . . . . . . . . . . . . . . . . 272
Determining if Coincidence Histograms are Being Displayed . . . . . . . . . . . . . . . 272
Determining if Multiplicity Data is Being Displayed . . . . . . . . . . . . . . . . . . . . 273
Determining if Scalar Data is Being Displayed . . . . . . . . . . . . . . . . . . . . . . . 273
Number of Standard Deviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
xi
Number of Coincidence Bins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Displaying Coincidence Rates in a Spreadsheet . . . . . . . . . . . . . . . . . . . . . . 275
Peak Labeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Data Display Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Processing Peak Cursor Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Processing R OI Cursor Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Processing Time Events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Processing Neutron Rate Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Processing Device Status Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Processing Mouse Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Processing Asynchronous Message Events . . . . . . . . . . . . . . . . . . . . . . . . . 280
Drag and Drop Open Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Interactive Data Fit Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Interactive Data Fit Control Data Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Interactive Data Fit Control Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Plotting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Extended Plotting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Over Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Over Plot Legend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Plotting in Three Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Highlight a Plane on the 3d Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Adding Models To Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Deleting a Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Undeleting A Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Undeleting All Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Starting a Computation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Aborting a Computation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Zoom Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Changing Axis Limits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Copying Data Into Windows Applications . . . . . . . . . . . . . . . . . . . . . . . . . 299
Exporting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Moving the Plot Cursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Getting the Plot Cursor Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
xii
Getting the Current Plot Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Selecting the Current Model to Display . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Holding Coefficients Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Changing a Polynomial Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Computing Fit Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Evaluating a Point. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Status Window Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Fitting Without a Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Evaluation of a Point on the Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Get Dual Low Energy Model Information . . . . . . . . . . . . . . . . . . . . . . . . . 311
Status Bar Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Scaling Axes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Maximize to Full Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Interactive Data Fit Control Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Data Point Colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Model Color. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Low Dual Curve Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Background Color. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Plot Axes And Label Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Fit Envelope Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Cursor Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Cross Over Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Data Point Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Log/Linear Axis Scales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Cursor Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Activating Zoom Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Display a Plot or Spreadsheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Displaying the Covariance Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Changing the Number of Y-Axis Tick Marks . . . . . . . . . . . . . . . . . . . . . . . 323
Displaying Grid Lines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Hiding or Showing the Status Window . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Hiding or Showing the Information Window . . . . . . . . . . . . . . . . . . . . . . . . 324
Number of Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Number of Deleted Points. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
xiii
Number of Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Status Severity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Retrieving Status Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Activating/Deactivating Spreadsheet Edits . . . . . . . . . . . . . . . . . . . . . . . . . 327
Displaying the Number Of Deleted Points . . . . . . . . . . . . . . . . . . . . . . . . . 327
Displaying the Fit Uncertainty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
The Number of Standard Deviations in the Fit . . . . . . . . . . . . . . . . . . . . . . . 328
Dual Model Crossover Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Enabling The Crossover Cursor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Sets the Current Data Set for the Plot Cursor . . . . . . . . . . . . . . . . . . . . . . . . 330
Determining Computation Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Changing Dual Efficiency Model Into a Single Efficiency Model . . . . . . . . . . . . . 331
Changing Linear Estimation Technique . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Interactive Data Fit Control Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Processing Mouse Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Processing Plot Cursor Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Processing Asynchronous Message Events . . . . . . . . . . . . . . . . . . . . . . . . . 333
Processing OverPlot Events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Processing Model Selection Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Processing Dual Cross Over Change Events . . . . . . . . . . . . . . . . . . . . . . . . 333
Processing Computations Completed Event . . . . . . . . . . . . . . . . . . . . . . . . 334
Processing Point Delete/Undelete Event . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Exported C Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Fitting Data to a Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Evaluating a Fit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Library of Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Spectroscopy Energy And Shape Models. . . . . . . . . . . . . . . . . . . . . . . . . . 337
Spectroscopy Efficiency Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Spectroscopy Efficiency versus Density Models . . . . . . . . . . . . . . . . . . . . . . 340
General Non-Linear Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
General Linear Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Model Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Efficiency Calibration Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Using the Efficiency Calibration Phase I Component. . . . . . . . . . . . . . . . . . . . . . 344
xiv
Efficiency Calibration Control Phase I Methods . . . . . . . . . . . . . . . . . . . . . . . . 345
Opening a Datasource. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Closing a Datasource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Deleting A Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Adding A Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Automatic Efficiency Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Adding An Efficiency Calibration Record . . . . . . . . . . . . . . . . . . . . . . . . . 349
Merging Efficiency Calibration Records . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Displaying Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Changing the Energy Display Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Saving Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Listing the Efficiency Point Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Removing Points Associated with a Datasource Identifier . . . . . . . . . . . . . . . . . 353
Efficiency Calibration Control Phase I Properties . . . . . . . . . . . . . . . . . . . . . . . 354
Certificate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Cross Over Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Status Severity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Retrieving Status Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Number of Calibration Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Modify State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Activating/Deactivating Edits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Efficiency Calibration Control Phase I Events . . . . . . . . . . . . . . . . . . . . . . . . . 358
Processing Asynchronous Message Event . . . . . . . . . . . . . . . . . . . . . . . . . 358
Processing Enable Change Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Processing Cell Selection Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Modified CAM Parameters for Phase I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Exported Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Adding Efficiency Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Merging Efficiency Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
List of Calibration Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Removing Point By Identifier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Using the Efficiency Calibration Phase II Component . . . . . . . . . . . . . . . . . . . . . 362
Efficiency Calibration Control Phase II Data Types . . . . . . . . . . . . . . . . . . . . . . 362
xv
Efficiency Calibration Control Phase II Methods . . . . . . . . . . . . . . . . . . . . . . . . 363
Opening a Datasource. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
Closing a Datasource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Deleting A Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Undeleting A Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Undeleting All Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Aborting a Computation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Changing Axis Limits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Changing the Energy Display Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Changing the Density Display Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Displaying Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Saving Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Efficiency Calibration Control Phase II Properties . . . . . . . . . . . . . . . . . . . . . . . 370
Data Point Colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Model Color. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Low Dual Curve Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Background Color. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Plot Axes And Label Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Cursor Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Cross Over Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Status Severity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Retrieving Status Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Activating/Deactivating Edits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Determining Computation Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Determining the Displayed Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Number of Calibration Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Modify State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Efficiency Calibration Control Phase II Events . . . . . . . . . . . . . . . . . . . . . . . . . 378
Processing Asynchronous Message Event . . . . . . . . . . . . . . . . . . . . . . . . . 378
Processing Equation Change Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Processing Plot Change Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Processing Cursor Change Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
xvi
Exported C Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Multi-Curve Efficiency Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Modified CAM Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Multi-Curve Efficiency Engine UI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Energy Calibration Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Using the Energy Calibration Phase I Component . . . . . . . . . . . . . . . . . . . . . . . 383
Energy Calibration Control Phase I Methods . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Opening a Datasource. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
Closing a Datasource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Adding A Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Deleting A Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Cursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Markers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Automatic Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Detector Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Move ROI Cursors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Saving Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Displaying Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Changing the Energy Display Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Energy Calibration Phase I Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Certificate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
Reference Peak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
Status Severity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Retrieving Status Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Activating/Deactivating Edits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Editing Spreadsheet Calibration Points . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Number of Calibration Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Modify State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Linear/Log Scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Expand On/Off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Display Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
Recalibration Mode On/Off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
xvii
Auto Scale On/Off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Energy Calibration Phase I Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Processing Asynchronous Message Event . . . . . . . . . . . . . . . . . . . . . . . . . 399
Processing Enable Change Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Processing Mvc Cursor Moves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
Processing Cell Selection Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
Processing Computation Completed Event . . . . . . . . . . . . . . . . . . . . . . . . . 401
Modified CAM Parameters for Energy Calibration Phase I . . . . . . . . . . . . . . . . . . 401
Algorithms for Energy Calibration Phase I . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
Using the Energy Calibration Phase II Component . . . . . . . . . . . . . . . . . . . . . . . 402
Energy Calibration Control Phase II Data Types . . . . . . . . . . . . . . . . . . . . . . . . 403
Energy Calibration Control Phase II Methods . . . . . . . . . . . . . . . . . . . . . . . . . 403
Opening a Data Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
Closing a Data Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
Deleting A Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Undeleting A Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Undeleting All Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
Changing Axis Limits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Saving Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Displaying Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Energy Calibration Control Phase II Properties . . . . . . . . . . . . . . . . . . . . . . . . . 408
Calibration Colors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
Background Color. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
Plot Axes And Label Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
Cursor Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
Status Severity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
Retrieving Status Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
Activating/Deactivating Edits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
Determining Computation Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
Privilege. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
Number of Calibration Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
Modify State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
xviii
Energy Calibration Control Phase II Events . . . . . . . . . . . . . . . . . . . . . . . . . . 414
Processing Asynchronous Message Event . . . . . . . . . . . . . . . . . . . . . . . . . 414
Processing Computation Completed Event . . . . . . . . . . . . . . . . . . . . . . . . . 415
Modified CAM Parameters for Phase II . . . . . . . . . . . . . . . . . . . . . . . . . . 415
CAM Dialog Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
CAM Dialog Control Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
CAM Dialog Control Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
Open Datasource Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
Open ROI File Dialog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
Calibration File Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
Certificate Open Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
Nuclide Library Open Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
Save As Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
Adjust Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
Adjust Control Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
Setting a Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
Closing the Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
Checking for Busy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
Changes in the Adjust Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
Adjust Control Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
Status Severity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
Retrieving Status Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
Sequence Analyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
SequenceAnalyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
Analysis Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
Reporter Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
Clearing the View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
Copy the selected text to the clipboard . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
Copy all the text to the clipboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
Viewing a text file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
xix
Viewing an RTF file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
Saving the Report Contents as a Text File . . . . . . . . . . . . . . . . . . . . . . . . . 439
Saving the Report Contents as an RTF File. . . . . . . . . . . . . . . . . . . . . . . . . 440
Executing a Genie 2000 Report Template . . . . . . . . . . . . . . . . . . . . . . . . . 440
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
Reporter Viewer Extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
Reporter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
xx
MCS Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
Input Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
Saving the Input Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
Changing the Summary View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
Editing an MCA Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
Viewing the File Details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
Editing the Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
The New Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
The Input Definition Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
Using MCA Definition Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
Viewing the Current Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
Loading and Unloading Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
Loading the Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
Unloading the Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
xxi
Common Tabular Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
High Voltage Power Supply Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 490
Amplifier Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
Gain Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
Filter Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
Digital Spectrum Stabilizer Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
Loss-Free-Counting Module Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 496
MCS/MSS Module Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
Multiplexer Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
ADC Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
Multichannel Analyzer Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
Energy Calibration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
Peak Shape Calibration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
Special Purpose Calibration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 501
Pulse Pileup Calibration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
Reference Peak Correction Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
User Spare Acquisition Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
Alternate Linear Energy Calibration Parameters . . . . . . . . . . . . . . . . . . . . . . 502
Vacuum Device Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
MGAU Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
Miscellaneous Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
Record Tabular Entry Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
Sample Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
Plant/Site Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
Air Sampling Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
WBC-Related Sample Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
Waste Assay Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
User Spare Sample Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
Alpha Analyst Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
Sample Flags Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
Geometry Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
xxii
WBC and Lung Counter Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
Empirical Efficiency Model Calibration Parameters . . . . . . . . . . . . . . . . . . . . 511
Alpha Spectroscopy Efficiency Calibration Parameters . . . . . . . . . . . . . . . . . . 512
Dual Polynomial Efficiency Model Calibration Parameters . . . . . . . . . . . . . . . . 512
Linear Efficiency Model Calibration Parameters . . . . . . . . . . . . . . . . . . . . . . 513
User Spare Geometry Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
Record Tabular Entry Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
Processing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
Peak Search Processing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
Hypermet Peak Search Processing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 521
Singlet Peak Search Processing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
Alpha Peak Search Processing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
ROI Peak Search Processing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
Gamma-M Peak Search Processing Parameters. . . . . . . . . . . . . . . . . . . . . . . . . 522
Calibration Processing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
Alpha-M Processing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
MGA Processing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
Nuclide ID Processing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
WBC-Specific Processing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
Interactive Peak Search Processing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 526
User Spare Processing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
Reference Peak Processing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
Neutron Analysis Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
Coincidence Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
Multiplicity Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
Automated Waste Analysis Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
Waste Assay Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
Miscellaneous Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
Action Level Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
Shift/Sum Processing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
Non-Uniformity Detection Analysis Parameters . . . . . . . . . . . . . . . . . . . . . . . . 531
K-Edge Processing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
Self-Absorption Correction Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
TMU Analysis Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
xxiii
General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
Gamma TMU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
Passive Neutron TMU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
DDA TMU Analysis Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
DDA Processing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
TGS Processing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
Collimator and Geometry Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
Analysis Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
Library Correlation Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
Display Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
User Spare Display Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
MPA Display Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
Record Tabular Entry Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
Peak Search Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
User Spare Peak Search Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
More Peak Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
Record Tabular Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
Certificate Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
Energy/FWHM Calibration Results Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
Shape Calibration Results Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
Nuclide Library and Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
Nuclide Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
Record parameter (per nuclide) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
xxiv
NAA-Specific Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
WBC Counting Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
Record Parameters (All Applications) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
User Spare Nuclide Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
NAA-Specific Nuclide Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
WBC Nuclide Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
Record Tabular Entry Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
Energy Line Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
User Spare Energy Line Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
NAA Specific Energy Line Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
Interfering Nuclide List Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
Interference Specific Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
Interfering Nuclide Results Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
NAA Run Descriptor Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
NaI (Alpha-M) Standard File Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
Scanning WBC Setup Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
Security Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
Analysis Control Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
QA Parameter Definition Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
QA Results Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585
Tabular Entry Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586
MGA Results Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
xxv
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
Neutron Acquisition and Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592
General Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592
Filter Engine Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
Measurement Correction Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
Standard Coincidence Analysis Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597
Multiplicity Analysis Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598
Waste Analysis Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
Ones Rate Analysis Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600
Cosmic Ray Rejection Analysis Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600
Cm/Cf Analysis Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601
Coincidence Collar Analysis Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601
Active Multiplicity Analysis Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602
Neutron Declaration Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
Neutron Detector Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606
Neutron Sample-Dependent Detector Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
General Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608
Multiplication-Corrected Reals 240Pu Calibration. . . . . . . . . . . . . . . . . . . . . . . . 610
Non-Multiplication-Corrected Reals 240Pu Calibration . . . . . . . . . . . . . . . . . . . . . 610
240
Pu Calibration (Power Function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611
Non-Multiplication-Corrected Reals 240Pu Calibration (Exponential Function) . . . . . . . . 612
Non-Multiplication-Corrected Reals 240Pu Calibration (Rational Function) . . . . . . . . . . 612
Non-Multiplication-Corrected Totals 240Pu Calibration . . . . . . . . . . . . . . . . . . . . 612
Multiplication-Corrected Doubles 240Pu Calibration . . . . . . . . . . . . . . . . . . . . . . 613
Multiplicity Ones Rate 240Pu Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
Non-Truncated Multiplicity 240Pu Calibration . . . . . . . . . . . . . . . . . . . . . . . . . 613
Truncated Multiplicity 240Pu Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614
Truncated Multiplicity Spallation Calibration . . . . . . . . . . . . . . . . . . . . . . . . . 614
Non-Truncated Multiplicity Cm/Cf Calibration. . . . . . . . . . . . . . . . . . . . . . . . . 615
xxvi
DDA Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
Neutron Sample Processing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
DDA Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
Shuffler Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
Attenuation Correction Calibration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 622
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
Absorption Measurement Calibration/Result Parameters . . . . . . . . . . . . . . . . . . . . . . 623
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
Differential Peak Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
Transmission Correction Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
Differential Peak Absorption Correction Calibration / Results . . . . . . . . . . . . . . . . . . . 626
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627
Safeguards Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
DAS Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
HDC Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
AMP Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
EMP Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
UIP Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
Neutron Analysis Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
DAS Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
EMP Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
ASDEM Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632
Neutron Detector Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633
Neutron Analysis Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633
Generic Flags Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633
Special Uses Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
xxvii
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
MCS Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
K-Edge Calibration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
K-Edge Analysis Results Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
Neutron Multiplicity Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
Record Tabular Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
Add-a-Source Calibration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
ASTM Mass Calibration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
Record Tabular Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
Peak-to-Total Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
Coincidence Summing Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
Record parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
Coincidence Summing Chain Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
Record parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
Passive Neutron TMU Analysis Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650
Gamma TMU Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652
Multi-Modality Results Combination Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 653
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654
Differential Dieaway Analysis Results Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 655
xxviii
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
Record Tabular Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
Differential Dieaway TMU Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
TGS ROI Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
TGS ROI Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661
Voxel Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
Record Tabular Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
NIT Calibration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663
Record Tabular Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664
Shuffler Assay Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665
Record Tabular Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665
Datasource Name List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
Record Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
Hydrogen Correction Calibration/Results Parameters . . . . . . . . . . . . . . . . . . . . . . . . 666
Common Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
xxix
Common 61 ‘xxxx’ codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671
Common E8 ‘xxxx’ codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674
Geometry Composer Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675
Report Module Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686
QA Routine Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
MID Editor Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
Input Datasource Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688
Open/Verify Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688
Operational Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 751
xxx
1. Installation and Setup
Note: The format and contents of the screens shown in this chapter are operating sys-
tem dependent. You should use these screens as references only.
1. If you are installing this software as an upgrade from a previous version, make
sure that no Genie 2000 software programs, such as the VDM, are running.
2. Put the CD-ROM labeled “Genie 2000 Programming Library Software - Disk 1
of n” into your CD-ROM drive.
x:\setup
5. After pressing Next, you will be given a choice between installing “Genie 2000
Runtime Files Only” or “Programming Library and Genie-2000 Runtime Files”
(this is the default). If the installation is being performed simply to allow
execution of a program developed with this package, then you should select the
first option.
7. If the S560 installation was used to set up a Genie 2000 runtime environment,
there are a few additional items that may require further installation/setup:
• Installing TCP/IP Network Components; please refer to page 2.
• Installing AIM Device Drivers; please refer to page 17.
Installation and Setup
Note Files are installed only if the target system contains either an installation of
Genie 2000 V1.4 or later, or no Genie 2000 software at all. Genie 2000 V1.3
and earlier do not fully support the S560 package. If one of these earlier ver-
sions is present, the S560 runtime files will not be installed.
Documentation
The Programming Library User’s Manual is located on the CD-ROM Distribution. This
manual will automatically be installed if other Genie 2000 documents are resident on the
target system.
Note: Genie-2000 assumes that a network interface is installed in the local PC. If you
do not have a network interface in a Windows 2000 or Windows XP PC, refer
to the procedures in “Non-Network VDM Configuration” on page .
If you see TCP/IP in the Configuration list (Figure 1), it is installed and no
further action is required. Click on Cancel to exit the Network window without
making any changes.
2
Installing TCP/IP Network Components
2. Only two network components require installation for Genie 2000. First, a
network adapter must be added. If your computer does not contain a network
adapter card, then an MS Loopback Adapter must be added. Click on the
Adapters notebook tab (this brings up the Network Adapters selection page);
click on the Add button to bring up the dialog in Figure 2.
3
Installation and Setup
Select the appropriate vendor and network adapter card to match the one in your
machine. If none is present, then select the MS Loopback Adapter entry in the
Network Adapters list. Choose OK to add the selected adapter. You will be
prompted for your Windows NT/2000/XP installation disks (CD-ROM) in order
to copy the required files for the selected network adapter (note that on some
pre-loaded systems, the Windows NT/2000/XP distribution is installed on the
hard disk partition containing Windows NT/2000/XP).
3. It is now time to add the TCP/IP protocol. Select the Protocols notebook tab on
the Network Settings screen and press the Add button to bring up the Select
Network Component Protocol dialog (Figure 3).
Highlight the TCP/IP Protocol from the Network Protocol list and press OK to
add. You will be prompted for your Windows NT/2000/XP installation disks
(CD-ROM) in order to copy the required files for the selected network adapter
(note that on some pre-loaded systems, the Windows NT/2000/XP distribution is
installed on the hard disk partition containing Windows NT/2000/XP).
4. If remote VDM access is required, then proceed to ”Additional Setup Steps for
Remote VDM Access” on page 5.
5. Press the Close pushbutton to exit the Network setting dialog. At this time you
will be prompted (via a dialog shown in Figure 4) for setup of TCP/IP
properties.
On this dialog, an IP address and subnet mask must be specified. Since the
loopback adapter has been selected (i.e. restricting TCP/IP communications to
local only), then any legal IP address and subnet mask may be specified (e.g.
200.200.200.1 for IP address and a subnet mask of 255.255.255.0). Note that
with this type of setup, Genie 2000 will use the standard loopback IP address,
4
Installing TCP/IP Network Components
127.0.0.1, and not the one specified in this dialog. Press OK to complete the
setup.
6. When all required files have been copied and the installation is complete, you
will be reminded to reboot your system to complete the installation process and
will be given the option of restarting your computer immediately.
1. The name of this computer must be defined via the Network Settings applet. To
do this, click on the Identification notebook tab which brings up a dialog box.
Click the Change button to enter the Computer Name (Figure 5), which must be
unique and is limited to 8 characters, maximum. It can include letters, numbers,
hyphens and underlines (spaces are not allowed).
5
Installation and Setup
The Workgroup field is not used by Genie 2000. It is typically used in a larger
network to help partition it and its users into logical domains.
6
Installing TCP/IP Network Components
2. Click the Close button to exit the Network setting dialog. You’ll be prompted
(via the dialog in Figure 6) to set up the TCP/IP properties.
An IP address must be defined for this computer so it can be associated with the
previously entered computer name (this is how computers and applications
communicate with each other using TCP/IP; the computer name is translated
into an IP address). Either select the “Specify an IP address” radio button and
enter in a valid IP address and subnet mask (e.g. IP address of 200.200.200.1
and a subnet mask of 255.255.255.0) or select the “Obtain an IP address
automatically” radio button if this computer resides on a network that uses
TCP/IP and employs dynamic IP addressing.
3. When all required files have been copied and the installation is complete, you
will be reminded to reboot your system to complete the installation process and
will be given the option of restarting your computer immediately. Select No to
the restart computer question since some additional setup steps are still required.
7
Installation and Setup
4. The Genie 2000 Network Configuration File (as pointed to by the environment
variable CINETCFG; typically named G2K_VDM.NCF) must be edited as
follows:
Edit the first line of this file to remove the text LOCAL as shown below (this
indicates that the computer name/IP address information is defined via the
network settings information and not defaulted to Local / 127.0.0.1):
Original:
1 -\local
1B-\pipe\datasrce
1C-\pipe\configur
Edited:
1 -\
1B-\pipe\datasrce
1C-\pipe\configur
If access to another computers VDM is required from this computer, perform the
following steps:
1. The Genie 2000 Network Configuration File (as pointed to by the environment
variable CINETCFG) must be edited as follows:
Edit additional lines (after the first three lines) into the file as follows (this
example assumes a remote computer name of NODE1):
Original:
1 -\local
1B-\pipe\datasrce
1C-\pipe\configur
Edited:
1 -\
1B-\pipe\datasrce
1C-\pipe\configur
1M-\\node1\pipe\datasrce
1C-\\node1\pipe\configur
8
Installing TCP/IP Network Components
2. Assuming your network does not use DNS, WINS or dynamic IP addressing,
then one additional Windows NT/2000/XP TCP/IP file requires editing in order
for this computer to resolve the remote computer name to an IP address. This
file is named HOSTS and must be located in the
WINNT\SYSTEM32\DRIVERS\ETC directory. A sample file named HOSTS,
located in the aforementioned directory, can be used as the template for creating
this file. Computer name and IP address entries must be made to this file so this
computer can access the remote computer running the VDM. An example file is
shown below with edits for the remote computer name NODE1.
127.0.0.1 localhost
200.200.200.5 node1 # Node 1 IP address
9
Installation and Setup
If a Dialup Adapter is used for binding the TCP/IP protocol stack, it is possible that your
Windows system is set up to “Connect to the Internet as needed”. This feature will
10
Non-Network VDM Configuration
instruct the system to prompt you for an Internet connection whenever a Genie 2000
client application connects to the VDM.
To disable this behavior, bring up the Internet settings applet from within the Control
Panel. Use the Connections notebook tab (as shown in Figure 7) and uncheck the
checkbox labeled “Connect to the Internet as needed”; click on OK to save this settings
change.
Windows-2000 Setup
This procedure supercedes the TCPIP configuration procedure for Windows-2000 instal-
lations that do not contain a network adapter.
Communication to the Virtual Data Manager (VDM) is performed using the TCPIP net-
work protocol stack. With Windows-2000 installations, the configuration of this protocol
differs somewhat from the Windows-NT installations when network adapter is not resi-
dent in the computer. Follow the steps outlined below to configure the TCPIP protocol
stack.
11
Installation and Setup
4. Double click on “Make New Connection”. This will launch the Network
Connection Wizard. Click on Next to continue
12
Non-Network VDM Configuration
6. Select Do Not Dial the Initial Connection as shown in Figure 9. Click on Next.
13
Installation and Setup
Windows-XP Setup
This procedure supercedes the TCPIP configuration procedure for Windows-XP installa-
tions that do not contain a network adapter.
Communication to the Virtual Data Manager (VDM) is performed using the TCPIP net-
work protocol stack. With Windows-2000 installations, the configuration of this protocol
differs somewhat from the Windows-NT installations when network adapter is not resi-
dent in the computer. Follow the steps outlined below to configure the TCPIP protocol
stack.
4. This will launch the New Network Connection Wizard. Click Next to continue.
5. Select “Setup and Advanced Network Connection” as shown in Figure 11. Click
on Next.
14
Non-Network VDM Configuration
15
Installation and Setup
8. Select all users you wish to have access rights to the network. At a minimum,
the Local Administrator must have network rights assigned. Click on Next.
9. Add the network protocols to the network. TCPIP must be added at this time if
not already in the protocol list. See Figure 14. Click on Next.
16
Installing AIM Device Drivers
12. Click Next and restart your system. When the system is restarted, verify the
VDM starts correctly by simply opening a hardware or software datasource
For CD-ROM distributions, the following table shows the CD-ROM location of the AIM
drivers for each operating system.
CD-ROM Operating
Directory System
NT Windows-NT
17
Installation and Setup
2. Click on the Protocols notebook tab and then press the Add button.
4. Make sure the CD is still loaded in the CD-ROM drive. Select the directory
(?:\NT) having the required Windows NT AIM driver, where ? is your
CD-ROM drive.
5. A dialog box will appear having the following entry: Canberra 802.3 SNAP
Protocol Driver V1.0; click OK to accept this protocol.
6. Make sure that the Canberra 802.3 SNAP Protocol is bound to the correct
Ethernet adapter (this is not an issue if you have only one Ethernet adapter in
your computer). If multiple adapters are present, the adapter binding can be
determined from the Bindings dialog. The name of the protocol can be clicked
on which brings up a list of adapters it is bound to. Highlight the adapter(s)
which do not require the Canberra 802.3 protocol driver and click on Disable.
Click on Close to save these new bindings.
7. Exit the Network settings dialog by clicking on OK (follow the prompts for
your Windows distribution and reboot your system.)
1. Launch the Network and Dial-up Connections applet for Windows 2000 or the
Network Connections applet for Windows XP (via the Control Panel).
2. Right click on the Local Area Connection icon and click Properties.
3. Click the Install pushbutton on the Local Area Connection Properties window.
18
Installing AIM Device Drivers
6. Make sure the CD is still loaded in the CD-ROM drive. Click the Browse
pushbutton to select the directory (?:\2000) having the required Windows
2000/XP AIM drivers, where ? is your CD-ROM drive.
7. Click OK.
8. A dialog box will appear having the following entry: Canberra NDIS 5.0 SNAP
Protocol Driver; click OK to accept this protocol.
9. (Insert step 6 of NT Setup here, changing only Canberra 802.3 SNAP Protocol
with Canberra NDIS 5.0 SNAP Protocol in both places)
10. Exit the Local Area Connection Properties dialog by clicking Close (follow the
prompts for your Windows distribution and reboot your system).
19
Programming Library Reference
20
SadFlush Saves datasource changes to the original 35
datasource.
21
Programming Library Reference
The chapter is organized to present the significant concepts, tools and routines in separate
sections.
22
Genie 2000 Software Architecture
The server component, known as the Virtual Data Manager (VDM) provides essential
spectroscopy-related services to its clients. The interface to these services, which include
spectral data file, MCA, and front-end electronics hardware control/access services, ap-
pears to the client as a generic consistent set of APIs (Application Programming Inter-
faces). These APIs define the calling conventions for the programming library routines.
1. A database schema file which defines the format of the CAM datasources.
23
Programming Library Reference
2. A set of programming library routines which access the data in the CAM
datasources, according to the schema file.
Once a CAM datasource is open for access, all read/writes to the datasource are directed
to a memory cache (for performance reasons) which contains the current state of the
datasource. The user of the CAM subsystem must explicitly flush this cache to disk be-
fore closing the datasource in order to preserve all changes made to the datasource during
access.
CAM knows about two kinds of data: parameters and spectral channel data. A parameter
is a single number or text string, such as preset real time or sample title. Each parameter
is assigned a unique symbolic code, by which it can be accessed using the programming
library routines. Using the appropriate routine, a user can read the value of a parameter or
write a new value.
Spectral data is an array of 32-bit integers. Again, using the appropriate routines, a user
can read or write the spectral channels by specifying a start channel and the number of
channels to access.
The different kinds of data which make up a CAM datasource are separated into classes
of information. The data composing each class of information is considered to be rela-
tively independent of the data in other classes. CAM defines four types of parameters that
may exist in any given class. Figure 17 shows a typical CAM data class structure.
24
Configuration Access Method (CAM)
2. Common Tabular: Each common tabular parameter may occur a fixed number
of times per class. To access a common tabular parameter, an entry number must
be specified.
Refer to Appendix A, “CAM File Structure”, for a complete listing of all CAM parame-
ters by class, including each parameter’s symbolic code and a brief description of the pa-
rameter.
25
Programming Library Reference
Include Files
CITYPES.H: Contains definitions for the various data storage declarations
used by the programming library routines.
UTILITY.H: Contains the function prototype definitions for the utility library
routines.
CI_FILES.H: Contains the definitions for the datasource types (i.e. file, hard-
ware) used by SadOpenDataSource.
26
Programming Library Routines Reference
Library Files
OS2WIN32.LIB: The DLL link library that contains support functions used by the
fUtlStrToCAM and fUtlCAMToStr Utility Library routines.
SAD.LIB: The DLL link library that contains the programming library
(SAD) routines. Note that the library file must be placed in a
path that is defined in the system environment variable LIB.
UTILITY.LIB: The object library that contains the utility library routines.
Example Files
EXAMPLE.C: An example C program (described in “Example Program” on
page 74) that demonstrates the proper usage of the programming
library routines.
EXAMPLE.MAK: An example MAKE file that shows the proper compile and link
options that need to be used when developing application pro-
grams that use the programming library routines.
• CSI_Okay: Success. Unless this value is returned, the output parameters for
the routines described below are not defined.
• CSI_Error: Error encountered, use the SadGetStatus routine to return more
detailed information as to what error was generated within the system.
• CSI_NoDSC: An invalid DSC value (see SadCreateDSC) was specified (or in
the case of SadCreateDSC, a DSC could not be created due to memory
allocation problems).
27
Programming Library Reference
Other possible miscellaneous return values are listed with the description of the
programming library routines.
Naming Conventions
The following variable naming conventions (i.e. prefixes) are used throughout the pro-
gramming routines reference sections:
l: long
i: integer
s: short
st: structure
u: union
Every description for the programming routine parameters defines the data storage
definition (in bold type) that should be used when declaring the parameter variables.
28
Programming Library Routines Reference
Calling Convention
sReturn = SadCreateDSC2 ( &stConfig, &hDSC, 0, 0 )
Parameters
stConfig: This input parameter (structure ipcCfg_T as specified in IPC.H)
contains node and pipe name information which defines which
VDM the connection is being requested for. This parameter will
typically be filled in through a call to the SadEnumNodes routine
(see “Enumerate a List of VDMs” on page 31).
Parameters 3 and 4 must be specified as 0; they are reserved for use by the Genie 2000
software.
Operational Notes
If an error status of CSI_Error is returned, the DSC structure has been allocated but an at-
tempt to connect to the specified VDM has failed. Use the SadDeleteDSC routine to
de-allocate the DSC structure after gathering detailed error code information via a call to
SadGetStatus.
Example
ipcCfg_T stConfig;
HMEM hDSC;
SHORT sRC;
•
•
•
sRC = SadCreateDSC2(&stConfig, &hDSC, 0, 0)
Calling Convention
sReturn = SadCreateDSC ( &stConfig, &hDSC, 0, 0 )
29
Programming Library Reference
Parameters
stConfig: This input parameter (structure ipcCfg_T as specified in IPC.H)
contains node and pipe name information which defines which
VDM the connection is being requested for. This parameter will
typically be filled in through a call to the SadEnumNodes routine
(see “Enumerate a List of VDMs” on page 31).
Parameters 3 and 4 must be specified as 0; they are reserved for use by the Genie 2000
software.
Operational Notes
If an error status of CSI_Error is returned, the DSC structure has been allocated but an at-
tempt to connect to the specified VDM has failed. Use the SadDeleteDSC routine to
de-allocate the DSC structure after gathering detailed error code information via a call to
SadGetStatus.
Example
ipcCfg_T stConfig;
HMEM hDSC;
SHORT sRC;
•
•
•
sRC = SadCreateDSC(&stConfig, &hDSC, 0, 0)
Calling Convention
sReturn = SadDeleteDSC ( hDSC )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC).
Operational Notes
If an error status of CSI_Error is returned, the DSC structure was not deleted. Use
SadGetStatus to gather detailed error information as to why.
30
Programming Library Routines Reference
Example
HMEM hDSC;
SHORT sRC;
•
•
•
sRC = SadDeleteDSC(hDSC);
Calling Convention
sReturn = SadGetStatus ( hDSC, &ulError, &sDummy1, &usDummy2 )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC).
ulError: This output parameter will contain the ULONG (32-bit) error
code as returned by this routine.
sDummy1: This output parameter is reserved for use by the Genie 2000 soft-
ware; a valid address of an SHORT must be passed to the rou-
tine for a successful invocation.
usDummy2: This output parameter is reserved for use by the Genie 2000 soft-
ware; a valid address of an USHORT must be passed to the rou-
tine for a successful invocation.
Example
HMEM hDSC;
SHORT sRC, sDum1;
USHORT usDum2;
ULONG ulError;
•
•
•
sRC = SadGetStatus(hDSC),&ulError,&sDum1,&usDum2);
31
Programming Library Reference
Calling Convention
sReturn = SadEnumNodes ( hDSC, &stConfig, &usNo, chType )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC).
For this routine, the DSC will be created by calling
SadCreateDSC with a NULL pointer for the &stConfig parame-
ter.
Operational Notes
The usNo parameter is ordinarily set to 1 before invoking the SadEnumNodes routine for
the first time and is simply passed to each successive call of the routine (i.e. it is automat-
ically incremented and returned by the routine). Note that specifying usNo=0 will return
the name of the local node as defined in the first line of the Network Configuration File.
If successful, the stConfig structure parameter has been filled in. The local VDM defini-
tion is located by checking for an empty stConfig.szNode string.
Example
ipcCfg_T stConfig;
HMEM hDSC;
SHORT sRC;
USHORT usNo = 1;
32
Programming Library Routines Reference
•
•
•
sRC = SadCreateDSC(NULL, &hDSC, 0, 0);
Open a Datasource
This routine is used to open a CAM datasource (i.e. detector input or file). Once a
datasource is open, subsequent datasource-related SAD routine operations may be per-
formed (i.e. read/write parameters).
Calling Convention
sReturn = SadOpenDataSource ( hDSC, szName, usType, fsAccess, fVerify, szShellID )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC).
33
Programming Library Reference
Operational Notes
In order to open a datasource for ACC_AppWrite such that it can be shared with the
MCA View/Control window, the application shell identifier must be defined as the name
of the local node with the process ID of the application’s parent appended to the end (i.e.
LOCAL12 where LOCAL is the local node name and 12 is the process ID of the applica-
tion’s parent).
34
Programming Library Routines Reference
Example
HMEM hDSC;
SHORT sRC;
•
•
•
sRC = SadOpenDataSource(hDSC, "C:\\GENIEPC\\CAMFILES\\NBSSTD.CNF",
CIF_NativeSpect,
ACC_ReadOnly, FALSE, "");
Save a Datasource
These two routines save all data and parameter changes to a datasource. The SadFlush
routine saves to the original datasource while the SadSaveAs routine allows saving to an-
other datasource.
Calling Convention
sReturn = SadFlush ( hDSC )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC). It
is assumed that a datasource has already been opened via
SadOpenDataSource.
Operational Notes
These routines save to, but do not close, the specified datasource(s). Note that the
SadSaveAs routine replaces all data in hOutDSC.
35
Programming Library Reference
If either of the above errors is returned, use the corresponding DSC to query for
additional detailed information via SadGetStatus.
Example
HMEM hDSC, hOutDSC;
SHORT sRC;
•
•
•
sRC = SadFlush(hDSC);
sRC = SadSaveAs(hDSC, hOutDSC);
Close a Datasource
This routine closes the specified datasource.
Calling Convention
sReturn = SadCloseDataSource ( hDSC )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC). It
is assumed that the datasource has been previously opened via
SadOpenDataSource.
Operational Notes
Note that this routine does not save any data that has been cached for the specified
datasource. To save any changes to disk, the application program must issue a SadFlush
call before closing the datasource.
Example
HMEM hDSC;
SHORT sRC;
•
•
•
sRC = SadCloseDataSource(hDSC);
36
Programming Library Routines Reference
Calling Convention
sReturn = SadCreateFile (hDSC, szFile, fOverride, usFType, usAType, usNoChans )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC). If
the hDSC argument is a temporary one (i.e. created using a
NULL first argument to SadCreateDSC), then the file that is cre-
ated will be an “open direct” version.
Operational Notes
Note that this routine does not perform any initialization of CAM parameters (other than
the CAM_L_CHANNELS parameter) within the file. This is the responsibility of the ap-
plication program.
Example
HMEM hDSC;
SHORT sRC;
•
•
•
sRC = SadCreateFile(
37
Programming Library Reference
hDSC, "C:\\GENIEPC\\CAMFILES\\NEWFILE.CNF",
TRUE, CAM_CTYP_ACQD, CAM_CAP_GSPEC, 4096);
Calling Convention
sReturn = SadQueryDSC ( hDSC, usOpcode, &unValue )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC).
Example
HMEM hDSC;
SHORT sRC;
FetchFrom_T stData;
•
•
•
sRC = SadQueryDSC(hDSC, DSC_CurrentMem, &stData);
38
Programming Library Routines Reference
Calling Convention
sReturn = SadQueryCAM ( hDSC, &stQuery, &stResult )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC).
Example
HMEM hDSC;
SHORT sRC;
QueryCAM_T stQuery;
InfoCAM_T stInfo;
•
•
•
strcpy (stQuery.szParamName, "SQUANT");
sRC = SadQueryCAM(hDSC, &stQuery, &stInfo);
39
Programming Library Reference
Calling Convention
sReturn = SadGetSpectrum ( hDSC, usStart, usCount, fFloat, aulData )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC).
aulData: This output parameter will contain the set of spectral data as an
array of REAL or ULONG values based on the parameter
fFloat.
Operational Notes
A limit of 4000 channels can be read at one time.
Example
HMEM hDSC;
SHORT sRC;
ULONG aulChanData[1024];
•
•
•
sRC = SadGetSpectrum(hDSC, 1, 1024, FALSE,
aulChanData);
Calling Convention
sReturn = SadPutSpectrum ( hDSC, usStart, usCount, aulData )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC).
40
Programming Library Routines Reference
aulData: This input parameter contains the set of spectral data to be writ-
ten as an array of ULONG values.
Operational Notes
A limit of 4000 channels can be written at one time.
Example
HMEM hDSC;
SHORT sRC;
ULONG aulChanData[3];
•
•
•
aulChanData[0] = 1000;
aulChanData[1] = 2000;
aulChanData[2] = 3000;
sRC = SadPutSpectrum(hDSC, 100, 3, aulChanData);
Calling Convention
sReturn = SadGetParam ( hDSC, ulParam, usRecord, usEntry, pValue, usSize )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC).
ulParam: This input parameter contains a ULONG value that specifies the
identifier of the CAM parameter value to be read; these identifier
codes are defined in the include file CAMPDEF.H.
41
Programming Library Reference
Example
HMEM hDSC;
SHORT sRC;
REAL rQuant;
•
•
•
sRC = SadGetParam(hDSC, CAM_F_SQUANT, 0, 0, &rQuant, sizeof(REAL));
Calling Convention
sReturn = SadPutParam ( hDSC, ulParam, usRecord, usEntry, pValue, usSize )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC).
ulParam: This input parameter contains a ULONG value that specifies the
identifier of the CAM parameter value to be written; these iden-
tifier codes are defined in the include file CAMPDEF.H.
pValue: This input parameter contains a pointer to the value being writ-
ten (e.g. REAL * for CAM_F parameters, LONG * for CAM_L
parameters, etc.).
42
Programming Library Routines Reference
Operational Notes
A write to a record number (or entry number) that is 1 greater than last record (or entry)
is considered an append operation. Note that some tables are fixed-length and cannot be
expanded; the number of possible entries can be obtained via a call to SadEntryCount.
Example
HMEM hDSC;
SHORT sRC;
REAL rQuant;
•
•
•
rQuant = 11.11;
sRC = SadPutParam(hDSC, CAM_F_SQUANT, 0, 0, &rQuant, sizeof(REAL));
Calling Convention
sReturn = SadGetArray ( hDSC, &stParam, usRecord, usEntry, pValue,
usCount, fsFlags )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC).
43
Programming Library Reference
Example
HMEM hDSC;
SHORT sRC;
ListOfCAM_T stROIStart;
ULONG aulStart[16];
•
•
•
stROIStart.ulParam = CAM_L_RGNSTART;
stROIStart.usSize = sizeof(ULONG);
stROIStart.usPCV = 0;
sRC = SadGetArray(hDSC, &stROIStart, 1, 1, aulStart, 16, 0);
Calling Convention
sReturn = SadPutArray ( hDSC, &stParam, usRecord, usEntry, pValue, usCount, fsFlags )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC).
44
Programming Library Routines Reference
Example
HMEM hDSC;
SHORT sRC;
ListOfCAM_T stROIType;
ULONG aulType[16];
•
•
•
stROIStart.ulParam = CAM_L_RGNSTART;
stROIStart.usSize = sizeof(ULONG);
stROIStart.usPCV = 0;
aulType[0] = 1;
•
•
•
aulType[15] = 1;
sRC = SadPutArray(hDSC, &stROIType, 1, 0, aulType, 16, 0);
45
Programming Library Reference
Calling Convention
sReturn = SadGetListCAM ( hDSC, usRecord, usEntry, usCount,
usBytesPer, astParam, pvData )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC).
Example
HMEM hDSC;
46
Programming Library Routines Reference
SHORT sRC;
static ListOfCAM_T astParams[2] = {
{ CAM_X_EREAL, 0, 0 },
{ CAM_X_ELIVE, 0, 0 }
};
DOUBLE adTimes[2];
•
•
•
sRC = SadGetListCAM(hDSC, 1, 0, 2, sizeof(DOUBLE), astParams, adTimes);
Calling Convention
sReturn = SadPutListCAM ( hDSC, usRecord, usEntry, usCount, usBytesPer, astParam,
pvData )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC).
47
Programming Library Reference
Example
HMEM hDSC;
SHORT sRC;
static ListOfCAM_T astParams[2] = {
{ CAM_X_EREAL, 0, 0 },
{ CAM_X_ELIVE, 0, 0 }
};
DOUBLE adTimes[2];
•
•
•
adTimes[0] = 4000.0;
adTimes[1] = 4020.0;
sRC = SadPutListCAM(hDSC, 1, 0, 2, sizeof(DOUBLE),
astParams, adTimes);
Calling Convention
sReturn = SadGetStruct( hDSC, usSet, usRecord, usEntry, pvData, usSize )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC2).
48
Programming Library Routines Reference
Example
HMEM hDSC;
SHORT sRC;
Preset_T stPSet;
•
•
•
sRC = SadGetStruct(hDSC, WST_SetPreset, 1, 1, &stPSet, sizeof(Preset_T));
Calling Convention
sReturn = SadPutStruct ( hDSC, usSet, usRecord, usEntry, pvData, usSize )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC2).
Example
HMEM hDSC;
49
Programming Library Reference
SHORT sRC;
Preset_T stPSet;
•
•
•
FillMemory(&stPSet, sizeof(Preset_T), ‘\0’ );
/* 30 second livetime preset */
stPSet.flPsetMode = CAM_M_PMOD_LIVE;
stPSet.unTime.dPsetTime = 30.0;
sRC = SadPutStruct(hDSC, WST_SetPreset, 1, 1, &stPSet, sizeof(Preset_T));
ULONG ulSweeps;
};
typedef struct {
long flPsetMode;
union pset_U unTime;
double dPsetComp;
} Preset_T;
The preset can be set as a time preset or a computational preset or a combination of the
two. It can also be set as a number of MCS sweeps; in this case both time and
computational presets are not allowed. The preset mode is determined by the
combination of bits set in the flPsetMode member of the Preset_T structure. The
following are valid bit definitions and their meanings:
50
Programming Library Routines Reference
For an example of setting presets, see the file EXAMPLE2.C in the S560 directory.
Calling Convention
sReturn = SadCalculate ( hDSC, &stROI, &stValue )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC).
Operational Notes
The usBkgndChns and rSigma values will not be used; these values are read from the
datasource. The calculated values centroid, area, area uncertainty, FWHM, FWTM and
Gaussian ratio are computed only when the size of the ROI meets the following criteria:
51
Programming Library Reference
Example
HMEM hDSC;
SHORT sRC;
CalcParam_T stCalc;
CalcValue_T stValues;
•
•
•
stCalc.usStart = 100;
stCalc.usStop = 200;
stCalc.usBkgndChns = 4;
stCalc.rSigma = 1.0;
sRC = SadCalculate(hDSC, &stCalc, &stValues);
Calling Convention
sReturn = SadClassCount ( hDSC, usClass, &usCount )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC).
usCount: This output parameter will contain a USHORT value that is the
count of records for the specified class.
52
Programming Library Routines Reference
Example
HMEM hDSC;
SHORT sRC;
USHORT usCount;
•
•
•
sRC = SadClassCount(hDSC, HIUSHORT(CAM_L_RGNEND), &usCount);
Calling Convention
sReturn = SadEntryCount ( hDSC, ulParam, usRecord, &usCount )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC).
ulParam: This input parameter contains a ULONG value that specifies the
CAM parameter identifier; these identifier codes are defined in
the include file CAMPDEF.H.
usCount: This output parameter will contain a USHORT value that is the
count of entries for the specified record.
Example
HMEM hDSC;
SHORT sRC;
USHORT usCount;
•
•
•
sRC = SadEntryCount(hDSC, CAM_L_NCLLINE, 1, &usCount);
53
Programming Library Reference
Calling Convention
sReturn = SadInsertOne ( hDSC, usClass, usRecord, usEntry )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC).
Example
HMEM hDSC;
SHORT sRC;
•
•
•
sRC = SadInsertOne(HDSC,HIUSHORT(CAM_T_NCLNAME),1, 0);
54
Programming Library Routines Reference
Calling Convention
sReturn = SadDeleteOne ( hDSC, usClass, usRecord, usEntry )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC).
Example
HMEM hDSC;
SHORT sRC;
55
Programming Library Reference
•
•
•
sRC = SadDeleteOne(hDSC,
HIUSHORT(CAM_T_NCLNAME),
1, 0);
Calling Convention
sReturn = SadSetCurrent ( hDSC, usMember, usCase )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC).
Example
HMEM hDSC;
SHORT sRC;
•
•
•
sRC = SadSetCurrent(hDSC, 1, 0);
Calling Convention
sReturn = SadControlDSC ( hDSC, usDevice, usOpCode )
56
Programming Library Routines Reference
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC).
Example
HMEM hDSC;
SHORT sRC;
•
•
•
sRC = SadControlDSC(hDSC, MCA, CTL_StartAcq);
Calling Convention
sReturn = SadClassCopy ( hInpDSC, hOutDSC, usClass )
57
Programming Library Reference
Parameters
hInpDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC)
and is considered the input datasource (i.e. this is where the class
of data is read from). It is assumed that a datasource has been
previously opened via SadOpenDataSource.
Operational Notes
Additional error returns:
If the above error is returned, use the corresponding DSC to query for additional detailed
information via SadGetStatus.
Example
HMEM hDSC, hOutDSC;
SHORT sRC;
•
•
•
sRC = SadClassCopy(hDSC, hOutDSC, HIUSHORT(CAM_T_NCLNAME));
Calling Convention
sReturn = SadFindRecord ( hDSC, usSearch, pMatchObject,
usStart, pusRecord, pfFound )
58
Programming Library Routines Reference
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC).
usSearch: This input parameter contains a USHORT value that defines the
type of CAM record to be searched. Legal values (as defined in
Sad_NEST.H) include:
59
Programming Library Reference
pusRecord: This output parameter will contain a USHORT value that repre-
sents the record number containing the matching data. Note that
if an exact match is not found (see pfFound parameter below),
the record number returned will be the one containing the data
which is the closest greater value as compared to the specified
match criteria. If the object being searched for is greater than any
contained in any records, an error return is generated.
pfFound: This output parameter will contain a FLAG value that indicates
whether or not a match was found. A value of TRUE (or 1) indi-
cates that an exact match was found; a value of FALSE (or 0) in-
dicates that no exact match was found.
Example
HMEM hDSC;
SHORT sRC;
USHORT usRecord;
OjEnergy_T stPeak;
FLAG fFound;
•
•
•
stPeak.rEnergy = 661.0;
stPeak.rToler = 1.0;
sRC = SadFindRecord(hDSC, SEEK_Peak, &stPeak, 1, &usRecord, &fFound);
Calling Convention
sReturn = SadCopyRecord ( hInpDSC, usClass, usIRecord, hOutDSC, usORecord,
fDelete )
Parameters
hInpDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC)
and is considered the input datasource (i.e. this is where data re-
cord is read from). It is assumed that a datasource has been pre-
viously opened via SadOpenDataSource.
60
Programming Library Routines Reference
Operational Notes
If the hOutDSC parameter is specified as zero, then the copy will be performed to the
specified record on the input datasource (as specified by the hInpDSC parameter).
Example
HMEM hDSC, hOutDSC;
SHORT sRC;
•
•
•
sRC = SadCopyRecord(hDSC, HIUSHORT(CAM_T_NCLNAME),
1, hOutDSC, 1, FALSE);
Calling Convention
sReturn = SadQueryDataSource ( hDSC, usOpCode, &unValue )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC). It
is assumed that a datasource has been previously opened via
SadOpenDataSource.
61
Programming Library Reference
Example
HMEM hDSC;
SHORT sRC;
DSQuery_T stInfo;
•
•
•
sRC = SadQueryDataSource(hDSC, DSQ_Status, &stInfo);
62
Programming Library Routines Reference
Calling Convention
sReturn = SadOpenICB( HMEM hDSC, char *szDSName, USHORT usICBAddr,
SHORT fsAccess, char *szShellID )
Parameters
hDSC This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC).
63
Programming Library Reference
Example
SadOpenICB( hDSC, "DET:DET03", ACC_ReadOnly, "" );
Calling Convention
SadInfoICB( HMEM, hDSC, InfoICB_T *pstData )
Parameters
hDSC This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC). It
is assumed that the datasource has been previously opened via
SadOpenICB.
Value Model
1 554
3 9641
4 9645
5 9633
6 9635
7 9615
Example
HMEM hDSC;
InfoICB-T stInfo
sRC = SadInfoICB( hDSC, &stInfo );
Calling Convention
SadPutICB( HMEM hDSC, BYTE bRegister, BYTE bData )
64
Programming Library Routines Reference
Parameters
hDSC This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC). It
is assumed that the datasource has been previously opened via
SadOpenICB.
bRegister This input parameter is a BYTE value which represents the num-
ber of the ICB register that is to be written to. For most devices
its value must be 1 through 16.
Example
SadPutICB ( hDSC, 7, 128 )
Calling Convention
SadGetICB( HMEM hDSC, BYTE bRegister, BYTE *pbData )
Parameters
hDSC This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC). It
is assumed that the datasource has been previously opened via
SadOpenICB.
bRegister This input parameter is a BYTE value which represents the num-
ber of the ICB register that is to be read from. For most devices
its value must be 1 through 16.
pbData This parameter is a pointer to the place where the value that was
read from the register is to be stored.
Example
SadGetICB( hDSC, 9, &bRegNine )
Create a Block
This routine creates a ‘block’ of a given class on the file which is currently open for
read-write on that hDSC. It has two likely uses: To remove an existing user-format block
and to override the default size of the first block of a ‘standard’ class.
Actual user-format blocks cannot be created with this function, they will be created auto-
matically when writing to the datasource with SadWriteUFBlock (Page 67).
65
Programming Library Reference
Calling Convention
sReturn = SadCreateBlock( hDSC, usClass, ulBytes, flFlags )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC).
Example
sRC = SadCreateBlock( hDSC, 16401, 8000, 0 );
Read a Block
This routine reads back any data that was written to a CAM file by a call to
SadWriteUFBlock (page 67). Note that usBytes and ulOffset have to be multiples of 512.
At most, 15872 bytes can be read with one call.
Calling Convention
sReturn = SadReadUFBlock( hDSC, usClass, ulOffset, pvData, usBytes,
flFlags, pusAct )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC).
ulOffset This parameter is a ULONG denoting how far into the block that
the read is to start.
pvData This parameter is a pointer to the place where the data which is
read from that class will be stored.
usBytes This parameter is the count of bytes to be read. Note that pvData
must point to memory of at least that many bytes.
66
Programming Library Routines Reference
pusAct This parameter is the address of a USHORT that will receive the
count of bytes actually read, in case that block with that offset
has fewer bytes available than requested.
Example
sRC = SadReadUFBlock( hDSC, 16401, 0, &abData[0], 8000, 0, &usActual);
Write a Block
This routine writes arbitrary data of (nearly) arbitrary size to any block of the CAM file.
Note that the write must be done in multiples of 512 bytes. It is currently limited to
3E00H (1587210) bytes in any one call.
When writing a user-format block to a datasource that already contains a block, the sizes
must match. A problem will occur when writing chunks of data to a user-format block.
It’s not likely that the chunk size will be the same as the user-format block size. Should
this case arise, you should clear the user-format block first using the SadCreateBlock
command (Page 65).
Calling Convention
sReturn = SadWriteUFBlock( hDSC, usClass, pvData, usBytes, flFlags )
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC).
Example
sRC = SadWriteUFBlock( hDSC, 16401, abData, 8000, 0 );
67
Programming Library Reference
Calling Convention
iReturn = iUtlCreateFileDSC ( &hDSC, 0, 0 )
Parameters
hDSC: This output parameter will contain a handle (HMEM as defined
in SPASST.H) to a DSC as created by this routine.
Parameters 2 and 3 must be specified as 0; they are reserved for use by the Genie 2000
software.
Operational Notes
The hDSC parameter is defined only if a value of 0 is returned. All other returns are con-
sidered fatal errors.
Example
HMEM hDSC;
INT iReturn;
•
•
•
iReturn = iUtlCreateFileDSC( &hDSC, 0, 0 );
Calling Convention
fReturn = fUtlTimeNow ( &dCAMTime )
68
Utility Library Routines Reference
Parameters
dCAMTime: This output parameter contains a DOUBLE value that represents
the CAM time value for the current system date/time.
Return Values
A value of FALSE (or 0) indicates success; a value of TRUE (or 1) indicates that an error
occurred in converting the current system date/time.
Example
DOUBLE dCAMTime;
FLAG fReturn;
•
•
•
fReturn = fUtlTimeNow( &dCAMTime );
Calling Convention
fReturn = fUtlCTimeToCAM ( pstCTime, &dCAMTime )
Parameters
pstCTime: This parameter contains a pointer to the C time structure tm (de-
fined in TIME.H).
Return Values
A value of FALSE (or 0) indicates success; a value of TRUE (or 1) indicates that an error
occurred in converting the date/time value.
Exampl
DOUBLE dCAMTime;
struct tm stCTime;
FLAG fReturn;
69
Programming Library Reference
•
•
•
fReturn = fUtlCTimeToCAM(&stCTime, &dCAMTime);
Calling Convention
fReturn = fUtlStrToCAM ( szDate, szTime, &dCAMTime, szFmt )
Parameters
szDate: This parameter contains a null-terminated string (i.e. PSZ)
which represents the ASCII date string (9 chars. including
NULL). Note that this must conform to the format defined in the
Control Panel’s Regional Settings.
Return Values
A value of FALSE (or 0) indicates success; a value of TRUE (or 1) indicates that an error
occurred in converting the date/time value.
70
Analysis Engine Requirements
Example
DOUBLE dCAMTime;
CHAR szDate[9], szTime[12], szFmt[24];
FLAG fReturn;
•
•
•
fReturn = fUtlStrToCAM(szDate, szTime, &dCAMTime, szFmt);
Calling Convention
vG2KEnv()
Parameters
None
Return Values
None
Example
/* Set Environment from the registry */
vG2KEnv();
71
Programming Library Reference
2. The engine setup screen, which allows the user to enter/modify the setup
parameters the analysis engine requires. The engine setup screen requires
WIN32 programming in order to construct the dialog function and resource file
which defines the setup screen format.
The analysis engines are built as Windows Dynamically Linked Libraries (DLLs), which
are loaded by the applications only when needed. All communication with the engine or
its setup screen is via calling arguments and/or CAM parameters. One of the arguments is
an hDSC (see “Programming Library Routines Reference” on page 27). The hDSC refers
to the datasource where the setup parameters and input data reside and where the results
get written to (one exception to this are the report engines, which produce output to an
ASCII file).
Refer to the section on Analysis Engine Files in the “Genie 2000 Configuration” chapter
of the Genie 2000 Operations Manual for a detailed description of how to make an anal-
ysis engine file known to the Genie 2000 software environment.
Calling Convention
long lEngine (hDSC, usStep, *pv1, *pv2);
Parameters
hDSC: This input parameter contains a handle (HMEM as defined in
SPASST.H) to a DSC (as created by a call to SadCreateDSC). It
is assumed that a datasource has been previously opened via
SadOpenDataSource.
pv1: This output parameter will contain a ULONG error return which
provides detailed information whenever an engine encounters
ANA_BadSetupData, ANA_BadExpData, or
ANA_BadSmpData errors. Refer to ANADEFS.H for legal val-
ues for this error return. If this pointer is defined as NULL, then
the analysis engine must NOT store any values here.
72
Analysis Engine Requirements
Return Values
Refer to the include file ANADEFS.H for a list of currently supported return codes; 0 in-
dicates successful completion.
Calling Convention
long lEngineSetup ( hMod, hWndFrom, hWndFrame, hDSC, usStep, *pfExecute)
Parameters
hMod: This input parameter contains a HMOD value which specifies
the module handle of the dialog resource file.
Return Values
The return value from the setup screen should be TRUE (or 1) if via the OK or
EXECUTE buttons, and FALSE (or 0) if via CANCEL.
73
Programming Library Reference
Example Programs
This section lists and explains the example source code files (EXAMPLE.C AND
EXAMPLE2.C) included on the S560 distribution disk. The numbers to the left of the
listing refer to the notes at the end of the chapter.
1. /* Windows includes */
#include <windows.h>
#include <crackers.h>
#include <stdio.h>
#include <citypes.h>
#include <spasst.h>
#include <sad.h>
#include <ci_files.h>
#include <campdef.h>
#include <cam_n.h>
#include <utility.h>
/* User’s includes */
74
Example Programs
2. vG2KEnv();
if (sRC) {
8. sRC = SadFlush(hDSC);
if (sRC) {
sRet = SadGetStatus(hDSC, &ulRC, &sDum1, &usDum2);
printf("Error saving changes to NBSSTD.CNF: %lx", ulRC);
75
Programming Library Reference
return(1);
}
9. sRC = SadCloseDataSource(hDSC);
Notes
1. The set of #include lines specify the include files required for compiling C
programs using the Genie 2000 Programming Library. The order of these
include files is very important, specifically:
a. The Windows and C run time library include files must be specified
ahead of the Genie 2000 specific files.
c. Any other required Genie 2000 and/or user include files may follow at
this point.
3. This code section is establishing a connection to the local VDM by using the
utility routine iUtlCreateFileDSC. Note that a non-zero return value (iRC) is
being checked for which indicates a failure to create the connection.
5. This statement shows the use of SadGetStatus in retrieving a system 32-bit error
code (ulRC) which provides detailed error information about any
SadOpenDataSource error condition.
76
Example Programs
record and entry numbers are specified as 0 since the sample ID parameter is a
common parameter.
7. The SadPutParam routine is being called to write a value of 10.0 into the
CAM_F_SQUANT (sample quantity) parameter in NBSSTD.CNF. The record
and entry numbers are specified as 0 since the sample ID parameter is a
common parameter.
8. All changes to NBSSTD.CNF are being saved by calling SadFlush. Note that
this save of data will NOT happen automatically when closing the datasource –
an explicit save operation must be performed.
10. The connection to the local VDM is deleted. No error checking is performed
since there is no course of action that could be taken in the event of an error.
set include=%include%;.\
nmake -f example.mak
1. /* Windows includes */
#include <windows.h>
#include <crackers.h>
#include <tchar.h>
#include <stdio.h>
#include <citypes.h>
77
Programming Library Reference
#include <spasst.h>
#include <sad.h>
#include <get_put.h>
#include <driver.h>
#include <ci_files.h>
#include <campdef.h>
#include <cam_n.h>
#include <utility.h>
/* User’s includes */
2. vG2KEnv();
5. if(sRC == CSI_Verify){
printf("Error failed to verify DET01 parameter setttings.");
return(1);
}
else if (sRC){
6. sRet = SadGetStatus(
78
Example Programs
7. Preset_T stPSet;
FillMemory (&stPSet, sizeof(Preset_T), ‘\0’);
stPSet.flPsetMode = CAM_M_PMOD_LIVE;
stPSet.unTime.dPsetTime = 30.0;
SRC = SadPutStruct(hDSC,WST_SetPreset, 1, 1, &stPSet, sizeof(Preset_T));
if (sRC){
printf("Error failed to set livetime preset.");
return(1);
}
}
79
Programming Library Reference
Notes
1. The set of #include lines specify the include files required for compiling C
programs using the Genie 2000 Programming Library. The order of these
include files is very important, specifically:
a. The Windows and C run time library include files must be specified
ahead of the Genie 2000 specific files.
c. Any other required Genie 2000 and/or user include files may follow at
this point.
3. This code section is establishing a connection to the local VDM by using the
utility routine iUtlCreateFileDSC. Note that a non-zero return value (iRC) is
being checked for which indicates a failure to create the connection.
80
Example Programs
The application shell identifier is specified as a null string since the open is for
exclusive access. The verification flag is set to TRUE, this indicates that a
hardware verification (read and write of all programmable settings) will be
performed.
5. This statement is checking the variable sRC for a specific error return of
CSI_VERIFY, indicating that a verification error of some kind was encountered
(wrong module ID, different serial number, and so forth).
6. This statement shows the use of SadGetStatus in retrieving a system 32-bit error
code (ulRC) which provides detailed error information about any
SadOpenDataSource error condition.
7. This code section is setting up the acquisition preset value to be used during
acquire. Note that a predefined structure (Preset_T as defined in GET_PUT.H)
is used to define the proper preset values to be written; this predefined structure
is then used in the SadPutStruct call to program the detector input.
10. The SadQueryDataSource routine is being called with the DSQ_Status argument
(as defined in SAD_NEST.H). One of the status bits (DSS_Busy) returned is the
acquisition busy bit. This code section loops until acquisition is complete; each
loop iteration fetches (via SadGetParam) and displays the elapsed live time.
11. The detector input, DET01, is being closed. No error checking is performed
since there is no course of action that could be taken in the event of an error.
12. The connection to the local VDM is deleted. No error checking is performed
since there is no course of action that could be taken in the event of an error.
81
Component Programming Library Reference
This chapter is organized to present the significant methods, properties and events in sep-
arate sections.
Note All calling formats and examples given in this chapter use Visual Basic nota-
tion. Examples of Visual C++ are located in Genie2k/S560/VC directory.
82
DataAccess
DataAccess
The DataAccess component allows CAM access in Visual Basic. This component defines
all of the properties and methods related to storage and retrieval of data from a CAM file.
This component is accessible to Visual Basic by importing the “Canberra Nuclear Data
Access Library” into VB.
This object defines all of the operations and properties related to storage and retrieval of
spectral data in Visual Basic (VB). This object is accessible to Visual Basic by importing
the Data Access COM server into VB.
In Visual Basic, IDE enumeration is useful because the enumeration values are displayed.
DataAccess Methods
This DataAccess is defined by the following methods:
Operation Description
Open Opens or Creates a connection to the CAM file
Close Closes a connection to the CAM file
Flush Flushes changes to the CAM file
CreateBlock Creates a class of information
DeleteBlock Deletes a class of information
83
Component Programming Library Reference
Operation Description
CopyBlock Copies a class from one CAM file to another
InsertRecord Inserts a record into a class
InsertEntry Inserts an entry into a class
DeleteRecord Deletes a record from a class
DeleteEntry Deletes an entry from a class
Find Finds a parameter entry
Save Saves data to the current datasource or
another datasource
EvaluateSpectroscopyCalibration Evaluates the current energy, efficiency,
FWHM, or low energy tail calibration
ConvertEnergyToChannel Converts an energy value to a channel value
ComputeROIs Quantifies an ROI
FileExists Determine if a file exists
CopyRecord Copies a record into a class
Open a Datasource
This method will open a CAM file.
Note The CAM File may be opened read-write by multiple components in the same
process. However, all openers share the same handle. Therefore any save to the
file will result in all changes being saved.
Calling Convention
Open(String Name, OpenMode Mode, Long NumChans)
Parameters
String Name The name of the CAM file
84
DataAccess
Optional
OpenMode Mode Value of dReadOnly
Example
Dim File1 as New DataAccess
File1.Open “bobo.cnf”, dReadWrite
Calling Convention
Close(CloseMode Mode)
Parameters
CloseMode Mode The close options:
Optional
CloseMode Mode Value of dNoUpdate
85
Component Programming Library Reference
Example
Dim File1 as New DataAccess
File1.Open “bobo.cnf”, dReadWrite
File1.Close
Flushing Changes
This method will flush changes to a CAM file.
Calling Convention
Flush()
Parameters
None
Optional
None
Example
Dim File1 as New DataAccess
File1.Open “bobo.cnf”, dReadWrite
File1.Param(CAM_L_CHANNELS) = 512
File1.Flush
Calling Convention
CreateBlock(ClassCodes Class, Long Size, ParamCodes Param)
Parameters
ClassCodes Class The class to create. Set to 0 if you want to use a parameter
code.
Optional
Long Size A value of 0. This indicates that the value specified in the
data storage schema should be used.
86
DataAccess
Example
Dim File1 as New DataAccess
File1.Open “bobo.cnf”, dReadWrite
File1.CreateBlock(CAM_CLS_GEOM)
Calling Convention
DeleteBlock(ClassCodes Class, ParamCodes Param)
Parameters
ClassCodes Class The class to create. Set to 0 if you want to use a parameter
code.
Optional
ParamCodes Param A value of 0
Example
Dim File1 as New DataAccess
File1.Open “bobo.cnf”, dReadWrite
File1.CreateBlock(CAM_CLS_GEOM)
File1.DeleteBlock(CAM_CLS_GEOM)
Calling Convention
CopyBlock(Variant Dest, ClassCodes Class, ParamCodes Param)
Parameters
Variant Dest The destination object. This can be a DataAccess or
DeviceAccess object of File name (String).
ClassCodes Class The class to copy information from. Set to 0 if you want to
use a parameter code.
87
Component Programming Library Reference
Optional
ParamCodes Param A value of 0
Example
Dim File1 as New DataAccess
Dim File2 as New DataAccess
File1.Open “bobo.cnf”, dReadWrite
File2.Open “test.cnf”, dReadOnly
File1.CopyBlock(File2, CAM_CLS_PROC)
Inserting a Record
This method will insert a record into a parameter class.
Calling Convention
InsertRecord(ClassCodes Class, Long Rec, ParamCodes Param)
Parameters
ClassCodes Class The class to insert a record into. Set to 0 if you want to use
a parameter code.
Optional
ParamCodes Param A value of 0
Example
Dim File1 as New DataAccess
File1.Open “bobo.cnf”, dReadWrite
File1.InsertRecord(CAM_CLS_NEUTACQ, 20)
Inserting a Entry
This method will insert an entry into a parameter class.
Calling Convention
InsertEntry(ClassCodes Class, Long Rec, Long lEntry, ParamCodes Param)
88
DataAccess
Parameters
ClassCodes Class The class to insert an entry into. Set to 0 if you want to use
a parameter code.
Optional
ParamCodes Param A value of 0
Example
Dim File1 as New DataAccess
File1.Open “bobo.cnf”, dReadWrite
File1.InsertEntry(0, 1, 5, CAM_F_NLENERGY)
Deleting a Record
This method will delete a record from a parameter class.
Calling Convention
DeleteRecord(ClassCodes Class, Long Rec, ParamCodes Param)
Parameters
ClassCodes Class The class to delete a record from. Set to 0 if you want to
use a parameter code.
Optional
ParamCodes Param A value of 0
Example
Dim File1 as New DataAccess
File1.Open “bobo.cnf”, dReadWrite
File1.DeleteRecord(0, 2, CAM_F_NACQSTOTALS)
89
Component Programming Library Reference
Deleting an Entry
This method will delete an entry from a parameter class.
Calling Convention
DeleteEntry(ClassCodes Class, Long Rec, Long lEntry, ParamCodes Param)
Parameters
ClassCodes Class The class to delete an entry from. Set to 0 if you want to
use a parameter code.
Optional
ParamCodes Param A value of 0
Example
Dim File1 as New DataAccess
File1.Open “bobo.cnf”, dReadWrite
File1.DeleteEntry(CAM_CLS_NEUTMULTI, 1, 2)
Finding a Parameter
This method will find a particular record that matches the search information.
Calling Convention
Find(FindMode Mode, Variant vSearch, Long StartRec)
Parameters
FindMode Mode The search mode:
90
DataAccess
Return
Long lFind The record found.
Optional
Long StartRec A value of 1
Example
Dim File1 as New DataAccess
Dim lRec as Long
Dim arVals(0 to 1) as Single
File1.Open “naidemo.cnf”, dReadWrite
arVals[0] = 88.7
arVals[1] = 1.2
lRec = File1.FindRecord(dByNuclideLine, arVals);
Saving Changes
This method will save a CAM file into another.
Calling Convention
Save(String Name, Boolean Overwrite)
Parameters
String Name (Optional) The name of the file. If “”, the current file is
flushed.
Boolean Overwrite (Optional) If true and the file exists, the file is overwritten.
Optional
String Name A value of “”
91
Component Programming Library Reference
Example
Dim File1 as New DataAccess
File1.Save “bobo.cnf”, dReadWrite
File1.Param(CAM_L_CHANNELS) = 512
File.Save
Calling Convention
EvaluateSpectroscopyCalibration(Single Point, Spectroscopy Calibrations Type, Single
Value, Single Uncertainty, Boolean PtIsEnergy)
Parameters
Single Point The point to evaluate the calibration at.
Optional
Boolean PtIsEnergy A value of false
Example
Dim File1 as New DataAccess
Dim Val as Single
Dim Unc as Single
File1.Save “bobo.cnf”, dReadWrite
File1.EvaluateSpectroscopyCalibration 128, dFwhm, Val, Unc
92
DataAccess
Calling Convention
ConvertEnergyToChannel(Single Energy)
Parameters
Single Energy The energy to convert (keV).
Optional
None
Return
Single Chan The channel
Example
Dim File1 as New DataAccess
Dim Chan as Single
File1.Save "bobo.cnf", dReadWrite
Chan = File1.ConvertEnergyToChannel(128.2)
Computing ROIs
This method will allow you to quantify an ROI.
Calling Convention
ComputeROIs(Single Left, Single Right, Long BackgroundChans, Single Sigma,
Boolean ValuesAreEnergy)
Parameters
Single Left The left ROI
Optional
None
93
Component Programming Library Reference
Return
Variant Vals This is an array of doubles where dimensions are
[0]: Integral
[1]: Area
[4]: Centroid
[5]: FWHM
[6]: FWTM
Example
Dim File1 as New DataAccess
Dim Vals as Variant
File1.Save “bobo.cnf”, dReadWrite
Vals = File1.ComputeROIs(512, 520, 5, 3.0)
Calling Convention
FileExists(String Name)
Parameters
String Name The name of the file
Optional
None
Return
Boolean FileExists True if the file exists
Example
Dim File1 as New DataAccess
If (File1.FileExists(“bobo.cnf”) < > True) Then _File1.Save “bobo.cnf”, dReadWrite
94
DataAccess
Calling Convention
CopyRecord(ClassCodes lClass, long SourceRec, long DestRec, Boolean Delete,
Variant Dest)
Parameters
ClassCodes Class The class to copy from.
Boolean Delete If true, the source record is deleted after the copy. This
changes the method to a move operation.
Optional
None
Example
Dim File1 as New DataAccess
File1.Open “bobo.cnf”, ReadWrite
File1.CopyRecord CAM_CLS_PEAK, 1, 2, True, “test.cnf”
DataAccess Properties
Some properties are read-only; a value can not be assigned to these types of properties.
Therefore, a topic called Privilege has been added to describe whether the property is
read-only or read-write. An example is provided by each property description. The prop-
erties are given in the table below.
Name Description
Param Reads and Writes a parameter
ParamArray Reads and Writes an array of parameters
ParamArrayEx Reads and Writes an array for values for a single
parameter
Spectrum Reads and Writes a spectrum
Name Returns the name of the CAM file
AccessHandle Returns the storage handle
NumberOfRecords Returns the number of records
95
Component Programming Library Reference
Name Description
NumberOfEntries Returns the number of entries
Calibrations The calibration information (See “Calibrations” on
page 105)
IsOpen Returns true if the interface has an open file
IsModified Returns true if the file was modified
IsWarning Displays a warning message
IsError Displays an error message
Message Returns the status message text by the staus code
Parameter Access
Parameters may be read from or written to a CAM file.
Note Date/Time parameters written to the datasource must be Visual Basic data type.
When a date/time parameter is read from the datasource, it is returned as a Vi-
sual Basic string.
Calling Convention
Param(ParamCodes Param, Long Record, Long Entry)
Parameters
ParamCodes Param The parameter code defining the parameter to read or write.
Return
Variant Param The parameter value
Privilege
Read-Write
Optional
Long Record A value of 1
96
DataAccess
Example
Dim File1 as New DataAccess
Dim File2 as New DataAccess
File1.Open “bobo.cnf”, dReadWrite
File2.Open “test.cnf”, dCreate
File2.Param(CAM_L_CHANNELS) = File1.Param(CAM_L_CHANNELS)
File2.Param(CAM_F_ECALTOL) = 1.2
Note Date/Time parameters written to the datasource must be Visual Basic data type.
When a Date/Time parameter is read from the datasource, it is returned as a Vi-
sual basic string.
Calling Convention
ParamArray(ParamCodes Param(*), Long Record, Long Entry)
Parameters
ParamCodes Param(*) The parameter codes defining the parameter to read or
write.
Return
Variant Params(*) The parameter values. The parameter array is allocated by
the server. Therefore, you do not need to allocate the mem-
ory before using this property.
Privilege
Read-Write
Optional
Long Record A value of 1
97
Component Programming Library Reference
Example
Dim File1 as New DataAccess
Dim arCodes(0 to 2) as ParamCodes
Dim Vals as Variant
File1.Open “bobo.cnf”, dReadWrite
arCodes(0) = CAM_L_CHANNELS
arCodes(1) = CAM_T_STITLE
arCodes(2) = CAM_F_ECALTOL
Vals = File1.ParamArray(arCodes)
Note Date/Time parameters written to the datasource must be Visual Basic data type.
When a Date/Time parameter is read from the datasource, it is returned as a Vi-
sual basic string.
Calling Convention
ParamArrayEx(ParamCodes Param, Long Num, Long Options, Long Record, Long
Entry)
Parameters
ParamCodes Param The parameter code defining the parameter to read or write.
Return
Variant Params(*) The parameter values. The parameter array is allocated by
the server. Therefore, you do not need to allocate the mem-
ory before using this property.
Privilege
Read-Write
Optional
Long Record A value of 1
98
DataAccess
Example
Dim File1 as New DataAccess
Dim Vals as Variant
File1.Open “bobo.cnf”, dReadWrite
Vals = File1.ParamArrayEx(CAM_L_RGNSTART, 2, dAutoIncrementRecord)
Calling Convention
Spectrum(Long lStart, Long lStop, Long Row, Long Group)
Parameters
Long lStart (Optional) The start channel.
Return
Variant Spectrum(*) The spectrum. The spectral array is allocated by the server,
so you don’t need to allocate memory before using this
property. This is an array of singles that starts at index 0.
Privilege
Read-Write
Optional
Long lStart A value of 1
99
Component Programming Library Reference
Example
Dim File1 as New DataAccess
Dim File2 as New DataAccess
Dim Spec as Variant
File1.Open “bobo.cnf”, dReadOnly
File2.Open “test.cnf”, dReadWrite
File2.Spectrum = File1.Spectrum
Calling Convention
Name
Parameters
None
Return
String The File Name
Privilege
Read-Only
Example
Dim File1 as New DataAccess
File1.Open "bobo.cnf", dReadWrite
Text1.text = File1.name
Calling Convention
NumberOfRecords(ClassCodes Class, ParamCodes Param)
Parameters
ClassCodes Class The class code.
ParamCodes Param (Optional) The parameter code. Use this argument if you
do not know the class code. If this argument is non-zero, it
will be used instead of the Class argument.
Return
Long NumberOfRecords The number of records
100
DataAccess
Optional
ParamCodes Param Value of 0
Privilege
Read-Only
Example
Dim File1 as New DataAccess
Dim lCnt as Long
File1.Open “bobo.cnf”, dReadOnly
lCnt = File1.NumberOfRecords(CAM_CLS_GEOM)
Calling Convention
NumberOfEntries(ClassCodes Class, Long Record, ParamCodes Param)
Parameters
ClassCodes Class The class code.
ParamCodes Param (Optional) The parameter code. Use this argument if you
do not know the class code. If this argument is non-zero, it
will be used instead of the Class argument.
Return
Long NumberOfEntries The number of entries
Optional
ParamCodes Param Value of 0
Privilege
Read-Only
Example
Dim File1 as New DataAccess
Dim lCnt as Long
File1.Open “bobo.cnf”, dReadOnly
lCnt = File1.NumberOfEntries(CAM_CLS_GEOM, 2)
101
Component Programming Library Reference
Access Handle
This property returns the access handle which may be used for the SAD API.
Calling Convention
AccessHandle
Parameters
None
Return
Variant AccessHandle The handle which may be passed to Genie-2K API.
Optional
None
Privilege
Read-Only
Example
Dim File1 as New DataAccess
Dim Val as Single
Dim iSize as Integer
Dim Rc as Integer
File1.Open “bobo.cnf”, dReadOnly
iSize = 4
Rc = SadGetParam(File1.AccessHandle, CAM_F_ECALTOL, 1, 1, Val, iSize)
Determining if Opened
This property allows the programmer to determine if the component has an opened file.
Calling Convention
IsOpened
Parameters
None
Return
Boolean IsOpen If true, the interface is has an opened file.
Optional
None
102
DataAccess
Privilege
Read-Only
Example
Dim File1 as New DataAccess
File1.Open “bobo.cnf”, dReadOnly
If (File1.IsOpen = False) Then
Determining if Modified
This property allows the programmer to determine if the datasource has been modified.
Calling Convention
IsModified
Parameters
None
Return
Boolean IsModified If true, the interface is has been modified.
Optional
None
Privilege
Read-Only
Example
Dim File1 as New DataAccess
File1.Open "bobo.cnf", dReadWrite
File1.Param(CAM_F_ECALTOL) = 1.2
If (File1.IsModified) Then File1.Save
Status Severity
All status messages have a severity associated with them. This severity defines whether a
message is a warning message or an error message. There are two properties that may be
used to determine the severity of a message.
Calling Convention
IsWarning(MessageCodes Code)
IsError(MessageCodes Code)
103
Component Programming Library Reference
Parameters
MessageCodes Status The status code to examine for severity level.
Return
Boolean bVal A value of true indicates that the message is of that speci-
fied severity level.
Optional
None
Example
Dim File As New DataAccess
On Error Resume Next
File.Open “bobo.cnf”
If (File.IsError(Err.Number)) Then …
Calling Convention
String Message(MessageCode Code)
Parameters
MessageCodes Code The message code to retrieve the status string.
Return
String Message String for the status
Optional
None
Privilege
Read-Only
Example
Dim File As New DataAccess
On Error Resume Next
File.Open “bobo.cnf”
If (File.IsError(Err.Number)) Then …
MsgBox File.Message Err.Number, vbOkOnly
104
DataAccess
Properties
This property allows the programmer to set a number of properties that are not defined in
the interface.
Calling Convention
Properties
Parameters
VARIANT Name The name of the property.
Return
VARIANT Val The value of the property
Optional
None
These properties are used to get or set the properties tabulated below.
Name Description
Energy Energy information
Fwhm FWHM information
LowTail Low energy tail calibration information
Efficiency Efficiency information (See “Efficiency” on
page 109)
MatrixCorrection Matrix correction calibration information
Mass Neutron mass calibration information
AddASource Neutron add-a-source calibration information
105
Component Programming Library Reference
Name Description
DifferentialPeak Reserved for internal use
Transmission Reserved for internal use
All of the calibration types listed above have the following properties: Points and Curve.
The points property will read and/or write calibration points to and/or from a datasource.
The curve property will read and write the calibration coefficients to and from a
datasource. Some calibration types support reading and writing covariance matrices
through a property called Covariance.
Calling Convention
LowTail
Parameters
None
Return
Variant LowTail.Curve(*) The low energy tail calibration. The calibration array is al-
located by the server. Therefore, you do not need to allo-
cate the memory before using this property. The order is:
LowTail.Curve(0): Offset
LowTail.Curve(1): Slope
Variant LowTail.Points(3)(*) The energy, low energy tail, and uncertainty triplets. The
data array is allocated by the server. Therefore, you do not
need to allocate the memory before using this property.
The order is:
Optional
None
Privilege
Curve: Read-Only
106
DataAccess
Points: Read-Write
Example
Dim File1 as New DataAccess
Dim Cal as Variant
Dim Samples as Variant
File1.Open “bobo.cnf”, dReadOnly
Cal = File1.Calibrations.LowTail.Curve
Samples = File1.Calibrations.LowTail.Points
Energy Calibrations
This property retrieves the energy calibration information.
Calling Convention
Energy
Parameters
None
Return
Variant Energy.Curve(*) The energy calibration. The calibration array is allocated
by the server. Therefore, you do not need to allocate the
memory before using this property. The order is:
Energy.Curve(0): Offset
Energy.Curve(1): Slope
Energy.Curve(2): Quadratic
Energy.Curve(3): Cubic
Energy.Curve(4): Quardic
Energy.Curve(5): Quintic
Variant EnergyPoints(3)(*) The channel, energy, and uncertainty triplets. The data ar-
ray is allocated by the server. Therefore, you do not need to
allocate the memory before using this property. The order
is:
107
Component Programming Library Reference
Optional
None
Privilege
Curve: Read-Only
Points: Read-Write
Example
Dim File1 as New DataAccess
Dim Cal as Variant
Dim Samples as Variant
File1.Open “bobo.cnf”, dReadOnly
Cal = File1.Calibrations.Energy.Curve
Samples = File1.Calibrations.Energy.Points
FWHM Calibrations
This property retrieves the FWHM calibration information.
Calling Convention
Fwhm
Parameters
None
Return
Variant Fwhm.Curve(*) The FWHM calibration. The calibration array is allocated
by the server. Therefore, you do not need to allocate the
memory before using this property.
Fwhm.Curve(0): Offset
Fwhm.Curve(1): Slope
Fwhm.Curve(0): Offset
Fwhm.Curve(1): Slope
Fwhm.Curve(2): Quadratic
108
DataAccess
Variant Fwhm.Points(3)(*) The energy, fwhm, and uncertainty triplets. The data array
is allocated by the server. Therefore, you do not need to al-
locate the memory before using this property. The order is:
Optional
None
Privilege
Curve: Read-Only
Points: Read-Write
Example
Dim File1 as New DataAccess
Dim Cal as Variant
Dim Samples as Variant
File1.Open “bobo.cnf”, dReadOnly
Cal = File1.Calibrations.Fwhm.Curve
Samples = File1.Calibrations.Fwhm.Points
Efficiency
This property groups all of the efficiency calibration properties under one component.
The efficiency properties are tabulated below.
Name Description
Dual Curve Reads the dual efficiency calibration
Empirical Curve Read the empirical efficiency calibration
Linear Curve Reads the linear efficiency calibration
CrossOver Reads the cross over energy for dual efficiency
EfficiencyPoints Reads the efficiency calibration points
Alpha Curve Reads the alpha spectroscopy efficiency calibration
109
Component Programming Library Reference
Calling Convention
Dual Curve(Long Record)
Parameters
Long Record (Optional) The record number.
Return
Variant Dual Curve (2) (10) The Dual efficiency calibration. The calibration array is al-
located by the server. Therefore, you do not need to allo-
cate the memory before using this property. The order is:
Optional
Long Record Default value is 1
Privilege
Read-Only
Example
Dim File1 as New DataAccess
Dim Cal() as Variant
File1.Open “bobo.cnf”, dReadOnly
Cal = File1.Calibrations.Efficiency.Dual Curve
Calling Convention
Linear Curve (Long Record)
Parameters
Long Record (Optional) The record number.
Return
Variant Linear Curve (*) The Linear efficiency calibration. The calibration array is
allocated by the server. Therefore, you do not need to allo-
cate the memory before using this property. The order is:
110
DataAccess
Optional
Long Record Default value is 1
Privilege
Read-Only
Example
Dim File1 as New DataAccess
Dim Cal() as Variant
File1.Open “bobo.cnf”, dReadOnly
Cal = File1.Calibrations.Efficiency.Linear Curve
Calling Convention
Empirical Curve (Long Record)
Parameters
Long Record (Optional) The record number.
Return
Variant Empirical Curve (*) The Empirical efficiency calibration. The calibration array
is allocated by the server. Therefore, you do not need to al-
locate the memory before using this property. The order is:
Optional
Long Record Default value is 1
Privilege
Read-Only
111
Component Programming Library Reference
Example
Dim File1 as New DataAccess
Dim Cal() as Variant
File1.Open “bobo.cnf”, dReadOnly
Cal = File1.Calibrations.Efficiency.Empirical Curve
Calling Convention
EfficiencyPoints(lRecord)
Parameters
Long Record The record number.
Return
Variant EfficiencyPoints(4)(*) The energy, efficiency, uncertainty, and density points.
The data array is allocated by the server. Therefore, you
do not need to allocate the memory before using this
property. The order is:
Optional
None
Privilege
Read-Only
Example
Dim File1 as New DataAccess
Dim Triplets()() as Variant
File1.Open “bobo.cnf”, dReadOnly
Triplets = File1.Calibrations.Efficiency.EfficiencyPoints
112
DataAccess
Calling Convention
CrossOver(lRecord)
Parameters
Long Record The record number.
Return
Variant CrossOver The cross over energy of the dual efficiency calibration.
Optional
None
Privilege
Read-Only
Example
Dim File1 as New DataAccess
Dim Cross as Variant
File1.Open “bobo.cnf”, dReadOnly
Cross = File1.Calibrations.Efficiency.CrossOver
Calling Convention
Alpha Curve (Long Record)
Parameters
Long Record (Optional) The record number.
Return
Variant Alpha Curve The alpha efficiency calibration. This calibration is a single
coefficient.
Optional
Long Record Default value is 1
Privilege
Read-Only
113
Component Programming Library Reference
Example
Dim File1 as New DataAccess
Dim Cal as Variant
File1.Open “bobo.cnf”, dReadOnly
Cal = File1.Calibrations.Efficiency.Alpha Curve
Calling Convention
MatrixCorrection
Parameters
None
Return
Variant MatrixCorrection.Curve(*) The matrix correction calibration. The calibration
array is allocated by the server. Therefore, you do
not need to allocate the memory before using this
property. For this model the order is
MatrixCorrection.Curve(0): Offset
MatrixCorrection.Curve(1): Slope
MatrixCorrection.Curve(2): Quadratic
MatrixCorrection.Curve(3): Cubic
MatrixCorrection.Curve(*): Higher
Optional
None
Privilege
Curve: Read-Only
Points: Read-Write
Example
Dim File1 as New DataAccess
Dim Cal as Variant”
Dim Samples as Variant
114
DataAccess
Neutron Mass
This property groups all of the neutron mass calibration properties under one interface.
The mass properties are tabulated below.
All of the calibration types listed above have the following properties: Points, Curve, and
Covariance. The Points property will read and write calibration points to and from a
datasource. The Curve property will read and write the calibration coefficients to and
from a datasource. The Covariance property will read and write the calibration coeffi-
cient covariance to and from the datasource.
Reals Calibration
This property retrieves the reals calibration information. All arrays must start at index 0
(i.e., Option Base 0).
Calling Convention
Reals
Parameters
None
115
Component Programming Library Reference
Return
Variant Reals.Curve(*) The reals calibration. The calibration array is allocated by
the server. Therefore, you do not need to allocate the mem-
ory before using this property. The order is:
Reals.Curve(0): Offset
Reals.Curve(1): Slope
Variant Reals.Points(3)(*) The mass, reals, and uncertainty triplets. The data array is
allocated by the server. Therefore, you do not need to allo-
cate the memory before using this property. The order is:
Reals.Points (0)(*): Mass
Reals.Points (1)(*): Reals rate
Reals.Points (2)(*): Uncertainties
Optional
None
Privilege
Curve: Read-Write
Points: Read-Write
Covariance: Read-Write
Example
Dim File1 as New DataAccess
Dim Cal as Variant
Dim Samples as Variant
Doubles Calibration
This property retrieves the doubles calibration information. All arrays must start at index
0 (i.e., Option Base 0).
Calling Convention
Reals
Parameters
None
116
DataAccess
Return
Variant Doubles.Curve(*) The double calibration. The calibration array is allocated
by the server. Therefore, you do not need to allocate the
memory before using this property. The order is:
Doubles.Curve(0): Offset
Doubles.Curve(1): Slope
Variant Doubles.Points(3)(*) The mass, doubles, and uncertainty triplets. The data ar-
ray is allocated by the server. Therefore, you do not need
to allocate the memory before using this property. The
order is:
Doubles.Points (0)(*): Mass
Doubles.Points (1)(*): Doubles rate
Doubles.Points (2)(*): Uncertainties
Optional
None
Privilege
Curve: Read-Write
Points: Read-Write
Covariance: Read-Write
Example
Dim File1 as New DataAccess
Dim Cal as Variant
Dim Samples as Variant
All of the calibration types listed above have the following properties: Points, Curve, and
Covariance. The Points property will read and write calibration points to and from a
datasource. The Curve property will read and write the calibration coefficients to and
117
Component Programming Library Reference
from a datasource. The Covariance property will read and write the calibration coeffi-
cient covariance to and from the datasource.
All of the calibration functions have the following properties: Curve and Covariance. The
Curve property will read and write the calibration coefficients to and from a datasource.
The Covariance property will read and write the calibration coefficient covariance to and
from the datasource.
Power Function
This property retrieves the power function calibration information. All arrays must start
at index 0 (i.e., Option Base 0).
Calling Convention
Reals
Parameters
None
Return
Variant Power.Curve(*) The power function calibration. The calibration array is al-
located by the server. Therefore, you do not need to allo-
cate the memory before using this property. The order is:
Power.Curve(0): Exponent
Power.Curve(1): Mantissa
Optional
None
118
DataAccess
Privilege
Curve: Read-Write
Covariance: Read-Write
Example
Dim File1 as New DataAccess
Dim Cal as Variant
Dim Covar as Variant
Rational Function
This property retrieves the rational function calibration information. All arrays must start
at index 0 (i.e., Option Base 0).
Calling Convention
Reals
Parameters
None
Return
Variant Rational.Curve(*) The rational function calibration. The calibration array is
allocated by the server. Therefore, you do not need to allo-
cate the memory before using this property. The order is:
Rational.Curve(0): Denominator
Rational.Curve(1): Numerator
Optional
None
Privilege
Curve: Read-Write
Covariance: Read-Write
Example
Dim File1 as New DataAccess
Dim Cal as Variant
Dim Covar as Variant
119
Component Programming Library Reference
Exponential Function
This property retrieves the exponential function calibration information. All arrays must
start at index 0 (i.e., Option Base 0).
Calling Convention
Reals
Parameters
None
Return
Variant Exponential.Curve(*) The exponential function calibration. The calibration ar-
ray is allocated by the server. Therefore, you do not need
to allocate the memory before using this property. The
order is:
Exponential.Curve(0): Exponent
Exponential.Curve(1): Mantissa
Optional
None
Privilege
Curve: Read-Write
Covariance: Read-Write
Example
Dim File1 as New DataAccess
Dim Cal as Variant
Dim Covar as Variant
120
DataAccess
Polynomial Function
This property retrieves the polynomial function calibration information. All arrays must
start at index 0 (i.e., Option Base 0).
Calling Convention
Reals
Parameters
None
Return
Variant Exponential.Curve(*) The polynomial function calibration. The calibration
array is allocated by the server. Therefore, you do not
need to allocate the memory before using this property.
The order is:
Polynomial.Curve(0): Offset
Polynomial.Curve(1): Slope
Polynomial.Curve(2): Quadratic
Polynomial.Curve(3): Cubic
Optional
None
Privilege
Curve: Read-Write
Covariance: Read-Write
Example
Dim File1 as New DataAccess
Dim Cal as Variant
Dim Covar as Variant
Points
This property retrieves the calibration data. All arrays must start at index 0 (i.e., Option
Base 0).
121
Component Programming Library Reference
Calling Convention
Reals
Parameter
None
Return
Variant Points(*) The calibration data. The calibration array is allocated by
the server. Therefore, you do not need to allocate the mem-
ory before using this property.
Optional
None
Privilege
Read-Write
Example
Dim File1 as New DataAccess
Dim Cal as Variant
Dim Data as Variant
Calling Convention
Reals
Parameters
None
Return
Variant NonMultTotals.Curve(*) The totals calibration. The calibration array is allo-
cated by the server. Therefore, you do not need to al-
locate the memory before using this property. The
order is:
Totals.Curve(0): Offset
Totals.Curve(1): Slope
122
DataAccess
Variant NonMultTotals.Points(3)(*) The mass, totals, and uncertainty triplets. The data
array is allocated by the server. Therefore, you do
not need to allocate the memory before using this
property. The order is:
Totals.Points (0)(*): Mass
Totals.Points (1)(*): Doubles rate
Totals.Points (2)(*): Uncertainties
Optional
None
Privilege
Curve: Read-Write
Points: Read-Write
Covariance: Read-Write
Example
Dim File1 as New DataAccess
Dim Cal as Variant
Dim Samples as Variant
Add-a-Source
This property groups all of the neutron add-a-source calibration properties under one
interface.
All of the calibration types listed above have the following properties: Points, Curve, and
Covariance. The points property will read and write calibration points to and from a
datasource. The curve property will read and write the calibration coefficients to and
from a datasource. The covariance property will read and write the calibration coefficient
covariance to and from the datasource.
123
Component Programming Library Reference
Reals Calibration
This property retrieves the reals calibration information. All arrays must start at index 0
(i.e., Option Base 0).
Calling Convention
Reals
Parameters
None
Return
Variant Reals.Curve(*) The reals calibration. The calibration array is allo-
cated by the server. Therefore, you do not need to al-
locate the memory before using this property. The
order is:
Reals.Curve(0): Offset
Reals.Curve(1): Slope
Variant Reals.Points(3)(*) The mass, reals, and uncertainty triplets. The data ar-
ray is allocated by the server. Therefore, you do not
need to allocate the memory before using this prop-
erty. The order is:
Reals.Points (0)(*): Mass
Reals.Points (1)(*): Reals rate
Reals.Points (2)(*): Uncertainties
Optional
None
Privilege
Curve: Read-Write
Points: Read-Write
Covariance: Read-Write
Example
Dim File1 as New DataAccess
Dim Cal as Variant
Dim Samples as Variant
124
DataAccess
Totals Calibration
This property retrieves the totals calibration information. All arrays must start at index 0
(i.e., Option Base 0).
Calling Convention
Reals
Parameters
None
Return
Variant Totals.Curve(*) The totals calibration. The calibration array is allocated by
the server. Therefore, you do not need to allocate the mem-
ory before using this property. The order is:
Totals.Curve(0): Offset
Totals.Curve(1): Slope
Variant Totals.Points(3)(*) The mass, totals, and uncertainty triplets. The data array is
allocated by the server. Therefore, you do not need to allo-
cate the memory before using this property. The order is:
Totals.Points (0)(*): Mass
Totals.Points (1)(*): Doubles rate
Totals.Points (2)(*): Uncertainties
Optional
None
Privilege
Curve: Read-Write
Points: Read-Write
Covariance: Read-Write
Example
Dim File1 as New DataAccess
Dim Cal as Variant
Dim Samples as Variant
125
Component Programming Library Reference
DeviceAccess
The DeviceAccess component is use to control both neutron devices and spectroscopy
devices. The DeviceAccess component allows you to connect to and acquire with the fol-
lowing devices: JSR-12, JSR-14, 2150, and all Genie 2000 supported devices.
Figure 18 Control
Library Icon
Double click on this icon and it will appear on your VB form. This icon will appear only
during design time. There are no properties visible in the property toolbar list; all proper-
ties and methods become visible during coding.
126
DeviceAccess
DeviceAccess Methods
This DeviceAccess is defined by the following methods:
Operation Description
Connect Connects to a device
Disconnect Disconnects from a device
Clear Clears a devices memory
SpectroscopyAcquireSetup Sets up a spectroscopy detector for
acquisition
NeutronAcquireSetup Sets up a neutron device for acquisition
AcquireStart Starts an acquisition (multi-threaded)
AcquireStop Stops an acquisition
AcquirePause Pauses an acquisition
ClassCopy Copies a CAM class
Save Save the device data to a file
SpectroscopyMeasurements Returns the spectroscopy measurements
NeutronMeasurements Returns the neutron measurements
VerifyDeviceSettingsEx Verifies the device settings
SetMemoryGroup Changes the current spectroscopy memory
group
SendCommand Sends a device command to the current
device
SendCommand2ListOfDetectors Sends a device command to a list of
spectroscopy detectors
EvaluteSpectroscopyCalibration Evaluates the current energy, efficiency,
FWHM, or low energy tail calibration
127
Component Programming Library Reference
Operation Description
ConvertEnergyToChannel Converts an energy value to a channel
value
ComputeROIs Quantifies an ROI
GetBootParameters Get JSR-14 bootstrap parameters
PutBootParameters Set JSR-14 bootstrap parameters
CopyRecord Copies a record into a class
Connecting to a Device
Communications with a device begins when a connection to the device has been success-
fully established. This method allows the programmer to make that connection.
Note The device may be opened read-write by multiple components in the same pro-
cess. However, all openers share the same device/handle. Therefore any save to
the device will result in all changes being saved.
Calling Convention
Connect(String Name, ConnectOptions Mode, AnalyzerType Type, String Port,
BaudRate Rate)
Parameters
String Name The name of the detector
aSpectroscopyDetector: A detector
128
DeviceAccess
aShiftRegisterJsr12: JSR-12
aMultiplicity2150: 2150
BaudRate Rate (Optional) The baud rate for serial communications. This is
required for neutron device control. Note that this value
does affect the baud rate settings for spectroscopy devices.
String Port (Optional) The name of the serial port. This is required for
neutron device control. Note that this value does affect the
port settings for spectroscopy devices.
Optional
ConnectOptions Mode Value of aReadWrite
Example
On Error Resume Next
Det1.Connect “Jsr”, aReadWrite, aMultiplicity2150 , “COM1”
If (Det1.IsError(Err.Number)) Then Goto Exit
Error Handling
This method may generate an error or warning when connecting to spectroscopy devices.
Here is a guide to handling some specific errors and warnings:
129
Component Programming Library Reference
Fatal Errors
This class of error indicates that the open of the device had failed. Some common fatal
errors are:
Error &H8CE99EA2 : Busy input but never open. This condition arises when then
VDM, in responding to a request for opening an input, detects that the input is busy
but is not being monitored. This may be recoverable by reconnecting to the device
using one of the aContinue or aTakeControl options. aTakeControl will stop the
current acquisition and reverify the device settings. aContinue will allow the
acquisition to continue.
Error &H80120008 : Hardware Unavailable. The device driver cannot connect to the
device. Check all physical connections and all MID settings.
Error &H80130019 : Owner Mismatch : The device is owned by another user. In the
case of an AIM, this situation may be corrected by using the aTakeOver option. Do
this only if no other user is currently using the AIM.
Major Errors
Error &H8CE99EA3 : Verify Error. This is often caused by a configuration setup.
Verify the model number settings for all devices in your MID file match the actual
devices. As with fatal errors, the device is not connected after this error.
Minor Errors
Error &H8CE99D36 : Verify Warning. This warning is generated when there are
minor verification errors. When these types of errors occur, you have connected to the
device. However, some settings in the device do not match the stored settings of the
device. The exact cause of a minor verification errors may be determined by calling
VerifyDeviceEx().
Calling Convention
Disconnect()
Parameters
None
Optional
None
130
DeviceAccess
Example
Dim Det1 as New DeviceAccess
Det1.Connect “DET1”, aReadWrite Or aTakeOver
Det1.Disconnect
Calling Convention
Clear()
Parameters
None
Optional
None
Example
Dim Det1 as New DeviceAccess
Det1.Connect “DET1”, aReadWrite Or aTakeOver
Det1.Clear
Det1.Disconnect
Calling Convention
SpectroscopyAcquireSetup(AcquisitionModes Mode, Double Lim, Long Start, Long
End, Double ElapsedTime, Single HighVoltage)
Parameters
AcquisitionModes Mode (Optional) The preset modes are:
131
Component Programming Library Reference
Double ElapsedTime (Optional) The preset time limit. This argument should be
set only during: aCountToTotal, aCountToArea, or
aCountToLevel.
Single HighVoltage (Optional) The high voltage value. If specified as 0.0 the
value is ignored and the value stored in the device is used.
Optional
AcquisitionModesMode A value of aCountNormal.
Example
Det1.Connect “DET1”, aReadWrite Or aTakeOver
‘Stop and Clear
Det1.AcquireStop
‘Set count to live time and set high voltage to 3000 volts
Det1.SpectroscopyAcquireSetup aCountToLiveTime, 1000, 0, 0, 3000
Note 1 This method will turn on the high voltage for the devicN.
ote 2
132
DeviceAccess
Calling Convention
NeutronAcquireSetup(Single Gatewidth, Single Predelay, Double CountTime, Long
Cycles, Long Voltage, Single DeadTime)
Parameters
Single Gatewidth (Optional) The gate width (µs)
Long Voltage (Optional) The voltage. This parameter is not used for 2150
devices.
Optional
Long Voltage A value of 1500
Starting an Acquisition
This routine starts an acquisition using the currently connected device.
Calling Convention
AcquireStart()
Parameters
None
Optional
None
133
Component Programming Library Reference
Example
Dim Det1 as New DeviceAccess
Dim Jsr as New DeviceAccess
Det1.Connect “DET1”
Det1.Clear
Det1.SpectroscopySetup aCountToLiveTime, 100.0
Jsr.Connect “Jsr”, aReadWrite, aShiftRegisterJsr14
Jsr.Clear
Jsr.NeutronSetup 60
Det1.AcquireStart
Jsr.AcquireStart
Stopping an Acquisition
This routine aborts an acquisition. All data is cleared after the device is stopped.
Calling Convention
AcquireStop(StopOptions Options)
Parameters
StopOptions Options The stop options are:
Return
None
Optional
StopOptions Options A value of aNormalStop
Example
Det1.Connect “DET1”
Det1.Clear
Det1.SpectroscopyAcquireSetup aCountToLiveTime, 100.0
Jsr.Connect “Jsr”, aReadWrite, aShiftRegisterJsr14
Jsr.Clear
Jsr.NeutronAcquireSetup 60
Det1.AcquireStart
Jsr.AcquireStart
Jsr.AcquireStop
Pausing an Acquisition
This routine stops an acquisition without clearing the data.
134
DeviceAccess
Calling Convention
AcquirePause(StopOptions Options)
Parameters
StopOptions Options The stop options are:
Return
None
Optional
StopOptions Options A value of aNormalStop
Example
Det1.SpectroscopyAcquireSetup aCountToLiveTime, 100.0
Det1.AcquireStart
Det1.AcquirePause
.
.
.
Det1.AcquireStart
Calling Convention
CopyBlock(Variant Destination, ClassCodes Class, ParamCodes Param)
Parameters
Variant Destination
The name of the file, DataAccess object, or DeviceAccess object to copy the information
into.
ClassCodes Class The class to create. Set to 0 if you want to use a parameter
code.
Optional
ParamCodes Param (Optional) The parameter which is defined in the class.
This should be used to define the class if the class of the
parameter is not known.
135
Component Programming Library Reference
Boolean Overwrite (Optional) If true and the file exists, the block is overwrit-
ten.
Optional
ParamCodes Param A value of 0
Example
Det1.Connect “DET1”
Det1.Clear
Det1.CopyBlock “ecal.cnf”, CAM_CLS_SHAPE
Saving Data
This function will save data into a file or to the device.
Calling Convention
Save(String Name, Boolean Overwrite)
Parameters
String Name (Optional) The name of the output file. If , the device
settings are updated back to the device.
Boolean Overwrite (Optional) If true and the output file exists, the file is over-
written.
Return
None
Optional
String Name A value of “”
Example
Det1.Connect “DET1”
Det1.Clear
Det1.AcquireStart aCountToLiveTime, false, 10.0
•
•
•
Det1.Save “bobo.cnf”, True
136
DeviceAccess
Calling Convention
SpectroscopyMeasurements(String StartTime, double ElapsedTime, Variant Spectrum)
Parameters
String StartTime The acquisition start time
Variant Spectrum(*) The spectral data; this is an array of singles that starts at in-
dex 0
Optional
None
Example
Dim Det1 as New DeviceAccess
Dim Time as String
Dim prSpec as Variant
Det1.Connect “DET1”
Det1.Clear
Det1.AcquireStart aCountToLiveTime, false, 10.0
Det1.SpectroscopyMeasurements Time, prSpec
Calling Convention
NeutronMeasurements(String StartTime, double ElapsedTime, Variant Rates, Long Cy-
cle)
Parameters
String StartTime The acquisition start time
Variant Rates (*) The neutron coincidence rates. This array is dimension
based on the type of acquisition. If multiplicity acquisitions
are performed, the rates are:
Rates(0): Totals
Rates(1): Reals
Rates(2): Accidentals
Rates(3): Doubles
137
Component Programming Library Reference
Rates(4): Triples
Long Cycle The cycle to retrieve the rates from. If the cycle has not
been acquired at the time of the call, the most current cycle
is returned
Return
None
Optional
None
Example
Dim Det1 as New DeviceAccess
Dim Time as String
Dim ElapsedTime as Double
Dim Cycle as Long
Dim Rates as Variant
Cycle = 1
Det1.Connect “DET1”
Det1.Clear
Det1.AcquireStart aCountToLiveTime, false, 10.0
Det1.NeutronMeasurements Time, ElapsedTime, Rates, Cycle
Calling Convention
VerifyInputDevicesEx()
Parameters
None
Returns
Long Status If the device is o.k. then Status is PAS__OK. The return
values may be:
138
DeviceAccess
Optional
None
Example
Dim State as Long
Det1.Connect “DET1”
Det1.Clear
State = Det1.VerifyInputDevicesEx
If (State < > PAS__OK) Then
MsgBox Det.Message State, vbOkOnly
Calling Convention
SetMemoryGroup(Long lGroup, Long Case)
Parameters
Long Group The memory group
Return
None
139
Component Programming Library Reference
Optional
Case A value of 0.
Example
Det1.Connect “DET1”
Det1.Clear
Det1.SetMemoryGroup 1
Calling Convention
SendCommand(DeviceCommands Command)
Parameters
DeviceCommands Command The command to send. Commands are:
Optional
None
140
DeviceAccess
Example
Det.Open "Det1"
Det.SendCommand aStart
Calling Convention
SendCommand2ListOfDetectors(String List(*), DeviceCommands command)
Parameters
String List(*) An array of detector names to send the commands to.
Optional
None
Example
Dim List(0 to 1) as String
List(0) = "Det1"
List(1) = "Det2"
Device.SendCommand2ListOfDetectors List, aStart
141
Component Programming Library Reference
Calling Convention
EvaluateSpectroscopyCalibration(Single Point, SpectroscopyCalibrations Type, Single
Value, Single Uncertianty, Boolean PtIsEnergy)
Parameters
Single Point The point used to evaluate the calibration.
Optional
Boolean PtIsEnergy A value of false
Example
Dim Vals as Variant
Det1.Connect "DET1"
Det1.EvaluateSpectroscopyCalibration 128, dFwhm, Val, Unc
Calling Convention
ConvertEnergyToChannel(Single Energy)
142
DeviceAccess
Parameters
Single Energy The energy to convert (keV).
Optional
None
Return
Single Chan The channel
Example
Det1.Connect “DET1”
Chan = Det1.ConvertEnergyToChannel(128.2)
Computing ROIs
This method will allow you to quantify an ROI.
Calling Convention
ComputeROIs(Single Left, Single Right, Long BackgroundChans, Single Sigma,
Boolean ValuesAreEnergy)
Parameters
Single Left The left ROI
Optional
None
Return
Variant Vals This is an array of doubles where dimensions are
[0]: Integral
[1]: Area
[4]: Centroid
143
Component Programming Library Reference
[5]: FWHM
[6]: FWTM
Example
Dim Vals as Variant
Det1.Connect "DET1"
Vals = Det1. ComputeROIs(512, 520, 5, 3.0)
Note When you put the boot parameters you cannot send any command to the hard-
ware until you receive the aNeutronDevTimer message. The hardware takes a
while to get out of the bootstrap mode. Getting boot parameters does not go
into boot strap mode (i.e., there is need to wait for a aNeutronDevTimer mes-
sage).
Calling Convention
PutBootParameters(ProgrammableAnalyzerType DevMode, HighVoltageMode
HvMode, PowerSource PMode, BaudRate
Baud)GetBootParameters(ProgrammableAnalyzerType DevMode, HighVoltageMode
HvMode, PowerSource PMode, BaudRate Baud, Boolean BootCmd)
Parameters
None
Return
ProgrammableAnalyzerType Type The mode of the device.
AAC: AC powered
ABattery: Battery powered
BaudRate Baud The baud rate
144
DeviceAccess
Optional
Boolean BootCmd A value of false.
Example
Dev.Connect “jsr14”, aReadWrite, aNeutronAutoDetect, “COM1”
If (Dev.AnalyserType < > aShiftRegisterJsr14) Then _
Dev.PutBootParameters(aShiftRegisterJsr14, aManual, aAC, a9600)
Calling Convention
CopyRecord(ClassCodes lClass, long SourceRec, long DestRec, Boolean Delete,
Varaint Dest)
Parameters
ClassCodes Class The class to copy from.
Boolean Delete If true, the source record is deleted after the copy. This
changes the method to a move operation.
Optional
None
Example
Dim Det1 as New DeviceAccess
Det1.Connect "DET1", aReadWrite Or aTakeOver
Det1.CopyRecord CAM_CLS_PEAK, 1, 2, True, "test.cnf"
DeviceAccess Properties
Some properties are read-only; a value can not be assigned to these types of properties.
Therefore, a topic called Privilege has been added to describe whether the property is
145
Component Programming Library Reference
Name Description
Param Reads and Writes a parameter
ParamArray Reads and Writes an array of parameters
ParamArrayEx Reads and Writes an array for a single parameter
Spectrum Reads a spectrum
Name Returns the name of the CAM file
HighVoltage Reserved for internal use
ADC Reserved for internal use
Amplifier Reserved for internal use
AnalyzerType Returns the type of device being used
AnalyzerStatus Returns the status of the device
IsModified Returns true if the device was modified
ListSpectroscopyDevices Returns a string array of MID detectors
AccessHandle Returns the device access handle
IsWarning Displays a warning message
IsError Displays an error message
Message Returns the status message text by the staus code
Parameter Access
Detector settings may be read from or written to a device.
Note Date/Time parameters written to the datasource must be Visual Basic data type.
When a Date/Time parameter is read from the datasource, it is returned as a Vi-
sual basic string.
Calling Convention
Param(ParamCodes Param, Long Record, Long Entry)
Parameters
ParamCodes Param The parameter code defining the parameter to read or write.
146
DeviceAccess
Return
Variant Param The parameter value
Privilege
Read-Write
Optional
Long Record A value of 1
Example
Dim Det1 as New DeviceAccess
Dim Det2 as New DeviceAccess
Det1.Connect “DET1”
Det2.Connect “DET2”
Det2.Param(CAM_L_CHANNELS) = Det1.Param(CAM_L_CHANNELS)
Det2.Param(CAM_F_ECALTOL) = 1.2
Note Date/Time parameters written to the datasource must be Visual Basic data type.
When a Date/Time parameter is read from the datasource, it is returned as a Vi-
sual basic string.
Calling Convention
ParamArray(ParamCodes Param(*), Long Record, Long Entry)
Parameters
ParamCodes Param(*) The parameter codes defining the parameter to read or
write.
Return
Variant Params(*) The parameter values. The parameter array is allocated by
the server. Therefore, you do not need to allocate the mem-
ory before using this property.
147
Component Programming Library Reference
Privilege
Read-Write
Optional
Long Record A value of 1
Example
Dim Det1 as New DeviceAccess
Det1.Connect “DET1”
arCodes(0) = CAM_L_CHANNELS
arCodes(1) = CAM_T_STITLE
arCodes(2) = CAM_F_ECALTOL
Vals = Det1.ParamArray(arCodes)
Note Date/Time parameters written to the datasource must be Visual Basic data type.
When a Date/Time parameter is read from the datasource, it is returned as a Vi-
sual basic string.
Calling Convention
ParamArrayEx(ParamCodes Param, Long Num, Long Options, Long Record,
Long Entry)
Parameters
ParamCodes Param The parameter code defining the parameter to read or write.
Return
Variant Params(*) The parameter values. The parameter array is allocated by
the server. Therefore, you do not need to allocate the mem-
ory before using this property.
148
DeviceAccess
Privilege
Read-Write
Optional
Long Record A value of 1
Example
Dim Vals as Variant
Det.Open “det1”, dReadWrite
Vals = Det.ParamArrayEx(CAM_L_RGNSTART, 2, dAutoIncrementRecord)
Spectral Access
This property will write or retrieve all or a portion of the spectral data from the detector.
All arrays must start at index 0.
Calling Convention
Spectrum(Long lStart, Long lStop)
Parameters
Long lStart (Optional) The start channel.
Return
Variant Spectrum(*) The spectrum. The spectral array is allocated by the server.
Therefore, you do not need to allocate the memory before
using this property. This is an array of Single which starts
at array index 0.
Privilege
Read-Write
Optional
Long lStart A value of 1
149
Component Programming Library Reference
Example
Dim Det1 as DeviceAccess
Dim File1 as DataAccess
File1.Open “bobo.cnf”, dReadOnly
Det1.Connect “DET1”
File1.Spectrum = Det1.Spectrum
Calling Convention
Name
Parameters
None
Return
String Name The name of the detector which is connected to the ana-
lyzer.
Optional
None
Privilege
Read-Only
Example
Dim Det1 as New DeviceAccess
Dim szName as String
Det1.Connect “DET1”
szName = Det1.Name
Calling Convention
AnalyzerStatus
Parameters
None
150
DeviceAccess
Return
long AnalyzerStatus The status of the analyzer. There is a enumeration in VB
which defines all possible status bits. This enumeration is
defined as DeviceStatus.
Privilege
Read-Only
Optional
None
Example
Dim Det1 as New DeviceAccess
Dim szName as String
Det1.Connect “DET1”
Det1.Clear
Det1.AcquireStart
lStat = aAcquireDone
If (Det1.AnalyzerStatus or 1Stat) = 1Stat Then …
151
Component Programming Library Reference
Calling Convention
AnalyzerType
Argument
None
Return
AnalyzerType The type of analyzer. These types are:
aSpectroscopyDetector: A detector
aShiftRegisterJsr12: JSR-12
aMultiplicity2150: 2150
Privilege
Read-Only
Optional
None
Determining if Connected
This property allows the programmer to determine if the component is connected to a de-
vice.
Calling Convention
IsConnected
Parameters
None
Return
Boolean IsConnected If true, the interface is connected to a device.
Optional
None
Privilege
Read-Only
152
DeviceAccess
Example
Dim Det as New DeviceAccess
Dim Cross as Variant
Dim ErrorStr as String
Det.Connect “Det1”, aReadWrite
If (Det.IsConnected = False) Then
•
•
•
Calling Convention
ListSpectroscopyDevices
Parameter
None
Return
Variant ListSpectroscopyDevices An array of strings defining each detector name.
Optional
None
Privilege
Read-Only
Example
Dim arDets as• Variant
arDets = Det.ListSpectroscopyDevices
if (UBound(arDets) > 0) Then Det.Connect arDets(0)
•
•
•
Access Handle
This property returns the access handle which may be used for the SAD API.
Calling Convention
AccessHandle
153
Component Programming Library Reference
Parameters
None
Return
Variant AccessHandle The handle which may be passed to Genie-2K API.
Optional
None
Privilege
Read-Only
Example
Dim Val as Single
Dim iSize as Integer
Dim Rc as Integer
Det.Open “Det1”
iSize = 4
Rc = SadGetParam(Det.AccessHandle, CAM_F_ECALTOL, 1, 1, Val, iSize)
Determining if Modified
This property allows the programmer to determine if the datasource has been modified.
Calling Convention
IsModified
Parameters
None
Return
Boolean IsModified If true, the interface is has been modified.
Optional
None
Privilege
Read-Only
Example
Det.Open "Det1"
Det.Param(CAM_F_ECALTOL) = 1.2
If (Det.IsModified) Then Det.Save(”Det1.cnf”)
154
DeviceAccess
Status Severity
All status messages have a severity associated with them. This severity defines whether a
message is a warning message or an error message. There are two properties that may be
used to determine the severity of a message.
Calling Convention
IsWarning(MessageCodes Code)
IsError(MessageCodes Code)
Parameters
MessageCodes Status The status code to examine for severity level.
Return
Boolean bVal A value of true indicates that the message is of that speci-
fied severity level.
Optional
None
Example
On Error Resume Next
Det.Connect “Det1”
If (Det.IsError(Err.Number)) Then …
Calling Convention
Message text
Parameters
MessageCodes Code The message code to retrieve the status string.
Return
String Message String for the status
Optional
None
Privilege
Read-Only
155
Component Programming Library Reference
Example
On Error Resume Next
Det.Connect “Det1”
If (Det.IsError(Err.Number)) Then _
MsgBox Det.Message Err.Number, vbOkOnly
Properties
This property allows the programmer to set a number of properties that are not defined in
the interface.
Calling Convention
Properties
Parameters
VARIANT Name The name of the property.
Return
VARIANT Val The value of the property.
Optional
None
These properties are used to get or set the properties tabulated below.
156
DeviceAccess
For detailed information, see the High Voltage Power Supply CAM Parameters on page
490.
Any parameters that can be written to spectroscopic devices may generate an error mes-
sage. The error message is used to inform you that the device is busy changing the hard-
ware settings to match the parameter value. Not all devices generate an error message; for
example manual control devices do not generate error messages. The error code that is
returned is PAS__DEVBUSY. This error code is actually a warning message.
Amplifier Control
This property groups all of the amplifier properties under one interface. These properties
are tabulated below.
157
Component Programming Library Reference
Any parameters that can be written to spectroscopic devices may generate an error mes-
sage. The error message is used to inform you that the device is busy changing the hard-
ware settings to match the parameter value. Not all devices generate an error message; for
example manual control devices do not generate error messages. The error code that is
returned is PAS__DEVBUSY. This error code is actually a warning message.
ADC Control
This property groups all of the ADC properties under one interface. These properties are
tabulated below.
158
DeviceAccess
Any parameters that can be written to spectroscopic devices may generate an error mes-
sage. The error message is used to inform you that the device is busy changing the hard-
ware settings to match the parameter value. Not all devices generate an error message; for
example manual control devices do not generate error messages. The error code that is
returned is PAS__DEVBUSY. This error code is actually a warning message.
DeviceAccess Events
Calling Convention
AsynchronousMessages(ByVal Long Code, ByVal String Message)
Parameters
Long Code The error code which can be passed to the status handler
object (StatHdlr.dll)
159
Component Programming Library Reference
Calling Convention
DeviceMessages(ByVal Long Message, ByVal Long wParam, ByVal Long lParam)
Parameters
Long Message The message code. The message codes have been mapped
to the VB type known as DeviceMessages.
Long wParam The first parameter of information associated with the mes-
sage.
Neutron Messages
This section tabulates all of the advise messages which a neutron analyzer sends.
Message Description
aNeutronAcqStart Acquisition has been started
aNeutronAcqDone Acquisition is complete
aNeutronAcqClear Analyzer has been cleared
aNeutronAcqPause Acquisition has been paused
aNeutronAcqError Error has occurred
aNeutronAcqUpdate New acquisition data has been read from the
device
aNeutronAcqXfer Data is being transferred from analyzer to
computer
aNeutronAcqSave Data have been save to disk
aNeuntronAcqStop Analyzer has been stopped
aNeutronAcqStat Analyzer status has changed
aNeutonDevParam A setting has changed
aCamParamChange A CAM Parameter has changed
aNeutronDevTimer The neutron device timer has elapsed
All messages are defined in by the VB data type DeviceMessages. The message
NeutronAcqStat returns the status information through the lParam value. This status in-
formation meets the format described in “Determining Analyzer Status” on page 150.
160
DeviceAccess
The error message NeutronAcqError contains the error code in the lParam value. The
stop message NeutronAcqStop contains a Boolean value in the wParam member. This
parameter indicates whether the device is in an error state; true indicates it is in an error
state. The reason for this design is because the analyzer automatically stops when an er-
ror occurs. The message NeutonDevParam is sent when a device parameter is changed.
The lParam associated with this parameter is the CAM parameter code of the parameter
that has changed. aCamParamChange is sent whenever any CAM parameter has been
modified; the wParam contains the CAM Class Code and the lParam defines the CAM
parameter code.
Spectroscopic Messages
Spectroscopic devices send two messages aAdvise and aCamParamChange. This mes-
sage contains the advise bit mask that defines the reason for the message. This bit mask is
sent in the lParam argument. The bit masks are defined by the VB type
AdviseMessageMasks. aCamParamChange is sent whenever any CAM parameter has
been modified; the wParam contains the CAM Class Code and the lParam defines the
CAM parameter code. The advise message masks are defined below.
Examples
In this example the software is triggering on the acquire stop event for a spectroscopic
device. When the acquire stop event occurs the Start button is enabled
161
Component Programming Library Reference
CAM Datasource
The CAM DataSource component is designed provide and interface that makes data ac-
cess to CAM devices and files easy.
Array Of Parameters
There will be an enumeration, defined by the name ArrayOptions, which will be used to
define options that are used for the ArrayOfParameters property. The enumeration de-
scription is given below.
162
CAM Datasource
Name Description
camAutoIncrementRecord Automatically increments the
record number
camAutoIncrementEntry Automatically increments the
entry number
Evaluation Options
There will be an enumeration, defined by the name EvaluateOptions, which will be used
to define evaluation options. The enumeration description is given below.
Name Description
camEnergy2Channel Energy to channel conversion
camChannel2Energy Channel to energy conversion
camChannel2Efficiency Channel to efficiency conversion using the
default efficiency curve
camChannel2FWHM Channel to FWHM conversion
camChannel2LowTail Channel to low energy tail conversion
camChannel2Resolution Channel to detector resolution
camRoiInformation ROI quantification information (FWHM, Area,
ect.)
camMDAPreset Count to MDA preset value
camAreaPreset Count to Certificate defined peak areas
CamEnergy2FWHM Computes FWHM based on energy
Delete Options
There will be an enumeration, defined by the name DeleteOptions, which will be used to
define delete options. The enumeration description is given below.
Name Description
camDeleteRecord Delete a record
camDeleteEntry Delete an entry
camDeleteBlock Delete a parameter class or block
163
Component Programming Library Reference
Open Options
There will be an enumeration, defined by the name OpenOptions, which will be used to
define open options. The enumeration description is given below.
Name Description
camReadOnly Open read-only
camReadWrite Open read-write
camDirectAccess Open by passing the VDM
camDeviceContinue Open a device that is acquiring and continue. Must be
OR’d with camReadOnly or camReadWrite
camDeviceTakeControl Take over control of a device in use. Must be OR’d with
camReadOnly or camReadWrite. (For internal Use only)
camDeviceTakeOver Take over control of a device that was started on this
client but VDM no longer is controlling. Must be OR’d
with camReadOnly or camReadWrite. (For internal Use
only)
camNoVerifyLicense Do not verify the license. Must be OR’d with
camReadOnly or camReadWrite.
camCreate Create the datasource (File only)
camOverWrite Overwrite the datasource on create. Must be OR’d with
camCreate.
camLargeHeader Create a large directory block on create. Must be OR’d
with camCreate
Close Options
There will be an enumeration, defined by the name CloseOptions, which will be used to
define close options. The enumeration description is given below.
Name Description
camUpdate Flush all changes to the datasource before
close
camNoUpdate Close but do not save changes
camDelete Close and delete the datasource (File only)
164
CAM Datasource
Datasource Types
There will be an enumeration, defined by the name SourceTypes, which will be used to
define the types of datasources. The enumeration description is given below.
Name Description
camSpectroscopyDetector Spectroscopy detector
camFile File
Device Commands
There will be an enumeration, defined by the name DeviceCommands, which will be
used to define the types of device commands. The enumeration description is given be-
low.
Name Description
camStart Start acquisition
camAbort Abort acquisition
camStop Stop acquisition
camMove Move sample changer
camClear Clear data
camReset Power reset
camReverify Reverify settings
camHome Sample changer home position
camLoad Sample changer load
camUnload Sample changer unload
camPassThru ??
camSpecials ??
camFileFlush Call SadFlush
camAcknowledge Call SadAckRequest.
camClearDone Call SadClearDone.
camAcceptErr Call SadAcceptOpenError.
camPassToCAM Passes data calls to file I/O routines
(i.e.PCAM.DLL)
165
Component Programming Library Reference
Name Description
camByNuclideLine Search for a nuclide line
camByPeak Search for a peak
camByHistory Search for a date
camByNuclideName Search for a nuclide name
Datasource Messages
There will be an enumeration, defined by the name SourceMessageMasks, which will be
used to define the datasource message bit masks. The enumeration description is given
below.
Name Description
camDisplaySetting Display setting has changed
camExternalStart Certain detectors can be started with an ‘arm’
flag, to ask it to wait for an external (hardware)
event. The PCA-3 is one; the ‘new AIM’ is
another. In the ‘armed’ state, when the
preset-checker thread sees ‘started’ at the
detector, it does a ‘set dirty’ using this bit.
(_ExtStart would be a better name, as
implemented.)
camExternalStartParam MCS external advance parameter,
camExternalStartParam,
CAM_L_MCSCEXTADV, changed.
camCalibrationParamChange Calibration parameters changed
camAcquireStart Acquisition started
camAcquisitionParam Acquisition parameter changed
camSampleParamChange Sample information changed
camAnalysisParamChange Analysis parameter changed
camDataChange Spectrum changed
166
CAM Datasource
Name Description
camAcquireDone Acquisition done
camHardwareError Hardware error
camHardwareChange Hardware settings changed
camHardwareAttention Attention light on hardware active
camDeviceUpdate Device updated
camSampleChangerSet Sample changer set
camSampleChangerAdvance Sample changer advanced
camAnotherUserOpened Another users has opened this device for control
camSuspectEnergyCal Energy calibration suspect (not used)
Preset Options
There will be an enumeration, defined by the name PresetOptions, which will be used to
define the preset options. The enumeration description is given below.
Name Description
camCountNormal Norrmal count
camCountToLiveTime Count till live time met
camCountToRealTime Count till real time met
camCountToTotal Count total counts met
camCountToLevel Count to a level
camCountToSweep Count to sweep
camCountToArea Count till area met
Information Types
There will be an enumeration, defined by the name InformationTypes, which will be used
to define type of information to get from the datasource. The enumeration description is
given below.
167
Component Programming Library Reference
Name Description
camServerType Type of VDM
camProperties Datasource properties
camCurrentMemoryGroup Current memory group
camCountMemory Row count
camName Name of the datasource
camFullName Fullname of the datasource
camWeighVDM The weight VDM
camDSType The datasource type
camIsOpen Whether datasource is open
camHandle The access handle
camOpenOptions The open options
camNodeName Computer name for the remote VDM in use
Datasource Properties
There will be an enumeration, defined by the name DatasourceProperty, which will be
used to define type of property information to get from the datasource. The enumeration
description is given below.
Name Description
camPropertyCounter Datasource is a counter
camPropertyNotVerified The Open was performed without the Verify bit
set.
camPropertyReadAccess Opened with read-only access
camPropertyWriteAccess Opened with read-write access
camPropertyControl Opened with control access
camPropertyNativeFile Datasource is a file
camPropertyFraction This (hardware) datasource is defined with
memory groups.
camPropertyVfyFatal This is used internally by SadOpen to do an
immediate Close.
168
CAM Datasource
Name Description
camPropertyVfyMajor This (detector) saw a ‘major verify’ at Open - the
only functions allowed are Close and (whatever it
takes to do) the MVC-status screen.
camPropertyVfyMinor This (detector) saw a ‘minor verify’ at Open - the
status box will turn ‘red’ but all functions will be
permitted.
camPropertyNoSpectrum Datasource does not have a spectrum. This file
has no PHA class (2005) - CAM_L_CHANNELS
is 0.
camPropertyInputOfMXR This detector is defined as one input of a
Mixer/Router.
camPropertyNewAIM The AIM which was opened is a ‘new’ one -
some new features are available. The DSA-2000
is a ‘new AIM’.
camPropertyNewAIM_2 The open detector is using the second ADC of a
‘new’ AIM.
camPropertyDesktopDSP The open detector is a DSA-2000 - it has some
‘special properties’ including: If we’re looking at
0xC000 then we’re looking at an MCS (a
multi-channel scaler device). That is: If the
DSA-2000 def’n has a ‘second half’ then it can
only be used to do MCS operations.
Device Status
There will be an enumeration, defined by the name DeviceStatus, which will be used to
define results from the status property in the device interface. The enumeration descrip-
tion is given below.
Name Description
camStatusExternalWait A start-external has been issued to the detector; the
preset-checker thread is waiting for the external
event. Or the datasource has been Opened by a
client. This has no meaning to the client - so that bit
position was re-used for the ExternalWait state.
camStatusIdle Set by a call to SadClearDone(); cleared by Start.
ClearDone() also clears _Done, _Stop, _Stopped
and _Reached. (The intent is/was to mean:
Start-time is not well-defined.)
169
Component Programming Library Reference
Name Description
camStatusBusy A Start has been issued or the detector is acquiring.
camStatusDone The preset-checker recognized “no longer busy”.
camStatusUpdate A write- or a control-command has been issued to
the datasource since Open or Save. This is also set
by an open-with-verify or if another opener has
been updated since Save. This is the only
documented bit that has meaning for files.
camStatusStop A ‘stop acquire’ command was issued.
camStatusStopped The preset-checker saw ‘done’ when _Stop was
set.
camStatusPreReached The preset-checker saw ‘done’ when _Stop was
NOT set.
camStatusLocked While the get/put-block sequences for ClassCopy
and SaveAs are underway PCAM needs to have
both files locked. This flag is used by the VDM to
make sure the files get properly unlocked at the end
of the sequence.
camStatusTemp This is set by the create of a file with name=”“. The
file will be deleted at close.
camStatusBumped A sample-changer advance was issued to the
detector and the status-checker has not yet seen
‘ready’.
camStatusSoftTime Certain MXR configurations (589-AMX?) have no
on-board timers. All preset-reached code needs to
be done at the VDM level; this flags that condition
to the preset-checker.
camStatusLockHardware While the get/put-block sequences for ClassCopy
and SaveAs are underway, PCAM needs to have
both files locked. This flag is used by the VDM to
make sure the files get properly unlocked at the end
of the sequence.
camStatusSoftBusy The only occurrence of this flag is commented out.
It was my intent to do the _SoftTime code in a
higher-priority thread, and I expected to use this
flag there.
camStatusError Error
170
CAM Datasource
Clone Options
There will be an enumeration, defined by the name CloneOptions, which will be used to
define the clone options. The enumeration description is given below.
Name Description
camCloneOpen An interface is created and the datasource is
reopened
camCloneNoOpen An interface is created but no datasource is
opened.
VDM Types
There will be an enumeration, defined by the name VDMTypes, which will be used to
define the type of VDM. The enumeration description is given below.
Name Description
camDeviceOnly Supports devices only
camFileOnly Supports files only
camBoth Supports both files and devices
Error Codes
There will be an enumeration, defined by the name CamSrcErrorCodes, which will be
used to define the error codes that are generated by this component library.
Structure Types
There will be an enumeration, defined by the name StructureTypes, which will be used to
define the different types of C structures that may be accessed via the Structure property.
The enumeration description is given below.
Structure Description
camStructEnergyCalEq Structure type definition G_EcalEq_S
camStructFwhmEq Structure type definition G_FwhmEq_T
171
Component Programming Library Reference
Structure Description
camStructHiTail Structure type definition G_TailEq_T
camStructLoTail Structure type definition G_TailEq_T
camStructSearch Structure type definition G_CommonPS_T
camStructPeakPS Structure type definition G_PeakPS_T
camStructPAResults Structure type definition PAResults_T
camStructARResults Structure type definition ARResults_T
camStructPlusROI Structure definition struct G_ExDispROI_S
camStructDispROI Structure definition struct G_DispROI_S
camStructCommonPA Structure type definition G_CommonPA_T
camStructSample Structure definition struct G_Elapse_S
camStructEnergyCal Structure type definition G_Cal_T
camStructShapeCal Structure type definition G_SC_T
camStructEFEntry Structure type definition stEFEntry_T
camStructCtfRec Structure type definition stCtfRec_T
camStructEfDual Structure type definition stEfDual_T
camStructEfLinear Structure type definition stEfLinear_T
camStructEfEmp Structure type definition stEfEmp_T
camStructECalSetup Structure type definition EcalSetup_T
camStructAcqPage Structure type definition AcqPage_T
camStructAcqPageX Structure type definition AcqPageX_T
camStructSamplePage Structure type definition SamplePage_T
camStructEcalAll Structure type definition EcalAll_T
camStructSpecialPks Structure type definition SpecialPeak_T
camStructSampleDesc Structure type definition SampleDesc_T
camStructSetPreset Structure type definition Preset_T
camStructNCLNuclide Structure type definition Nuclide_T
camStructNCLLine Structure type definition NucLine_T
camStructNCLMpc Structure type definition NCLMpc_T
camStructNCLMore Structure type definition NucMore_T
camStructNCLEngU Structure type definition NCLEngU_T
172
CAM Datasource
Structure Description
camStructNCLUnits Structure type definition NCLUnits_T
camStructNCLMpcCF Structure type definition NCLMpcCF_T
camStructPSNid Structure type definition G_PSNid_T
camStructPSMda Structure type definition G_PSMda_T
camStructProcNid Structure type definition G_ProcNid_T
camStructNLNid Structure type definition G_NLNid_T
camStructUtlEnergyCalEq Structure type definition stEncalEq_T
(Read-Only)
CamStructUtlFwhmCalEq Structure type definition stEncalEq_T
(Read-Only)
camStructUtlLowTailCalEq Structure type definition stEncalEq_T
(Read-Only)
Parameter Codes
There will be an enumeration, defined by the name ParamCodes, which will be used to
define parameter codes which are used to identify the parameter to retrieve.
Class Codes
There will be an enumeration, defined by the name ClassCodes, which will be used to de-
fine parameter blocks/classes which parameters belong to.
Conversion Options
There will be an enumeration, defined by the name ConversionOptions, which will be
used to define the type of conversion to perform using the IParameter.Convert method.
Name Description
camConvert2CAM Converts the value into a CAM parameter value
camConvert2Variant Converts the CAM parameter value into a Variant type
Analysis Options
There will be an enumeration, defined by the name AnalyzeOptions, which will be used
to define the analysis options using the IEvaluate.Analyze method.
173
Component Programming Library Reference
Name Description
camSyncAnalysis Analysis is performed synchronously (method is
blocking)
camAsyncAnalysis Analysis is performed asynchronously (method is
non-blocking)
camAlphaAnalysis Alpha analysis is performed
camReportOnlyAnalysis Report sections are executed only
camNoReportAnalysis No report sections are executed
Name Description
camInpMCA Multi-Channel Analyzer
camInpADC ADC
camInpMultiplexer Multiplexer
camInpStabilizer Stabilizer
camInpSampleChanger Sample Changer
camInpAmplifier Amplifier
camInpHVPS High voltage power supply
camInpPreamp Preamp
camInpLFC Loss Free Counting
camInpMCS MCS
camInpProtocol Protocol
camInpPowerMgmnt Power Management
camInpVacuum Vacuum
camInpGain Gain
camInpFilter Filter
camInpPulser Pulser
174
CAM Datasource
Name Description
camInpCtlPowerReset The device driver told the status-checker that it
detected a reset condition. Parameter settings
probably changed. A call to ControlDSC(
CTL_PowerReset ) for that device is in order.
That device will get (pretty much the equivalent
of) a ReVerify.
camInpCtlHardwareFail The device driver responded with this bit to the
‘read control status’ command.
camInpCtlRequest The device told the status-checker ‘attention
required’. The Gamma Analyst (at least) uses
this.
camInpVfyHardwareFail This is the logical OR of a) a specific error
returned from a parameter read issued to the
driver at verify time, and b) a
camInpCtlHardwareFail from a ControlStatus
read.
camInpVfySoftwareFail Pretty much any error from any Read or Write
call to the driver sets this bit.
camInpVfyModel The device-open code saw a _BadDevType error
return from the driver.
camInpVfySerial The serial number read from the device does not
match the one on file.
camInpVfyRead Comparing hardware to file, read-verify found a
difference. This can include parameters which
are read-only which are being looked at during
the write-verify operation.
camInpVfyWrite Writing to the hardware, at write-verify time, the
driver returned (specifically) a write-no-verify
error.
175
Component Programming Library Reference
This interface contains all of the properties and methods that are common to both hard-
ware datasource and files.
Opening a Datasource
The datasource is opened such that it may be opened multiple times in the same process.
To open the datasource within multiple processes, you must set the “SharedRW” prop-
erty in the .Properties method to true.
If you want to partition your process such that sections of the process can access the
datasource and others cannot then use the “AppName” property in the .Properties
method. This property will allow you to create a name that is associated with the
datasource. All processes that use this name can access the datasource.
Note You must specify the full path to files due to the S560 API.
Calling Convention)
long Open(BSTR Name, OpenOptions lOptions, SourceTypes Src)
Parameters
BSTR bstrName The name of the datasource.
VARIANT Args (Optional) If opening a CAM File using the Create option
the Options will accept the following array:
Note: For remote VDM access the NCF file must be up-
dated to exclude the “local” keyword from the first entry.
176
CAM Datasource
Optional
OpenOptions lOptions Value of camReadOnly.
Return
LONG Any warning generated during the open.
Example
Dim objDS As New CamDatasource
Dim objML As MessageList
Set objML = objDS.MessageList
lRC = objDS.Open(“c:\genie2k\camfiles\nbsstd.cnf”)
if (lRC 0) Then MsgBox objML.MessageString(lRC)
objDS.Close
Closing a Datasource
This method will close the datasource.
Calling Convention
Close(CloseOptions lOptions)
Parameters
CloseOptions The close options.
Optional
None
Example
Dim objDS As New CamDatasource
Dim objML As MessageList
177
Component Programming Library Reference
Calling Convention
VARIANT ScaledSpectrum (long Start, long Stop, long VFS)
Parameters
long Start The start channel.
127: VFS_AutoLog
122: VFS_AutoLin
31: Log 16 M
5: Linear 64
4: Linear 128
3: Linear 256
•
•
•
Optional
None
178
CAM Datasource
Return
VARIANT The spectrum value.
Calling Convention
CreateBlock(LONG Class, long Size)
Parameters
LONG Class The parameter class/block to create
long Size The size of the parameter block. A value of –1 indicates that the
default size specified by the CAM schema will be used.
Optional
None
Example
objDS.CreateBlock spDS.ClassCode(CAM_L_CHANNELS)
Calling Convention
CopyBlock(VARIANT Val, LONG lClass)
Parameters
VARIANT Val This can be a string name of a file, a data access object, a
device access object, or a CAM datasource object.
Optional
None
Example
objDS.CopyBlock
“c:\genie2k\camfiles\nbsstd.cnf2”,objDS.ClassCode[CAM_L_STITLE]
179
Component Programming Library Reference
Copying a Record
This method will allow you to copy a record to another record.
Calling Convention
CopyRecord(LONG lClass, long SourceRec, long DestRec, VARIANT_BOOL Delete,
VARIANT Dest)
Parameters
LONG lClass The parameter class/block to create
VARIANT_BOOL Delete If true, the source record is deleted after the copy is per-
formed.
VARIANT Dest This can be a string name of a file, a data access object, a
device access object, or a CAM datasource object.
Note CopyRecord actually inserts the record in the destination. Also, its not per-
forming any validation for similar existing record in the destination.
Optional
None
Example
objDS.CopyRecord CAM_CLS_PEAK, 1, 2, True, “c:\genie2k\camfiles\nbsstd.cnf2”
Finding a Record
This method will allow you to find a specific record.
Calling Convention
Find(FindOptions lOptions, VARIANT vSearchObject, long lStartRecord, long *plRec)
Parameters
FindOptions lOptions The find options
Optional
long lStartRecord Value of 1
180
CAM Datasource
Return
LONG The found record
Example
Dim vArgs As Variant
Dim Rec As Long
vArgs(0) = 88.7
vArgs(1) = 1.2
Rec = objDS.Find(camByNuclideLine, vArgs)
Calling Convention
Insert(LONG lClass, long lRec, long lEntry)
Parameters
LONG lClass The code identifying the class into which the record or entry is
inserted into.
long lEntry (Optional) The entry number to use for the insert. A value of -1
indicates a record is performed.
Optional
long lEntry Value of -1
181
Component Programming Library Reference
Example
objDS.Insert(CAM_CLS_PEAK, 2)
Calling Convention
Delete(LONG lClass, long lRec, long lEntry, DeleteOptions Option)
Parameters
LONG lClass The code identifying the class into which the record, entry or
block is deleted.
long lEntry (Optional) The entry number to use for the delete.
Optional
long lEntry Value of 0
Example
objDS.Delete(CAM_CLS_PEAK, 2)
Calling Convention
long Count(LONG lClass, long lRecord)
Parameters
LONG lClass The code identifying the class into which the record or entry is to
be counted or the CAM parameter to count the number of en-
tries.
long lRecord The record number to use for the entry count. A value of –1 indi-
cates a record count is performed. Cannot be –1 if counting num-
ber of entries.
Optional
None
182
CAM Datasource
Return
Record Count Value of -1
Note User must have to provide a valid class code for which tabular entries are exist-
ing. If there are no tabular entries for given class code, it will endup with VDM
timeout.
Example
objDS.Count(CAM_CLS_PEAK)
Save As
This method will allow you to save the changes to a new file.
Note You must specify the full path to the file dues to the S560 API.
Calling Convention
Save(BSTR Name, VARIANT_BOOL vbOverWrite)
Parameters
BSTR Name The name of the new file.
Optional
VARIANT_BOOL OverWrite Value of 0
Example
objDS.Save(“c:\genie2k\camfiles\test.cnf”, True)
Calling Convention
CreateLocalVdmConnection()
Parameters
None
Optional
None
183
Component Programming Library Reference
Note If the cam datasource has been marshaled across network boundaries (via
DCOM) then the VDM will be started where the cam datasource was originally
instantiated.
Most clients will not need to use this call since all lower level routines that require VDM
access already start the VDM when required.
Calling Convention
VARIANT Information (InformationType Type)
Parameters
InformationType Type The type of information to get.
Optional
None
Return
VARIANT The information
Example
objDS.Open “DET1”, camReadOnly, camSpectroscopyDetector
if (objDS.Information(camDSType) = camSpectroscopyDetector) Then …
Cloning
This method will allow you to create a new instance of the datasource interface or create
a new instance with a new connection to the datasource.
Calling Convention
LPDISPATCH* Clone(CloneOptions Options)
Parameters
CloneOptions Options What to clone.
Optional
None
184
CAM Datasource
Return
LPDISPATCH * Return A pointer to the interface Example
Example
Set objDS2 = objDS.Clone
Accessing Parameters
This property will allow you to get or set a parameter or an array of parameters.
Calling Conventions
VARIANT Parameter (VARIANT Codes, LONG Record, LONG Entry)
Parameters
VARIANT Code This is an array of parameter codes or a single parameter code.
Parameter codes are defined by the ParamCode enumeration.
Optional
LONG Record Value of 1
Return
VARIANT The parameter or array of parameter values
Privilege
Read-Write
Example
Dim lChans As Long
Dim Params As Variant
lChans = objDS.Parameter(CAM_L_CHANNELS)
Params = objDS.Parameter(Array(CAM_L_CHANNELS, CAM_T_STITLE))
Parameters
CloneOptions Options What to clone.
Return
LPDISPATCH A pointer to the interface
185
Component Programming Library Reference
Example
Set objDS2 = objDS.Clone
Calling Conventions
VARIANT ArrayOfParameters(LONG Code, long Num, ArrayOptions Options,
LONG Record, LONG Entry)
Parameters
LONG Code This single parameter code. Parameter codes are defined by the
ParamCode enumeration.
ArrayOptions Options (Optional) Refer to CAM Datasource Data Types on page 162).
Optional
LONG Number Value of 1
Return
VARIANT The parameter or array of parameter values.
Privilege
Read-Write
Example
Dim Params As Variant
Params = objDS.ArrayOfParameters(CAM_L_RGNSTART, 2)
186
CAM Datasource
ICamDatasource Properties
These properties are used to get or set the following properties:
These properties return a Genie 2000 environment variable of the same. See the section
“Genie 2000 Environment Settings” of the Genie 2000 Operations Manual for details.
187
Component Programming Library Reference
VDM$TEMPS
Calling Conventions
VARIANT Properties(VARIANT PropertyName)
Parameters
VARIANT PropertyName The property name.
Optional
None
Return
VARIANT The property value
Calling Conventions
VARIANT_BOOL HasChanged ()
Parameters
None
Optional
None
Privilege
Read-Write
Example
if (objDS.HasChanged) Then objDS.Save camUpdate
Device Interface
This property will return an interface to access the hardware specific properties and
methods. If the datasource has not hardware then no interface is returned.
188
CAM Datasource
Calling Convention
IDevice * Device()
Parameters
None
Optional
None
Return
IDevice * Device interface pointer
Privilege
Read-Only
Example
objDS.Device.Execute camClear
Preset Interface
This property will return an interface to access the preset. This interface can be used to
get or set the preset information. The preset is setup by Preset Interface.
Calling Conventions
IPreset* Preset()
Parameters
None
Optional
None
Return
IPreset The preset interface
Privilege
Read-Write
Example
Dim objPreset As Preset
Set objPreset = objDS.Device.Preset
189
Component Programming Library Reference
objPreset.Time = 56
objPreset.Options = camCountToRealTime
Set objDS.Device.Preset = objPreset
Evaluate Interface
This property will return an interface to IEvaluate interface. This interface can be used to
evaluated calibrations, ROI information, etc.
Calling Convention
IEvaluate* Evaluate ()
Parameters
None
Optional
None
Return
IEvaluate * The Evaluate Interface Pointer.
Privilege
Read-Only
Example
Energy = objDS.Evaluate.Evaluate(camEnergy2Channel, 56)
Calling Conventions
LPUNKNOWN MessageList ()
Parameters
None
Optional
None
190
CAM Datasource
Return
IMessageList * The interface.
Privilege
Read-Write
Example
OnError Resume Next
Energy = objDS.Evaluate.Evaluate(camEnergy2Channel, 56)
If (Err.Error 0) Then
Dim objInfo As MessageInfo
Calling Convention
VARIANT CompletionTime ()
Parameters
None
Optional
None
Return
VARIANT Expected completion date as VT_DATE
Privilege
Read-Only
Calling Conventions
VARIANT Spectrum(long lStart, long lStop)
191
Component Programming Library Reference
Parameters
long lStart The start channel.
long lStop The end channel. A value of –1 indicates that the last channel
will be used.
Optional
long lStart Value of 1
Return
VARIANT The spectrum
Privilege
Read-Write
Example
Dim Data As Variant
Data = objDS.Spectrum
The properties and methods for both interfaces are the same and are discussed below.
192
CAM Datasource
Datasource Messages
This event will be fired for any asynchronous data retrieval call.
Calling Convention
HRESULT DataSourceMessages(long Message, long wParam, long lParam)
Parameters
LONG Message The device message.
Calling Convention
HRESULT PropertChange(VARIANT Name, VARIANT Val)
Parameters
VARIANT Name The property name
Device Interface
This section will discuss the IDevice. This interface contains all of the methods and prop-
erties that are common to hardware datasource.
Executing Commands
This method executes a device command.
Calling Convention
ExecuteCommand(DeviceCommands Command)
Parameters
DeviceCommands The command to send.
Optional
None
193
Component Programming Library Reference
Returns
HRESULT The return status.
Calling Convention
ClearError()
Parameters
None
Optional
None
Example
Dim objDS As New CamDatasource
Dim objML As MessageList
Calling Convention
Long Verify()
Parameters
None
Optional
None
Return
long Verification results
194
CAM Datasource
Status
This property will allow you to get the status of the hardware.
Calling Convention
VARIANT Status(VARIANT_BOOL StatusOnly)
Parameters
VARIANT_BOOL StatusOnly (Optional) Indicates whether status is the only return
value.
Optional
VARIANT_BOOL StatusOnly Value of -1
Return
VARIANT If StatusOnly is true, the DeviceStatus enumeration
value is returned. Otherwise, the DeviceStatus enu-
meration is returned in array index 0 and the currently
acquiring memory group number is returned in array
index 1.
Privilege
Read-Only
Example
If (camStatusBusy And objDS.Device.Status) Then …
Memory Groups
These properties allow you to get or set the current memory group to use.
Calling Conventions
MemoryGroup()
Parameters
None
Optional
None
Return
long The menory group
195
Component Programming Library Reference
Privilege
Read-Write
Example
Mem = objDS.Device.MemoryGroup
Preset Interface
This property will return an interface to access the preset. This interface can be used to
get or set the preset information. The preset is setup by the preset interface.
Calling Conventions
Preset()
Parameters
None
Optional
None
Return
IPreset The preset interface.
Privilege
Read-Write
Example
Dim objPreset As Preset
Set objPreset = objDS.Device.Preset
objPreset.Time = 56
objPreset.Options = camCountToRealTime
Set objDS.Device.Preset = objPreset
Calling Convention
IInputs *Inputs()
196
CAM Datasource
Parameters
None
Optional
None
Return
IInputs* Input interface pointer
Privilege
Read-Only
Example
Dim obInputs As Inputs
Set objInputs = objDS.Device.Inputs
MsgBox “Number of supported input devices: “ & objInputs.Count
Datasource
This property will allow you to set or get a pointer to the CamDatasource interface.
Calling Convention
Datasource ()
Parameters
None
Optional
None
Return
IUnknown CamDatasource Interface pointer
Privilege
Read-Write
Properties
This property allows for future expansion of the property list.
Calling Convention
VARIANT Properties(VARIANT PropertyName)
197
Component Programming Library Reference
Parameters
VARIANT PropertyName The property name.
Optional
None
Return
VARIANT The property value.
Privelege
Read-Write
Input Interface
This section will discuss the IInputDevice. This interface defines all of the properties as-
sociate with an input device.
Name
This property will return the name of the input device.
Calling Convention
BSTR Name()
Parameters
None
Optional
None
Return
BSTR The device name.
Privilege
Read-Only
Status
This property will return the status of the input device, see “Input Device Status” on page
175.
Calling Convention
InputDeviceStatus Status ()
198
CAM Datasource
Parameters
None
Optional
None
Return
InputDeviceStatus Input device status
Privilege
Read-Only
Calling Conventions
long Verification ()
Parameters
None
Optional
None
Return
PVal- (long, output) The longword of verification status bits as returned from
SadQueryDevice. Note the definition of the bits depends on the
device type and how the driver is returning the bits. Typically
the caller will only be interested in seeing if any bit is set (indi-
cating there was a verification failure of some type). Since some
devices have parameters that may fail verification but are not
specifically written (such as HVPS inhibit) the client would call
this routine to see if there was an error.
Privilege
Read-Only
Programmable Device
This property will return TRUE if this input device is programmable.
Calling Convention
VARIANT_BOOL Programmable ()
199
Component Programming Library Reference
Parameters
None
Optional
None
Return
VARIANT_BOOL TRUE or FALSE.
Privilege
Read-Only
Type
This propert will return an input device type.
Calling Convention
InputDeviceTypes Type ()
Parameters
None
Optional
None
Return
InputDeviceTypes The input device type.
Privilege
Read-Write
Source
This propert will return an interface to the associated datasource, ICamDatasource.
Calling Convention
LPUNKNOWN Source ()
Parameters
None
Optional
None
200
CAM Datasource
Return
LPUNKNOWN The datasource interface.
Privilege
Read-Only
Supported Parameter
This property will return an interface to the parameters that are supported by this inter-
face. This is a collection of parameters, see “Parameters Interface” on page 213.
Calling Convention
IParameters* Parameters()
Parameters
None
Return
IParameters* The parameters interface
Privelege
Read-Only
Properties
This property allows for future expansion of the property list.
Calling Convention
VARIANT Properties(VARIANT PropertyName)
Parameters
VARIANT PropertyName The property name
Return
VARIANT The property value.
Privelege
Read-Write
201
Component Programming Library Reference
Count
This property will return the number of input devices this datasource supports.
Calling Convention
LONG Count()
Parameters
None
Return
LONG The number of input collection devices.
Privilege
Read-Only
Item
This property will return the input device interface associate with this index value. See
“Input Device Interface” on page 198 for details about the IInputDevice interface.
Calling Conventions
IInputDevice* Item(LONG Index)
Parameters
LONG The index number. Starts at 0 and ends at Count-1.
Return
IInputDevice The associate input device interface.
Privilege
Read-Only
Find
This method will return a specific input device interface that may not be supported by
this device. If it is not supported by this datasource, the return value is NULL.
Calling Convention
IInputDevice* Find (InputDeviceTypes Type)
Parameters
InputDeviceTypes The device type
202
CAM Datasource
Return
IInputDevice * The associate input device interface
Privilege
Read-Only
Source
This method will return an interface to the associated datasource, ICamDatasource.
Calling Convention
LPUNKNOWN Source()
Parameters
None
Return
LPUNKNOWN *Val The datasource interface.
Privilege
Read-Write
Calling Convention
VARIANT_BOOL CheckStatus(InputDeviceTypes *peType)
Parameters
InputDeviceTypes *peType The first device with a status bit set.
Return
VARIANT_BOOL True if one device has a non-zero status.
Privilege
Read-Only
Example
This section will provide examples of how to use this interface based on the discussions
in the previous sections
203
Component Programming Library Reference
Next
Calling Convention
VARIANT_BOOL CheckVerification (InputDeviceTypes *peType)
Parameters
InputDeviceTypes *peType The first device with a status bit set
Return
VARIANT_BOOL *pvbRet The status of the call
Privilege
Read-Only
Properties
This property allows for future expansion of the property list.
Calling Convention
VARIANT Properties(VARIANT PropertyName)
Parameters
VARIANT PropertyName The property name.
Optional
None
Return
VARIANT *Val The property value.
Privilege
Read-Write
204
CAM Datasource
Evaluate Interface
This section will discuss the IEvaluate. This interface contains all of the properties and
methods that are common to evaluating the datasource.
Calls a Genie-2k analysis engine. Does not return the arguments from the function call
but always adds status information to the message list if they are non-zero.
Calling Convention
CallEngine (BSTR EngineName, VARIANT_BOOL vbAlphaAEF)
Parameters
EngineName BSTR the generic (language independent) name of the engine
for a particular phase (input).
Optional
None
Extension of CallEngine to allow the client to receive the contents of the lVal pointers
from the engine. The client can then add them to the message list or process them di-
rectly.
Calling Convention
CallEngineEx (BSTR EngineName, VARIANT_BOOL vbAlphaAEF, long *lVal1, long
*lVal2, VARIANT_BOOL vbLogWarnings)
Parameters
EngineName BSTR the generic (language independent) name of the engine
for a particular phase (input).
Optional
None
205
Component Programming Library Reference
Evaluations
This method will allow you to evaluate a calibration point or compute ROI information.
Calling Convention
VARIANT Evaluate(EvaluationOptions,VARIANT Parameters)
Parameters
EvaluationOptions What to evaluate.
VARIANT Parameters Parameters need for evalution. See the table below
The table below outlines the various returns data types, input arguments, and documents
associated with each computation.
Name Parameter
CamEnergy2Channel Energy
Arg [0] : Channel Efficiency Value
CamChannel2Energy Channel
Arg [0] : Energy Value
CamChannel2Efficiency Channel
Arg [0] : Efficiency Value
Arg [1] : Efficiency Error
CamEnergy2FWHM Energy
Arg [0] : FWHM Value
camChannel2FWHM Channel
Arg [0] : Channel Value
camChannel2LowTail Channel
Arg [0] : LowTail Value
camChannel2Resolution Arg[0]: Peak width in channels
Arg[1]: Peak centroid in channels
206
CAM Datasource
Name Parameter
camRoiInformation Arg[0]: Left ROI
Arg[1]: Right ROI
Arg[2]: Number of background Channels
Arg[3]: Number of Standard Deviations
Arg[4]: Boolean indicating values are in energy
Return Value is an Array of
Val[0]: Integral
Val[1]: Area
Val[2]: Area Unc
Val[3]: Gaussian Ratio
Val[4]: Centroid
Val[5]: FWHM
Val[6]: FWTM
camMDAPreset Arg[0]: Required MDA (Optional)
Arg[1,,,N]: Nuclide Names (Optional)
Return Val may be an Array of
Val[0]: Preset Time
Val[1,…N]: Nuclides not found
camAreaPreset Arg: Required area
Return Val may be an Array of
Val[0]: Preset Time
Val[1,…N]: Nuclides not found
Optional
None
Return
VARIANT
Example
Energy = objDS.Evaluate.Evaluate(camEnergy2Channel, 56)
Analysis
This method will allow you to execute an analysis sequence on this datasource. Refer to
“Analysis Options” on page 173 for details of analysis.
Calling Convention
long Analyze (AnalyzeOptions Options, VARIANT Skip2Steps, BSTR SequenceFile,
BSTR ReportFile)
207
Component Programming Library Reference
Parameters
AnalyzeOptions The analysis options
VARIANT Skip2Steps An array of longs indicating which steps to skip. Step num-
bers start at index value of 1 (option base 1).
Optional
None
Return
long The last step that was executed
Example
LastStep = objDS.Evaluate.Analyze(camSyncAnalysis, , “peakloc.asf”)
Abort
This method will allow you to abort an analysis that has been executed asynchronously.
Calling Convention
Abort()
Parameters
None
Optional
None
Example
Dim objEval As Evaluate
Datasource
This property will allow you to set or get a pointer to the CamDatasource interface.
208
CAM Datasource
Calling Convention
IUknown* Datasource ()
Parameters
None
Optional
None
Return
IUnknown* CamDatasource Interface pointer
Privilege
Read-Write
Properties
This property allows for future expansion of the property list.
Calling Convention
VARIANT Properties(VARIANT PropertyName)
Parameters
VARIANT PropertyName The property name
Optional
None
Return
VARIANT The property value.
Privilege
Read-Write
Evaluate Events
Any evaluation interface supports the following event interfaces: _IEvaluateEvents or
_IEvaluateEventVt interface.
209
Component Programming Library Reference
The _ IEvaluateEventsVt will be a custom COM interface that should be used by any en-
vironment that supports this type of interface. Since the interface is custom it inherits
from IUnknown. This interface should be used over the previous interface because there
is less overhead in using it.
The properties and methods for both interfaces are the same and are discussed in the sec-
tions below.
Calling Convention
HRESULTS AnalysisComplete(LONG Status, LONG LastStepExecuted)
Parameters
LONG Status The execution status.
Preset Interface
This section will discuss the IPreset. This interface contains all of the properties that are
common to setting up the counting presets.
Start Channel
This property will allow you to set or get the preset start channel.
Calling Conventions
long StartChannel()
Parameters
None
Optional
None
Return
LONG The start channel.
Privilege
Read-Write
210
CAM Datasource
Stop Channel
This property will allow you to set or get the preset stop channel.
Calling Conventions
long StopChannel()
Parameters
None
Optional
None
Return
LONG The stop channel.
Privilege
Read-Write
Count Limit
This property will allow you to set or get the preset limit.
Calling Conventions
DOUBLE Limit()
Parameters
None
Optional
None
Return
DOUBLE The preset limit value.
Privilege
Read-Write
Sweeps
This property will allow you to set or get the number of sweeps.
211
Component Programming Library Reference
Calling Conventions
LONG Sweeps( )
Parameters
None
Optional
None
Return
LONG The number of sweeps.
Privilege
Read-Write
Time
This property will allow you to set or get the preset time.
Calling Conventions
DOUBLE Time()
Parameters
None
Optional
None
Return
DOUBLE The preset time.
Privilege
Read-Write
Options
This method will allow you to set or get the preset options.
Calling Conventions
PresetOptions Options()
Parameters
None
212
CAM Datasource
Optional
None
Return
PresetOptions The preset options value.
Privilege
Read-Write
Example
Dim objPreset As Preset
Set objPreset = objDS.Device.Preset
objPreset.Time = 56
objPreset.Options = camCountToRealTime
Set objDS.Device.Preset = objPreset
Properties
This property allows for future expansion of the property list.
Calling Convention
VARIANT Properties(VARIANT PropertyName)
Parameters
VARIANT PropertyName The property name
Optional
None
Return
VARIANT The property value.
Privilege
Read-Write
Parameter Interface
This section will discuss the IParameter. This interface contains all of the methods and
properties hat are common to getting information about the parameter.
Convert
This method will allow you to convert a value to a CAM value or to a Variant value.
213
Component Programming Library Reference
Calling Convention
VARIANT Convert(ConversionOptions Op)
Parameters
ConversionOptions Op The conversion option.
Optional
None
Return
VARIANT The output value.
Example
Dim objParam As New Parameter
Dim varCamDate As Variant
objParam.Code = CAM_X_ASTIME
objParam.Value = Today
varCamDate = objParam.Convert(camConvert2CAM)
Code
This property will allow you to set or get the parameter code to use.
Calling Conventions
LONG Code()
Parameters
None
Optional
None
Return
LONG The parameter code
Privilege
Read-Write
Class
This property will allow you to get the class the parameter belongs to.
214
CAM Datasource
Calling Convention
LONG Class()
Parameters
None
Optional
None
Return
LONG The class code
Privilege
Read-Only
Name
This property will allow you to get the parameter name.
Calling Convention
BSTR Name()
Parameters
None
Optional
None
Return
BSTR The parameter name.
Privilege
Read-Only
Example
Dim objParam As New Parameter
objParam.Code = CAM_L_CHANNELS
MsgBox objParam.Name
Description
This property will allow you to get the parameter description.
215
Component Programming Library Reference
Calling Convention
BSTR Description()
Parameters
None
Optional
None
Return
BSTR The parameter description.
Privilege
Read-Only
Example
Dim objParam As New Parameter
objParam.Code = CAM_L_CHANNELS
MsgBox objParam.Description
Type
This method will allow you to get the parameter type. This type information matches the
Variant enumeration types.
Calling Conventions
LONG Type()
Parameters
None
Optional
Return
LONG The parameter type.
Value
This property will allow you to get or put the parameter value to use in the Convert
method.
216
CAM Datasource
Calling Conventions
VARIANT Value()
Parameters
None
Optional
None
Return
VARIANT The parameter value.
Privilege
Read-Write
Message List
This property will get or set the current message list for this component to use.
Calling Convention
LPUNKNOWN MessageList ()
Parameters
None
Optional
None
Return
LPUNKNOWN The message list pointer
Privilege
Read-Write
Parameter Size
This property returns the size of the parameter
LONG Size ()
Parameters
None
217
Component Programming Library Reference
Privilege
Read-Only
Optional
None
Return
LONG Parameter size
Properties
This property allows for future expansion of the property list.
Calling Convention
VARIANT Properties(VARIANT PropertyName)
Parameters
VARIANT PropertyName The property name
Optional
None
Return
VARIANT The property value.
Privilege
Read-Write
Count
This property will return the number of parameters supported by the input device.
Calling Convention
long Count()
Parameters
None
218
CAM Datasource
Optional
None
Return
LONG Count The number of parameters this interface supports.
Privilege
Read-Only
Item
This property will return the input device interface associate with this index value. See
“Parameter Interface” on page 213 for details about the IParameter interface.
Calling Convention
IParameter* Item (LONG Index)
Parameters
LONG The index number. Starts at 0 and ends at Count-1.
Optional
None
Return
IParameter ** The associate parameter interface.
Privilege
Read-Only
Collection
This property will return an enumeration of all of the supported parameters.
Calling Convention
LPUNKNOWN _NewEnum ()
Parameters
None
Optional
None
219
Component Programming Library Reference
Parameters
LPUNKNOWN *pVal A collection of all of the supported parameter interfaces.
Privilege
Read-Only
Source
This property will return an interface to the associated input device IInputDevice.
Calling Convention
LPUNKNOWN Source ()
Parameters
None
Optional
None
Return
LPUNKNOWN *Val The input device
Privilege
Read-Write
Example
This section will provide examples of how to use this interface based on the discussions
in the previous sections
Properties
This property allows for future expansion of the property list.
Calling Convention
VARIANT Properties(VARIANT PropertyName)
220
Data Display
Parameters
VARIANT PropertyName The property name.
Optional
None
Return
VARIANT The property value.
Privilege
Read-Write
Data Display
The Mvc Active-X component was designed to control and display data acquired from
spectroscopy detectors, neutron shift register devices, neutron multiplicity devices, and
neutron scaler devices. This component can also display data stored in a file that has a
CAM format. This component displays information based on the type of data, spectro-
scopic or neutronic. Spectroscopy data is displayed via a two dimensional spectral plot.
Neutron data is displayed in an Excel-like spreadsheet and in various types of plots.
Note: For the MVC component to run on Windows NT requires the installation of
Windows NT Service Pack 3 or greater.
Figure 19 Nuclear
Library Icon
221
Component Programming Library Reference
Double click on this icon and it will appear on your VB form. This icon will appear only
during design time. There are no properties visible in the property toolbar list; all proper-
ties and methods become visible during coding.
Datasource Management
222
Data Display
Hardware Control
223
Component Programming Library Reference
Display Limits
Exporting Data
Opening a Datasource
Either opens a file or connects to a device and displays the data. Once a datasource has
been opened this datasource becomes the current datasource. Please refer to “Connecting
to a Device” on page 128 for a dicussion on handling errors from spectroscopy devices.
Note The datasource may be opened read-write by multiple components in the same
process. However, all openers share the same handle. Therefore any save will
result in all changes being saved.
Calling Convention
Open(String Name, OpenOptions Options, SourceType Type, String Port, BaudRate
Baud)
Parameters
String Name The name of the datasource to open
224
Data Display
NeutronShiftRegisterJsr12: Jsr-12
NeutronMultiplicity2150: 2150
SpectroscopyDetector: Detector
BaudRate Baud (Optional) The serial port baud rate. This is used for neu-
tron analyzers only.
String szPort (Optional) The serial port name. This is used for neutron
analyzers only.
Optional
BooleanIsDetector A value of false
Example
Dim Disp as New Mvc
Disp.Open “c:\genie2k\camfiles\naidemo.cnf”, ReadOnly
225
Component Programming Library Reference
Closing a Datasource
Closes either a file or disconnects from a device and removes the display information
from the display.
Calling Convention
Close(CloseMode Options)
Argument
CloseMode Mode (Optional) The close options:
Optional
CloseMode Mode Value of NoUpdate
Example
Dim Display as New Mvc
Display.Open “bobo.cnf”, ReadWrite
Display.Close
Calling Convention
CloseAll()
Optional
None
Example
Dim Display as New Mvc
Display.Open “bobo.cnf”, ReadWrite
Display.Open “det1”, ReadWrite, true
Display.CloseAll
Saving Data
The ROI information and acquisition measurements may be stored into the current
datasource or a new datasource via this method.
Note: Data can not be saved while a neutron device is in data acquisition.
226
Data Display
Calling Convention
Save(String File, Boolean Overwrite)
Parameters
String File The name of the file. If , changes are saved to the cur-
rent datasource.
Boolean Overwrite (Optional) If the file exists and this is true, the file is over-
written
Optional
Boolean Overwrite A value of false.
Example
Dim Display as New Mvc
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
Display.Save(“MySpectralResults.cnf”)
Calling Convention
DisplaySource(Variant WhichSrc)
Parameters
Variant WhichSrc This may be an integer defining the source index in the
source list (Option Base 0). This may be a string defining
the name of the source.
Optional
None
Example
Dim Display as New Mvc
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
Display.Open “naidemo.cnf”, ReadWrite
Display.Open “nbsstd.cnf”, ReadWrite
Display.DisplaySource(“Det1”)
Display.DisplaySource(2)
Next Datasource
The next datasource in the source list may be displayed via this method. If current
datasource is last in the list, this method will display the first datasource in the list
227
Component Programming Library Reference
Calling Convention
NextSource
Parameters
None
Optional
None
Example
Dim Display as New Mvc
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
Display.Open “Det2”, ReadWrite, SpectroscopyDetector
Display.NextSource
Previous Datasource
The previous datasource in the source list may be displayed via this method. If current
datasource is first in the list, this method will display the last datasource in the list.
Calling Convention
PreviousSource
Parameters
None
Optional
None
Example
Dim Display as New Mvc
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
Display.Open “Det2”, ReadWrite, SpectroscopyDetector
Display.PreviousSource
Calling Convention
DataSourceIsLoaded(String Name)
228
Data Display
Parameters
String Name The name of the datasource.
Optional
None
Return
Boolean DataSourceIsLoaded If true, the datasource is loaded in the display component
Calling Convention
SpectroscopyAcquireSetup(AcquisitionModes Mode, Double Lim, Long Start, Long
End, Double ElapsedTime, Single HighVoltage)
Parameters
AcquisitionModes Mode (Optional) The preset modes:
Double ElapsedTime (Optional) The preset time limit. This argument should be
set only during: aCountToTotal, aCountToArea, or
aCountToLevel.
Single HighVoltage (Optional) The high voltage value. If specified as 0.0 the
value is ignored and the value stored in the device is used.
229
Component Programming Library Reference
Optional
AcquisitionModes Mode A value of aCountNormal.
Example
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
Display.SpectroscopyAcquireSetup aCountToLiveTime, 10.0
Note This method will turn on the high voltage for the device. To specify a compu-
tational preset (aCountToTotal, aCountToArea, aCountToLevel) the flag must
be combined with either aCountToLiveTime or aCountToRealTime. In these
cases the value specified for ElapsedTime will be set to the real or live time
preset limit.
Calling Convention
NeutronAcquireSetup(Single Gatewidth, Single Predelay, Double CountTime, Long
Cycles, Long Voltage, Single DeadTime, Boolean Verify)
Parameters
Single Gatewidth (Optional) The gate width (micro-sec)
Boolean Verify (Optional) If true, the parameters are written to the hard-
ware and read back to verify that the hardware accepted the
values. If false, the software verifies that the values are
within the valid range for the hardware.
230
Data Display
Optional
Long Voltage A value of 1500
Example
Dim Display as New Mvc
Display.Open “Jsr”, ReadWrite, NeutronShiftRegisterJsr12
Display.NeutronAcquireSetup 60.0, 4.5, 40, 2
Starting an Acquisition
An acquisition may be started using this method provided that the current datasource is
an analyzer. Once acquisition is started the device measurements will be automatically
updated.
Calling Convention
AcquireStart (StartOptions Options)
Parameters
StartOptions Options The start options are:
Optional
None
Example
Dim Display as New Mvc
Display.Open “Det1”, dReadWrite, SpectroscopyDetector
Display.AcquireStart
An acquisition may be started by breaking the DeviceAccess interface out from the Mvc
interface. What is meant is that the Mvc interface can create a DeviceAccess interface for
231
Component Programming Library Reference
you to control the device. This interface may be used instead of using the method
AcquireStart. For example:
See “Current Datasource” on page 248 for details about the CurrentDataSource property.
Aborting an Acquisition
This routine aborts an acquisition. All data is cleared after the device is stopped.
Calling Convention
AcquireStop(StopOptions Options)
Parameters
StopOptions Options The stop options:
Optional
StopOptions Options A value of aNormalStop
Example
Dim Display as New Mvc
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
Display.AcquireStart
Display.AcquireStop
An acquisition may be aborted by breaking the DeviceAccess interface out from the Mvc
interface. What is meant is that the Mvc interface can create a DeviceAccess interface for
you to control the analyzer. This interface may be used instead of using the method
AcquireStop. For example:
232
Data Display
See “Current Datasource” on page 248 for details about the CurrentDataSource property.
Pausing an Acquisition
The routine stops an acquisition without clearing the data.
Calling Convention
AcquirePause(StopOptions Options)
Parameters
StopOptions Options The stop options
Optional
StopOptions Options A value of aNormalStop
Example
Dim Display as New Mvc
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
Display.AcquireStart
Display.AcquirePause
An acquisition may be paused by breaking the DeviceAccess interface out from the Mvc
interface. What is meant is that the Mvc interface can create a DeviceAccess interface for
you to control the analyzer. This interface may be used instead of using the method
AcquirePause. For example:
See “Current Datasource” on page 248 for details about the CurrentDataSource property.
233
Component Programming Library Reference
Clearing a Device
All device memory may be cleared using this method provided that the current
datasource is an analyzer. If there are multiple devices that are loaded into the compo-
nent, all may be cleared at the same time by specifying the ClearAllDevices argument.
Calling Convention
Clear(ClearOptions Option)
Parameters
ClearOptions Option The clear options
Optional
ClearOptions Option A value of NormalClear
Example
Dim Display as New Mvc
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
Display.AcquireStart
Display.AcquirePause
Display.Clear
An acquisition may be cleared by breaking the DeviceAccess interface out from the Mvc
interface. What is meant is that the Mvc interface can create a DeviceAccess interface for
you to control the analyzer. This interface may be used instead of using the method
Clear. For example:
See “Current Datasource” on page 248 for details about the CurrentDataSource property.
234
Data Display
Calling Convention
VerifyInputDevices()
Parameters
None
Optional
None
Example
Dim Display as New Mvc
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
Display.VerifyInputDevices
Adding an ROI
Spectral ROIs may be added to the spectral ROI list and displayed via this method. The
location of the ROI cursors defines the new ROI that is to be added.
Calling Convention
AddRoi
AddRoi Ex(Long Start, Long Stop, Long Type)
Parameters
Long Start The ROI Start Channel
Optional
None
Example
Dim Display as New Mvc
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
Display.AddRoi
Deleting an ROI
A spectral ROI may be remove from the ROI list and displayed via this method. The lo-
cation of the ROI cursors defines the ROI that is to be removed.
235
Component Programming Library Reference
Calling Convention
DeleteRoi
DeleteRoi Ex(Long Start, Long Stop, Long Type)
Parameters
Long Start The ROI Start Channel
Optional
Long Type A value of −1 means delete the first ROI that matches the
one specified, regardless of the ROI type
Example
Dim Display as New Mvc
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
Display.DeleteRoi
Calling Convention
DeleteAllRois
Parameters
None
Optional
None
Example
Dim Display as New Mvc
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
Display.DeleteAllRois
236
Data Display
Calling Convention
NextROI
Parameters
None
Optional
None
Example
Dim Display as New Mvc
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
Display.NextRoi
Calling Convention
PreviousROI
Parameters
None
Optional
None
Example
Dim Display as New Mvc
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
Display.PreviousROI
Saving ROIs
The spectral ROI list may be saved in the datasource or an ROI file by using this method.
Calling Convention
SaveRoi(String RoiFile, Boolean Overwrite)
237
Component Programming Library Reference
Parameters
String RoiFile (Optional) The name of the file. If the string is NULL (i.e.,
a value of “”) the current datasource is used as the storage
medium.
Boolean Overwrite (Optional) If the file exists and this is true, the file is over-
written.
Optional
String RoiFile A value of “”.
Example
Dim Display as New Mvc
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
Display.AddRoi
Display.SaveRois(“MyRois.Roi”)
Loading ROIs
A spectral ROI file may be loaded into the display via this method.
Calling Convention
LoadRoi(String RoiFile, Boolean ByEnergy)
Parameters
String RoiFile The name of the file.
Boolean ByEnergy (Optional) If true, the ROIs are stored in energy units.
Optional
Boolean ByEnergy A value of false.
Example
Dim Display as New Mvc
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
Display.LoadRois(“MyRois.Roi”)
238
Data Display
Calling Conventions
NextNuclideLine()
PreviousNuclideLine()
NextNuclide()
PreviousNuclide()
Parameters
None
Optional
None
Note: The cursors may also be move by assigning the CAM parameters
CAM_L_CURSORCH, CAM_L_RMARKCH, or CAM_L_LMARKCH using
the Param property.
Calling Convention
MoveSpectralPlotCursor(SpectralPlotCusors Cursor, Single Value, Boolean IsEnergy)
Parameters
Spectral PlotCusors Cursor The cursor to move. The cursor types are Peak, LeftRoi, or
RighRoi.
Single Value The location to move the cursor to. If is energy, must have
units of keV.
Optional:
Boolean IsEnergy A value of false.
Zoom Out
While in zoom mode there is the ability to zoom out to a previous zoom aperture setting.
See Section “Activating Zoom Mode” on page 258 for enabling zoom mode.
239
Component Programming Library Reference
Calling Convention
ZoomOut()
Parameters
None
Optional
None
Example
Dim Display as New Mvc
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
Display.ZoomOut
Call Convention
SetPlotLimits(Double MinX, Double MaxX, Double MinY, Double MaxY)
Parameters
Double MinX Min x value
Optional
None
Return
None
Example
Dim Disp as New Mvc
Disp.Open “c:\genie2k\camfiles\nbsstd.cnf”
Disp.SetPlotLimits(0, 1024, 0, 4096)
240
Data Display
Calling Convention
CopyToClipBoard()
Parameters
None
Optional
None
Printing Graphics
A print dialog is displayed when this method is called. The 2-d plot or the spreadsheet in-
formation that is printed is the information displayed in the data window (i.e., the win-
dow displaying the measurement data).
Note The default plot title all spectral plots will be defined by the CAM parameter
CAM_T_STITLE. If this parameter is NULL, there is no main title. The sub-
title for all spectral plots will be the name of the CAM data. The plot title for
neutron plots may be defined by CAM_T_STITLE. If this parameter is NULL,
the name of the datasource is used. The subtitle for all neutron plots is deter-
mined by the data displayed. Histogram data has the histogram cycle number
as the subtitle. Scaler data has the scaler bank number as the subtitle. The co-
incidence rate summary plot has “Rate Summary” as the subtitle. All other
neutron plots do not have subtitles.
Calling Convention
PrintPlotDialog()
Parameters
None
Optional
None
Example
Mvc.Open “c:\genie2k\camfiles\naidemo.cnf”
Mvc.PrintDialog()
241
Component Programming Library Reference
Exporting Data
Spectral and neutron data can be exported to an ASCII text file by using this method. For
spectral data, the channel, energy, efficiency and count are exported. Neutron sources
have count rate, histogram and scalar data exported.
Calling Conventions
ExportData(String FileName)
Parameters
String FileName The name of the text file to export the data to. If the file ex-
ists, it is overwritten.
Optional
None
Example
Dim Display as New Mvc
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
Display.ExportData “Det1.Txt”
The coincidence rate plots have various information displayed. The N times the standard
deviation is displayed as a dashed horizontal line. The factor N may be defined by the
NumberOFStandardDeviations property. The coincident rate mean is displayed as a solid
horizontal line. All filtered rates are displayed in yellow. The cause for the rate to be fil-
tered may be determined by placing the cursor on the point and comparinging the infor-
mation spreadsheet to the filter reason information. All non-filtered points are displayed
in red. During an acquisition the plot is update with the current coincident rate every 0.5
second.
Calling Convention
PlotCoincidenceRate
Parameters
NeutronRatePlot Rate The rate to plot.
242
Data Display
Optional
None
Example
Display.Open “c:\pu240.cnf”, ReadWrite
Disp.NumberOfStandardDeviations = 4.0
Display.PlotCoincidenceRate TriplesRate
Two distributions that are displayed when this method is called: the filtered rate and
non-filtered rate. The change in the statistical mean is displayed as vertical annotation
lines, one line for each mean (filtered and non-filtered). The histogram bin size may be
changed by setting the CoincidenceRateDistributionBinSize property.
Calling Convention
PlotCoincidenceDistribution
Parameters
NeutronRatePlot Rate The rate to plot.
Optional
None
243
Component Programming Library Reference
Example
Display.Open “c:\pu240.cnf”, ReadWrite
Display.CoincidenceRateDistributionBinSize = 30.0
Display.PlotCoincidenceDistribution TriplesRate
Displaying Histograms
This method plots the neutron multiplicity histograms at a specific database record num-
ber. This method will work only if the datasource has neutron multiplicity data. Histo-
gram bin values are displayed in the information spreadsheet along with the plots that are
displayed in the data region
Calling Convention
PlotHistogram(Long Rec)
Parameters
Long Rec The datasource record number.
Optional
None
Example
Disp.Open “c:\genie2k\camfiles\active_mult_assay.cnf”, ReadOnly
Disp.PlotHistogram 1
The scalar plot consists of the filtered and non-filtered data and the statistics. The filtered
data is displayed in yellow and the non-filtered data is red. The reason for a point to be
filtered may be determined by placin the cursor on top of the point and viewing the infor-
mation spreadsheet for the reason for filtered. The statistics are computed using the
non-filtered data. The n-standard deviation is displayed as a dashed horizontal line. The
number of standard deviations may be defined by the NumberOfStandardDeviation prop-
erty. The mean is displayed as a solid horizontal line.
Calling Convention
PlotScalarBank(Long BankNo)
Parameters
Long BankNo The scalar bank number.
244
Data Display
Optional
None
Example
Disp.Open “c:\genie2k\camfiles\active_mult_assay.cnf”, ReadOnly
Disp.NumberOfStandardDeviations = 3.0
Disp.PlotScalarBank 1
Calling Convention
SpectralPlotAxisLabels(String Chan, String Energy, String Y)
Parameters
String Chan The x-axis label when channels are displayed.
Optional
None
Example
Disp.Open “c:\genie2k\camfiles\naidemo.cnf”, ReadOnly
Disp.SpectralPlotAxisLabels “Channel”, “Energy”, “Counts”
Datasource manipulation
245
Component Programming Library Reference
Display Options
246
Data Display
Gridlines
Information Display
247
Component Programming Library Reference
Plot Method
Current Datasource
This property will retrieve the interface used to control the current datasource or add an
interface to the source list.
248
Data Display
Calling Convention
CurrentDataSource
Parameters
None
Optional
None
Return
Variant CurrentDataSource The datasource to add or retrieve. Must be a DataAccess
or a DeviceAccess
Privilege
Read-Write
Example
Dim Disp as New Mvc
Dim File1 as New DataAccess
Dim Det as DeviceAccess
File1.Open “c:\genie2k\camfiles\naidemo.cnf”, ReadOnly
Disp.CurrentDataSource = File1
Disp.Open “Det1”, aReadOnly, SpectroscopyDetector
Set Det = Disp.CurrentDataSource
Calling Convention
CurrentDataSourceName
Parameters
None
Optional
None
Privilege
Read-Only
249
Component Programming Library Reference
Example
Dim Display as New Mvc
Dim Name as String
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
Name = Display.CurrentDataSourceName
Calling Convention
CurrentDataSourceType
Parameters
None
Optional
None
Privilege
Read-Only
Example
Dim Display as New Mvc
Dim Type as SourceType
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
Type = Display.CurrentDataSourceType
Calling Conventions
NumberOfSources
Parameters
None
Optional
None
250
Data Display
Privilege
Read-Only
Example
Dim Display as New Mvc
Display.Close
If (Display.NumberOfSources = 0) Then
PrintWidget.Enable = false
Endif
Calling Convention
SourceList
Parameters
None
Optional
None
Return
String SourceList(*) The names of all of the datasources
Privilege
Read-Only
Example
Dim Disp as New Mvc
List as Variant
Disp.Open “c:\genie2k\camfiles\naidemo.cnf”, ReadOnly
List = Disp.SourceList
Determining if Modified
This property allows the programmer to determine if the datasource has been modified.
Calling Convention
IsModified
Parameters
None
251
Component Programming Library Reference
Return
Boolean IsModified If true, the interface is has been modified.
Optional
None
Privilege
Read-Only
Example
Display.Open "bobo.cnf", ReadWrite, SpectroscopyFile
Display.Param(CAM_F_ECALTOL) = 1.2
If (Diplay.IsModified) Then Display.Save
Parameter Access
A CAM parameter may be written to or read from the current datasource via this prop-
erty.
Note Date/Time parameters when written to the datasource must be VB date type.
When a date/time parameter is read from a datasource, it is returned as a VB
string.
Calling Convention
Param(ParamCodes Param, Long lRec, Long lEntry)
Parameters
ParamCodes Param The name of the CAM parameter to write
Optional
Long lRec A value of 1
Privilege
Read-Write
Example
Dim Display as New Mvc
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
Display.Param(CAM_T_STITLE) = “Troy’s Pu-238 Sample”
252
Data Display
Calling Convention
ParamArray(ParamCodes Param(*), Long lRec, Long lEntry)
Note Date/Time parameters when written to the datasource must be VB date type.
When a date/time parameter is read from a datasource, it is returned as a VB
string.
Parameters
ParamCodes Param(*) An array or CAM parameters to write
Optional
Long lRec A value of 1
Privilege
Read-Write
Example
Dim Display as New Mvc
Dim List(0 to 1) as Variant
Dim Codes(0 to 1) as ParamCodes
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
Display.Param(CAM_T_STITLE) = “Troy’s Pu-238 Sample”
Display.Open “Det1”, dReadWrite, True
List(0) = “My Sample”
List(1) = 1.2
Codes(0) = CAM_T_STITILE
Codes(1) = CAM_F_ECALTOL
Display.ParamArray(Codes) = List
253
Component Programming Library Reference
Calling Convention
ParamArrayEx(ParamCodes Param, Long Num, Long Options, Long Record,
Long Entry)
Note Date/Time parameters when written to the datasource must be VB date type.
When a date/time parameter is read from a datasource, it is returned as a VB
string.
Parameters
ParamCodes Param The parameter code defining the parameter to read or write.
Return
Variant Params(*) The parameter values. The parameter array is allocated by
the server. Therefore, you do not need to allocate the mem-
ory before using this property.
Privilege
Read-Write
Optional
Long Record A value of 1
Example
Dim List(0 to 1)
Dim Codes (0 to 1) as ParamCodes
Display.Open “Det1”, ReadWrite, True
Vals = Display.ParamArrayEx(CAM_L_RGNSTART, 2, dAutoIncrementRecord)
254
Data Display
Note All datasources are opened with Read/Write access during drag and drop oper-
ations.
Calling Convention
EnableDragAndDrop
Parameters
None
Return
Boolean EnableDragAndDrop If true, drag and drop is enabled
Optional
None
Privilege
Read-Write
Example
‘Open a detector to display
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
‘Enable drag and drop for files
Display.EnableDragAndDrop = True
Calling Convention
BackColor
Parameters
None
Optional
None
255
Component Programming Library Reference
Return
OLE_COLOR BackColor The plot background color
Privilege
Read-Write
Calling Conventions
RoiType1Color
RoiType2Color
RoiType3Color
RoiType4Color
Parameters
None
Optional
None
Return
OLE_COLOR Color The ROI type color
Privilege
Read-Write
Calling Conventions
KeylineColor
NuclineColor
256
Data Display
Parameters
None
Optional
None
Return
OLE_COLOR Color The nuclide annotation line color.
Privilege
Read-Write
Spectrum Color
These properties define the color of the spectrum.
Calling Convention
SpectrumColor
Parameters
None
Optional
None
Return
OLE_COLOR Color The color
Privilege
Read-Write
Calling Convention
ExpandMode
Parameters
None
257
Component Programming Library Reference
Optional
None
Return
Boolean ExpandMode The state of expand mode
Privilege
Read-Write
Example
Dim Disp as New Mvc
Disp.Open “c:\genie2k\camfiles\naidemo.cnf”, ReadOnly
Calling Convention
RealTimeUpdateExpandBox
Parameters
None
Optional
None
Return
Boolean RealTimeUpdateExpandBox If false, the expand plot is not updated until the
left mouse button is released after moving or
resizing the expand box.
Privilege
Read-Write
Example
Disp.Open “c:\genie2k\camfiles\nbsstd.cnf”
Disp. RealTimeUpdateExpandBox = False
258
Data Display
Calling Convention
ActivateZoom
Parameters
None
Optional
None
Return
Boolean ActivateZoom The state of zoom mode
Privilege
Read-Write
Example
Dim Disp as New Mvc
Disp.Open “c:\genie2k\camfiles\nbsstd.cnf”
If (Disp.ActivateZoom = False) Then Disp.ActivateZoom = True
Calling Convention
NumberOfSpectralRois
Parameters
None
Optional
None
Return
Long NumberOfSpectralRois The number of ROIs
Privilege
Read-Only
Example
Dim Disp as New Mvc
259
Component Programming Library Reference
Disp.Open “c:\genie2k\camfiles\pu240.cnf”
If (Disp.NumberOfSpectralRois < 1) Then
DeleteRoisMenu.Enabled = False
End If
Calling Convention
DisplayUpdateRate
Parameters
None
Optional
None
Return
long DisplayUpdateRate If 0 then the updates occur as fast as the data can be trans-
ferred from the device to the computer.
Privilege
Read-Write
Example
Dim Disp as New Mvc
Disp.Open “c:\genie2k\camfiles\nbsstd.cnf”
Disp.DispalyUpdateRate = 1000
Calling Convention
AutoScale
Parameters
None
Optional
None
260
Data Display
Return
Boolean AutoScale The state of auto-scale
Privilege
Read-Write
Example
Dim Disp as New Mvc
Disp.Open “c:\genie2k\camfiles\naidemo.cnf”, ReadOnly
‘See if display points is on. If not, activate it.
If (Disp.AutoScale = False) Then Disp.AutoScale = True
Calling Conventions
ShowXAxisGridLines
ShowYAxisGridLines
Parameters
None
Optional
None
Return
Boolean ShowXGridLines If true, the x-axis gridlines are displayed
Privilege
Read-Write
Example
Dim Disp as New Mvc
Disp.Open “c:\genie2k\camfiles\nbsstd.cnf”
Disp.ShowYAxisGridLines = true
Disp.ShowXAxisGridLines = false
261
Component Programming Library Reference
Calling Convention
ShowPlotBorders
Parameters
None
Optional
None
Return
Boolean ShowPlotBorders If true, the plot borders are displayed
Privilege
Read-Write
Example
Dim Disp as New Mvc
Disp.Open “c:\genie2k\camfiles\nbsstd.cnf”
Disp. ShowPlotBorders = true
Calling Convention
NumberOfTicks
Parameters
None
Optional
None
Privilege
Read-Write.
262
Data Display
Example
Dim Display as New Mvc
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
Display.NumberOfTicks = 5
Calling Convention
XAxisAsEnergy
Parameters
None
Optional
None
Return
Boolean XAxisAsEnergy True if the x-axis is displayed in units of energy
Privilege
Read-Write
Example
Disp.Open "c:\genie2k\camfiles\naidemo.cnf", ReadOnly
'Display energy x-axis
If (Disp.XAxisAsEnergy = False) Then Disp.XAxisAsEnergy = True
Calling Convention
ShowStatus
Parameters
None
Optional
None
263
Component Programming Library Reference
Return
Boolean ShowStatus If true, the status information window is displayed. Other-
wise it is hidden.
Privilege
Read-Write
Example
Dim Disp as New Mvc
Dim File1 as New DataAccess
Dim Det as DeviceAccess
File1.Open “c:\genie2k\camfiles\naidemo.cnf”, ReadOnly
Disp.CurrentDataSource = File1
‘Hide the status window
Disp.ShowStatus = False
Calling Convention
ShowInfo
Parameters
None
Optional
None
Return
Boolean ShowInfo If true, the information window is displayed. Otherwise it
is hidden.
Privilege
Read-Write
Example
Dim Disp as New Mvc
Dim File1 as New DataAccess
Dim Det as DeviceAccess
File1.Open “c:\genie2k\camfiles\naidemo.cnf”, ReadOnly
Disp.CurrentDataSource = File1
‘Hide the information window
Disp.ShowInfo = False
264
Data Display
For neutron datasources this property will display the neutron device settings. If this
property is false, the rate statistics are displayed in the information window.
Calling Conventions
ShowInputDevSpreadSheet
Parameters
None
Optional
None
Privilege
Read-Write
Example
Dim Display as New Mvc
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
Display.ShowInputDevSpreadSheet = true
Calling Conventions
ShowCalculationSpreadSheet
Parameters
None
Optional
None
Privilege
Read-Write
265
Component Programming Library Reference
Example
Dim Display as New Mvc
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
Display.ShowCalculationSpreadSheet= true
Calling Convention
ShowSpectralDataSpreadSheet
Parameters
None
Optional
None
Privilege
Read-Write
Example
Dim Display as New Mvc
Display.Open “Det1”, ReadWrite,
SpectroscopyDetectorDisplay.ShowSpectralDataSpreadSheet = true
Calling Convention
ShowSpectralPeakInformation
Parameters
None
Optional
None
266
Data Display
Return
Boolean ShowSpectralPeakInformation
Privilege
Read-Write. Run time only.
Example
Dim Disp as New Mvc
Disp.Open “c:\genie2k\camfiles\pu240.cnf”
Disp.ShowSpectralPeakInformation = True
Calling Convention
ShowSpectralNuclideAnnotationsLines
Parameters
None
Optional
None
Return
Boolean ShowSpectralNuclideAnnotationsLines
Privilege
Read-Write. Run time only.
Example
Dim Disp as New Mvc
Disp.Open “c:\genie2k\camfiles\pu240.cnf”
Disp.ShowSpectralNuclideAnnotationsLines = True
267
Component Programming Library Reference
Calling Convention
LinearScale
Parameters
None
Optional
None
Return
Boolean LinearScale The state of linear scaling
Privilege
Read-Write.
Example
Dim Disp as New Mvc
Disp.Open “c:\genie2k\camfiles\naidemo.cnf”, ReadOnly
‘See if linear scaling is on. If not, activate it.
If (Disp.LinearScale = False) Then Disp.LinearScale = True
DisplayPoints
Parameters
None
Optional
None
Return
Boolean DisplayPoints The state of displaying points
Privilege
Read-Write
268
Data Display
Example
Dim Disp as New Mvc
Disp.Open “c:\genie2k\camfiles\naidemo.cnf”, ReadOnly
‘See if display points is on. If not, activate it.
If (Disp.DisplayPoints = False) Then Disp. DisplayPoints = True
Calling Convention
FillSpectralRois
Parameters
None
Optional
None
Return
Boolean FillSpectralRois The state of fill ROIs
Privilege
Read-Write
Example
Dim Disp as New Mvc
Disp.Open “c:\genie2k\camfiles\active_mult_assay.cnf”, ReadOnly
If (Disp.FillSpectralRois = False) Then Disp. FillSpectralRois = True
Calling Convention
ShowCompressData
Parameters
None
269
Component Programming Library Reference
Optional
None
Privilege
Read-Write
Example
Dim Display as New Mvc
Display.Open “Det1”, ReadWrite, SpectroscopyDetector
Display.ShowCompressedData = false
Calling Convention
HasNeutronAndSpectroscopy
Parameters
None
Optional
None
Return
Boolean HasNeutronAndSpectroscopy If true, the current datasource has both types of
data
Privilege
Read-Only
Example
Dim Disp as New Mvc
Disp.Open “c:\genie2k\camfiles\pu240.cnf”
If (Disp.HasNeutronAndSpectroscopy) Then
DisplayTypes.Enable = true
Endif
270
Data Display
Calling Convention
DisplayType
Parameters
None
Optional
None
Return
DisplayTypes DisplayType The type of display to use for displaying data.
Privilege
Read-Write
Example
Dim Disp as New Mvc
Disp.Open “c:\genie2k\camfiles\pu240.cnf”
If (Disp.HasNeutronAndSpectroscopy) Then
Disp.DisplayType = NeutronSpreadSheet
Endif
Calling Convention
PlotPointSize
Parameters
None
Optional
None
Return
PointSize PlotPointSize The point size.
Privilege
Read-Write
271
Component Programming Library Reference
Example
Dim Disp as New Mvc
Disp.Open “c:\genie2k\camfiles\pu240.cnf”
Disp.PlotPointSize = Small
Calling Convention
ShowingRatePlot
Parameters
None
Optional
None
Return
Boolean ShowingRatePlot If true, time series rate data is being displayed
Privilege
Read-Only
Example
Dim Disp as New Mvc
Disp.Open “c:\genie2k\camfiles\pu240.cnf”
If (Disp.ShowingRatePlot) Then
PlotSettingsWidget.Enable = true
Endif
Calling Convention
ShowingRateDistribution
Parameters
None
272
Data Display
Optional
None
Return
Boolean ShowingRateDistribution If true, rate distributions are being displayed
Privilege
Read-Only
Example
Dim Disp as New Mvc
Disp.Open “c:\genie2k\camfiles\pu240.cnf”
If (Disp.ShowingRateDistribution) Then
HistogramBinWidget.Enable = true
Endif
Calling Convention
ShowingMultiplicity
Parameters
None
Optional
None
Return
Boolean ShowingMultiplicity If true, multiplicity data is being displayed
Privilege
Read-Only
Example
Dim Disp as New Mvc
Disp.Open “c:\genie2k\camfiles\pu240.cnf”
If (Disp.ShowingMultiplicity) Then
PlotSettings.Enable = true
Endif
273
Component Programming Library Reference
Calling Convention
ShowingScalars
Parameters
None
Optional
None
Return
Boolean ShowingScalars If true, scalar data is being displayed
Privilege
Read-Only
Example
Dim Disp as New Mvc
Disp.Open “c:\genie2k\camfiles\pu240.cnf”
If (Disp.ShowingScalars) Then
PlotSettingsWidget.Enable = true
Endif
Calling Conventions
NumberOfStandardDeviations
Parameters
None
Optional
None
Return
Single NumberOfStandardDeviations The number of standard deviations.
Privilege
Read-Write
274
Data Display
Example
Dim Disp as New Mvc
Disp.Open “c:\genie2k\camfiles\pu240.cnf”
Disp.NumberOfStandardDeviations = 3.0
Calling Convention
CoincidenceRateDistributionBinSize
Parameters
None
Optional
None
Return
Single CoincidenceRateDistributionBinSize The number of bins.
Privilege
Read-Write
Example
Dim Disp as New Mvc
Disp.Open “c:\genie2k\camfiles\pu240.cnf”
Disp.CoincidenceRateDistributionBinSize= 30.0
Calling Convention
ShowCoincidenceSpreadsheet
Parameters
None
Optional
None
275
Component Programming Library Reference
Return
Boolean ShowCoincidenceSpreadsheet The state of displaying rates
Privilege
Read-Write
Example
Dim Disp as New Mvc
Peak Labeling
Peak Labeling is used to get or set the following properties:
276
Data Display
Calling Convention
UpdatePeakInfo(ByVal Single Energy, ByVal Long Chan, ByVal Long Counts)
Parameters
Single Energy The energy value at the peak cursor (keV).
Calling Convention
UpdateROIInfo(ByVal Single LeftRoiEnergy, ByVal Long LeftRoiChan,
ByVal Single RightRoiEnergy, ByVal LongRightRoiChan,
ByVal Single CentroidEnergy, ByVal Long CentroidChan,
ByVal Single Area, ByVal Single AreaUnc, ByVal Single Integral,
ByVal Single Fwhm, ByVal Single Fwtm, ByVal Single GaussianRatio)
Parameters
Single LeftRoiEnergy The left ROI energy (keV)
277
Component Programming Library Reference
Calling Convention
UpdateTimeInfo(ByVal String Start, ByVal Double ElapsedReal,
ByVal Double ElapsedLive, ByVal Double DeadTime)
Parameters
String Start The start time.
Calling Convention
UpdateRateInfo(ByVal String Start, ByVal Double ElapsedTime, ByVal Single Totals,
ByVal Single Reals, ByVal Single Accids, ByVal Single Doubles,
ByVal Single Triples, ByVal Long Cycle)
Parameters
String Start The start time.
278
Data Display
Calling Convention
UpdateDeviceStatus (ByVal Long StatusCode, ByVal String Description)
Parameters
String Description The description of the status string.
Long StatusCode The status code. There is a VB data type which is defined
as DeviceStatus. This type may be used to determine the
status information.
Calling Convention
MouseDown (ByVal Integer Button, ByVal Integer Shift, ByVal Single x,
ByVal Single y)
Parameters
Integer Button Defines which button was pressed
0: Left button
1: Middle button
2: Right button
279
Component Programming Library Reference
Calling Convention
AsynchronousMessages(ByVal Long Code, ByVal String Message)
Parameters
Long Code The error code which can be passed to the status handler
object (StatHdlr.dll).
Calling Convention
DragAndDropOpen()
Parameters
None
280
Interactive Data Fit Control
then in the Components dialog, select “Canberra Interactive Data Fit Library”. An icon
similar to the one in Figure 20 will appear in the VB toolbar.
Double click on this icon and it will appear on your VB form. This icon will appear only
during design time. There are no properties visible in the property toolbar list; all proper-
ties and methods become visible during coding.
281
Component Programming Library Reference
Data Display
282
Interactive Data Fit Control
Display Limits
Exporting Data
283
Component Programming Library Reference
ModelType Type
Plotting Data
This method plots data and or a model to fit.
Calling Convention
Plot(Single X(), Single Y(), Single Unc(), ModelType Type, String Name, Long Color,
DataPtSymbol Sym, Single Coeff(), Double Covar(, ), Boolean CoeffsToFix(), Vari-
ant Extra())
Parameters
Single X() The x points
284
Interactive Data Fit Control
Long Color (Optional) The color of the model and data points on the
plot. If 0, the value for the model property is used.
Optional
ModelType Type A value of idfPolynomial
Example
Dim x(0 to 10) as Single
Dim y(0 to 10) as Single
285
Component Programming Library Reference
For ii=0 to 10
x(ii) = ii;
y(ii)=x(ii)*x(ii)
ync(ii)=Sqrt(y(ii))
Next ii
Calling Convention
PlotEx(Single Data(,,), ModelType Type, String Name, Long Color, DataPtSymbol Sym,
Single Coeff(), Double Covar(, ), Boolean CoeffsToFix(), Variant Extra())
Parameters
Single Data(,,) The data points. Dim (0,*) are the x points. Dim(1,*) are
the y points. Dim(2,*) are the uncertainties in y.
Long Color (Optional) The color of the model and data points on the
plot. If 0, the value for the model property is used.
286
Interactive Data Fit Control
Optional
ModelType Type A value of idfPolynomial
Example
Dim Src as New CamSource
Over Plots
This method allows you to over plot a variety of data sets that are within a similar y-axis
range. While in over plot mode the user has the ability to evaluate any point on any over
plotted data set using the plot cursor. The user can change between over plot data sets by
pressing the up/down arrow keys or by calling the CurrentDataSet property.
Calling Convention
OverPlot (Single X(), Single Y(), Single Unc(), ModelType Type, String Name, Long
Color, DataPtSymbol Sym, Single Coeff(), Double Covar(, ), Boolean Clear)
287
Component Programming Library Reference
Parameters
Single X() The x points
Long Color (Optional) The color of the model and data points on the
plot. If 0, the value for the model property is used.
Boolean Clear (Optional) If true, the previous over plotted data is re-
moved.
Optional
ModelType Type A value of idfPolynomial
Example
Dim x(0 to 4) As Single
Dim y(0 to 4) As Single
Dim unc(0 to 4) As Single
Dim I As Long
For I=0 To 4
x(I) = .25*I
y(I) = x(I)*x(I)
288
Interactive Data Fit Control
unc(I) = x(I)
Next I
For I=0 To 4
x(I) = .25*I
y(I) = x(I)*x(I)*x(I)
unc(I) = x(I)
Next I
Calling Convention
OverPlotLabels(Variant Labels)
Parameters
Variant Labels This is an array of legend strings
Optional
None
Example
Dim x(0 to 4) As Single
Dim y(0 to 4) As Single
Dim unc(0 to 4) As Single
Dim Labels(0 to 1) As String
Dim I As Long
For I=0 To 4
x(I) = .25*I
y(I) = x(I)*x(I)
unc(I) = x(I)
Next I
Labels(0) = “Parabola”
IDF.OverPlot x, y, unc, idfPolynomial, Labels(0), RGB(255, 0, 0)
289
Component Programming Library Reference
For I=0 To 4
x(I) = .25*I
y(I) = x(I)*x(I)*x(I)
unc(I) = x(I)
Next I
Labels(1) = “Cubic”
IDF.OverPlot x, y, unc, idfPolynomial, Labels(1), RGB(255, 0, 255)
IDF.OverPlotLabels Labels
Calling Convention
Plot3d (Single X(), Single Y(,), Single Z(), String Title, String Xlabel, String Ylabel,
String Zlabel, Plot3dType Type)
Parameters
Single X() The x points (one dim array).
Single Y() The y points (two dim array). Dim 0 is has the same dimen-
sion as the X array. Dim 1 has the same dimension as the Z
array.
Optional
String Title A value of “Title”
290
Interactive Data Fit Control
Example
Dim x(0 to 4) As Single
Dim y(0 to 4, 0 to 4) As Single
Dim z(0 to 4) As Single
Dim I As Long
Dim J As Long
For I=0 To 4
For j=0 To 4
x(I) = .25*I
y(I, J) = x(I)*x(I)
z(I) = x(I)
Next J
Next I
Calling Convention
HighlightPlane(Single Value, Long Color, Boolean IsXPlane)
Parameters
Single Value The plane value.
Boolean IsXPlane If true, the value is a plane in the x-axis. Otherwise, it is a plane
along the Z axis.
Optional
Boolean IsXPlane A value of true
Example
‘Plot the multi-curve surface
Dim x(0 to 4) As Single
Dim y(0 to 4, 0 to 4) As Single
Dim z(0 to 4) As Single
Dim I As Long
Dim J As Long
291
Component Programming Library Reference
For I=0 To 4
For j=0 To 4
x(I) = .25*I
y(I, J) = x(I)*x(I)
z(I) = x(I)
Next J
Next I
Calling Convention
AddModelToFit (ModelType Type, String Name, Boolean Clear, Single Coeff(), Double
Covar(, ), Boolean CoeffsToFix(), Variant Extra())
Parameters
ModelType Type (Optional) The type of model.
Boolean Clear (Optional) If true, all models are cleared from the current
data set.
292
Interactive Data Fit Control
Optional
String Name A value of “”
Example
Dim Src as New CamSource
Calling Convention
Labels(String X, String Y, String Title, String Z)
Parameters
String X The x-axis label.
293
Component Programming Library Reference
Return
None
Optional
String Z A value of “ ”
Example
Dim Src as New CamSource
Deleting a Point
This method deletes the data point that the plot cursor is on and computes the model pa-
rameters. This option only works for the non 3d plot. If the point to be deleted is the
cross over point for the dual model, the cross over point is moved to the next data point.
The extended delete function, DeletePointEx(), should be used to delete points from an
over plot when you want to delete common x-axis points among all data sets.
Calling Conventions
DeletePoint(Long Index)
DeletePointEx(Long Index)
Parameters
Long Index (Optional) The index of the data point to delete. If –1 is speci-
fied, the cursor location is used.
Return
None
Optional
Long Index A value of –1
294
Interactive Data Fit Control
Example
Dim Src as New CamSource
Src.Open “c:\genie2k\camfiles\nbsstd.cnf”
Undeleting A Point
This method will undelete a previously deleted point and computes the model parame-
ters. This option only works for the non 3d plot
The extended delete function, UnDeletePointEx(), should be used to delete points from
an over plot when you want to undelete common x-axis points.
Calling Conventions
UnDeletePoint()
UnDeletePointEx()
Parameters
None
Return
None
Optional
None
Example
Dim Src as New CamSource
Src.Open “c:\genie2k\camfiles\nbsstd.cnf”
295
Component Programming Library Reference
The extended delete function, UnDeleteAllEx(), should be used to undelete all points
from an over plot when you want to undelete common x-axis points.
Calling Conventions
UnDeleteAll()
UnDeleteAllEx()
Parameters
None
Return
None
Optional
None
Example
Dim Src as New CamSource
Src.Open “c:\genie2k\camfiles\nbsstd.cnf”
296
Interactive Data Fit Control
Starting a Computation
Starts a computation to determine the new calibration parameters. All computations are
performed in another thread. Therefore, this method starts the computations of new cali-
bration parameter. Once the new parameters have been computed an event is dispatched.
The VB application developer must have an event handler set up to catch this event.
Calling Convention
Compute()
Parameters
None
Return
None
Optional
None
Example
Dim Src as New CamSource
Src.Open “c:\genie2k\camfiles\nbsstd.cnf”
Aborting a Computation
Aborts a computation. Computations are performed in a separate thread to prevent the
user interface from locking. This method will terminate the computational thread and re-
store the original calibration parameters. This method will not return until the computa-
tion thread has been terminated.
297
Component Programming Library Reference
Calling Convention
AbortComputation()
Parameters
None
Return
None
Optional
None
Example
Dim Src as New CamSource
Src.Open “c:\genie2k\camfiles\nbsstd.cnf”
Zoom Out
While in zoom mode there is the ability to zoom out to a previous zoom aperture. This
option only works for the non 3d plot
Calling Convention
ZoomOut()
Parameters
None
Optional
None
298
Interactive Data Fit Control
Calling Convention
SetPlotLimits (Double MinX, Double MaxX, Double MinY, Double MaxY, Double
MinZ, Double MaxZ)
GetPlotLimits (Double MinX, Double MaxX, Double MinY, Double MaxY, Double
MinZ, Double MaxZ)
Parameters
Double MinX Min x value
Optional
Double MinZ A value of 0
Return
None
Example
Dim Src as New CamSource
Src.Open “c:\genie2k\camfiles\nbsstd.cnf”
Calling Convention
CopyToClipBoard(WindowToCopy Win)
299
Component Programming Library Reference
Parameters
WindowToCopy Win The window to copy.
Optional
None
Exporting Data
The data points and model information may be exported to an ASCII text file via this
method.
Calling Convention
ExportData(String File)
Parameters
String File The name of the export file. If the file exists, it is overwritten.
Optional
None
Example
Dim Src as New CamSource
Src.Open “c:\genie2k\camfiles\nbsstd.cnf”
Printing
A print dialog is displayed to allow the user to print the plot or the spreadsheet.
Calling Convention
PrintDialog(String Title, String SubTitle, String X, String Y, String Z)
300
Interactive Data Fit Control
Parameters
String Title (Optional) The plot title or a header label for the spreadsheet
print out.
Optional
String Title A value of “”. The plot label on the window is printed.
String SubTitle A value of “”. The plot label on the window is printed.
Example
Dim Src as New CamSource
Calling Conventions
NextPoint()
PreviousPoint()
301
Component Programming Library Reference
Parameters
Single X The x point.
Optional
None
Example
Dim Src as New CamSource
Src.Open “c:\genie2k\camfiles\nbsstd.cnf”
Src.Close
Calling Convention
GetCursorValues(Single X, Single Y, Single Unc)
Parameters
Single X The x point.
Optional
None
302
Interactive Data Fit Control
Calling Convention
GetData(Variant X, Variant Y, Variant Unc)
Parameters
Variant X The x points. The variant that is returned is Single dimensioned
to the number of undeleted points.
Variant Unc The uncertainty in the y points. The variant that is returned is
Single dimensioned to the number of undeleted points.
Optional
None
Example
Dim Src as New CamSource
Dim X As Variant
Dim Y As Variant
Dim Unc As Variant
Src.Open “c:\genie2k\camfiles\nbsstd.cnf”
‘Display the points
IDF.PlotEx Src.Calibrations.Efficiency.EfficiencyPoints, idfLinearEff
IDF.Labels “Energy”, “Efficiency”, “Efficiency Calibration”
IDF.DeletePoint 1
IDF.GetData X, Y, Unc
Calling Convention
GetModelInfo(Variant Coeff, Variant Covar, Variant Stats, Long Index)
Parameters
Variant Coeff The coefficients. The variant that is returned is Single
dimensioned to the number of coefficients.
Variant Covar The covariance matrix. The variant that is returned is Double
dimensioned to the number of coefficients (square matrix).
Variant Stats The fit statistics. The variant that is returned is Single
dimensioned to 2.
303
Component Programming Library Reference
Long Index The index of the model to get the information from. If –1 is
specified, the current model is used.
Optional
Long Index A value of –1
Example
Dim Src as New CamSource
Dim Coeff As Variant
Dim Covar As Variant
Dim Stats As Variant
Src.Open “c:\genie2k\camfiles\nbsstd.cnf”
Calling Convention
SetCurrentModel(long Index)
Parameters
Long Index The index of the model to display.
Optional
Long Index A value of 0.
Example
Dim Src as New CamSource
Src.Open “c:\genie2k\camfiles\nbsstd.cnf”
304
Interactive Data Fit Control
Calling Convention
CoefficientsToFix(Boolean List(), Boolean Compute)
Parameters
Boolean List() A list of bools indicating which coefficients to hold constant.
Optional
Boolean Compute A value of false
Example
Dim X(0 To 4) As Single
Dim Y(0 To 4) As Single
Dim Unc(0 To 4) As Single
Dim Coeffs(0 To 2) As Single
Dim FixP(0 To 2) As Variant
Dim I As Long
For I = 0 To 4
X(I) = I
Y(I) = X(I)*X(I)
Unc(I) = X(I)
Next I
Coeffs(0) = .25
Coeffs(1) = 1
Coeffs(2) = 2
FixP(0) = True
FixP(1) = False
FixP(2) = False
IDF.Plot X, Y, Unc, idfPolynomial, “Poly”, RGB(255, 0, 0), idfDiamond, Coeffs
IDF. CoefficientsToFix FixP, True
Calling Convention
SetPolynomialOrder(long Order, Boolean DualLower, Boolean Compute)
305
Component Programming Library Reference
Parameters
Long Order The order to set the polynomial to.
Boolean DualLower If true and the current model is a dual polynomial, the lower
polynomial order is set.
Optional
Boolean DualLower A value of false
Example
Dim X(0 To 4) As Single
Dim Y(0 To 4) As Single
Dim Unc(0 To 4) As Single
Dim I As Long
For I = 0 To 4
X(I) = I
Y(I) = X(I)*X(I)
Unc(I) = X(I)
Next I
Calling Convention
ComputeStatistics (Single X(), Single Y(), Single Unc(), Single Coeffs(), ModelType
Model, Variant Stats)
Parameters
Single X() The x points.
306
Interactive Data Fit Control
Optional
None
Example
Dim X(0 To 4) As Single
Dim Y(0 To 4) As Single
Dim Unc(0 To 4) As Single
Dim Coeffs(0 To 1) As Single
Dim Stats As Variant
Dim I As Long
For I = 0 To 4
X(I) = I
Y(I) = X(I)*X(I)
Unc(I) = X(I)
Next I
Coeffs(0) = 0
Coeffs(1) = 1
IDF.ComputeStatistics X, Y, Unc, Coeffs, idfPolynomial, Stats
Evaluating a Point
This method allows you to determine the value of a point based on the current model in-
formation.
Calling Convention
Evaluated(Double Point, Double Value, Double Uncertianty)
Parameters
Double Point The point to evaluate.
Optional
None
307
Component Programming Library Reference
Example
Dim X(0 To 4) As Single
Dim Y(0 To 4) As Single
Dim Unc(0 To 4) As Single
Dim I As Long
Dim Eval As Double
Dim EvalUnc As Double
For I = 0 To 4
X(I) = I
Y(I) = X(I)*X(I)
Unc(I) = X(I)
Next I
Calling Convention
EnableStatusLabels (Boolean ShowUncertianties, Boolean ShowDelta)
Parameters
Boolean ShowUncertianties The data and model uncertainties are displayed at the cur-
sor point.
Boolean ShowDelta The difference between the model and the data at the cursor
point is displayed.
Optional
None
Example
Dim X(0 To 4) As Single
Dim Y(0 To 4) As Single
Dim Unc(0 To 4) As Single
Dim I As Long
For I = 0 To 4
X(I) = I
Y(I) = X(I)*X(I)
Unc(I) = X(I)
Next I
308
Interactive Data Fit Control
Calling Convention
Optimize (Single X(), Single Y(), Single Unc(), ModelType Type, Boolean
CoeffsToFix(), Variant Extra(), Variant Coeff, Variant Covar, Variant
LowCoeff, Variant LowCovar)
Parameters
Single X() The x points.
Variant Extra: All other models do not require the Extra pa-
rameter therefore a Null/0 should be passed.
309
Component Programming Library Reference
Variant Covar The covariance matrix (returned). The data type returned is
an array of Doubles( , ). A value of 0 indicates ignore this
argument.
Variant LowCoeff The coefficients for the low energy polynomial if the
model type is idfDualEff. A value of 0 indicates ignore this
argument.
Variant LowCovar The covariance for the low energy polynomial if the model
type is idfDualEff. A value of 0 indicates ignore this argu-
ment.
Optional
None
Example
Dim X(0 To 4) As Single
Dim Y(0 To 4) As Single
Dim Unc(0 To 4) As Single
Dim Coeff As Variant
Dim I As Long
For I = 0 To 4
X(I) = I
Y(I) = X(I)*X(I)
Unc(I) = X(I)
Next I
Calling Convention
OptimizeAndEvaluate (Single X(), Single Y(), Single Unc(), ModelType Type, Boolean
CoeffsToFix(), Variant Extra(), Double X, Double Y, Double
Unc)
Parameters
Single X() The x points.
310
Interactive Data Fit Control
Optional
None
Example
Dim X(0 To 4) As Single
Dim Y(0 To 4) As Single
Dim Unc(0 To 4) As Single
Dim Eval As Double
Dim EvalUnc as Double
Dim I As Long
For I = 0 To 4
X(I) = I
Y(I) = X(I)*X(I)
Unc(I) = X(I)
Next I
Calling Convention
GetDualLowModelInfo(Variant Coeff, Variant Covar, Variant Stats, Long Index);
Parameters
Variant Coeff The coefficients (returned). The data type is an array of Sin-
gles().
311
Component Programming Library Reference
Variant Covar The covariance matrix (returned). The data type returned is an
array of Doubles( , ).
Variant Stats The fit statistics (returned). The data type returned is an array of
Singles().
Long Index The index of the dual model to get the information from. If –1, it
is assumes that the current model is the dual model.
Optional
Long Index A value of -1
Example
Dim Src as New CamSource
Dim HiCoeff As Variant
Dim LoCoeff As Variant
Dim HiCovar As Variant
Dim LoCovar As Variant
Dim HiStats As Variant
Dim LoStats As Variant
Src.Open “c:\genie2k\camfiles\nbsstd.cnf”
Call Convention
Parameters
String Label The text to display in the status bar.
Optional
Boolean Highlight A value of False
312
Interactive Data Fit Control
Example
Dim X(0 To 4) As Single
Dim Y(0 To 4) As Single
Dim Unc(0 To 4) As Single
Dim I As Long
For I = 0 To 4
X(I) = I
Y(I) = X(I)*X(I)
Unc(I) = X(I)
Next I
Scaling Axes
This method allows you change the scale of the data. This can be used to change the units
of the data without affecting the fitting process. This method must be called before pass-
ing the data to the plot object.
Calling Convention
ScaleAxes(Double XScale, Double Yscale)
Parameters
Double Xscale The x-axis scale factor.
Example
Dim X(0 To 4) As Single
Dim Y(0 To 4) As Single
Dim Unc(0 To 4) As Single
Dim I As Long
For I = 0 To 4
‘Meter
X(I) = I
‘Fractional value
Y(I) = X(I)*X(I)/100.0
Unc(I) = X(I)/100.0
Next I
313
Component Programming Library Reference
Calling Convention
MaximizePlot()
Parameters
None
Example
Dim X(0 To 4) As Single
Dim Y(0 To 4) As Single
Dim Unc(0 To 4) As Single
Dim I As Long
For I = 0 To 4
‘Meter
X(I) = I
‘Fractional value
Y(I) = X(I)*X(I)/100.0
Unc(I) = X(I)/100.0
Next I
Display Options
314
Interactive Data Fit Control
Information Display
Gridlines
315
Component Programming Library Reference
Plot Method
Calling Convention
DataPointColor
Parameters
None
Optional
None
Return
OLE_COLOR DataPointColor The color.
316
Interactive Data Fit Control
Privilege
Read-Write
Model Color
This property allows you to change the model color.
Calling Convention
ModelColor
Parameters
None
Optional
None
Return
OLE_COLOR ModelColor The color.
Privilege
Read-Write
Calling Convention
LowDualCurveColor
Parameters
None
Optional
None
Return
OLE_COLOR LowDualCurveColor The color
Privilege
Read-Write
317
Component Programming Library Reference
Background Color
This property allows you to change the background color of the plot.
Calling Convention
BackgroundColor
Parameters
None
Optional
None
Return
OLE_COLOR BackgroundColor The color
Privilege
Read-Write
Calling Convention
AxisAndLabelColor
Parameters
None
Optional
None
Return
OLE_COLOR AxisAndLabelColor The color
Privilege
Read-Write
318
Interactive Data Fit Control
Calling Convention
FitEnvelopColor
Parameters
None
Optional
None
Return
OLE_COLOR FitEnvelopColor The color
Privilege
Read-Write
Cursor Color
This property allows you to change the color of the plot cursor.
Calling Convention
CursorColor
Parameters
None
Optional
None
Return
OLE_COLOR CursorColor The color
Privilege
Read-Write
Calling Convention
CrossOverColor
319
Component Programming Library Reference
Parameters
None
Optional
None
Return
OLE_COLOR CrossOverColor The color
Privilege
Read-Write
Calling Convention
DataPointSymbol
Parameters
None
Optional
None
Return
DataPtSymbol Symbol The symbol
Privilege
Read-Write
Calling Convention
LogXAxis
LogYAxis
Parameters
None
320
Interactive Data Fit Control
Optional
None
Return
Boolean Val If true, the scale is log
Privilege
Read-Write
Cursor Options
This property allows the user to setup the plot cursor to follow the data points or evaluate
a point on the model curve. If this property is set to true, the plot cursor moves amongst
data points. If this property is false, the plot cursor evaluate the model at the point where
the cursors is at.
Calling Convention
CursorFollowData
Parameters
None
Optional
None
Return
Boolean CursorFollowData The state
Privilege
Read-Write
Calling Convention
ActivateZoom
Parameters
None
321
Component Programming Library Reference
Optional
None
Return
Boolean ActivateZoom The state of zoom mode
Privilege
Read-Write
Calling Convention
ShowDataSpreadSheet
Parameters
None
Optional
None
Return
Boolean ShowDataSpreadSheet If true, data points are displayed in a spreadsheet
Privilege
Read-Write
Calling Convention
ShowCovariance
Parameters
None
Optional
None
322
Interactive Data Fit Control
Return
Boolean ShowCovariance If true, the covariance is displayed
Privilege
Read-Write
Calling Convnetion
NumberOfTicks
Parameters
None
Optional
None
Return
Long NumberOfTicks The number of y-axis major ticks.
Privilege
Read-Write
Calling Convention
ShowXAxisGridLines
ShowYAxisGridLines
Parameters
None
Optional
None
Return
Boolean ShowXAxisGridLines If true, the x-axis gridlines are displayed.
323
Component Programming Library Reference
Privilege
Read-Write
Calling Convention
ShowStatus
Parameters
None
Optional
None
Return
Boolean ShowStatus If true, the status information window is displayed. Other-
wise it is hidden.
Privilege
Read-Write
Calling Convention
ShowInfo
Parameters
None
Optional
None
Return
Boolean ShowInfo If true, the information window is displayed. Otherwise it
is hidden.
324
Interactive Data Fit Control
Privilege
Read-Write
Number of Points
This property returns the number of calibration points.
Calling Convention
NumberOfPts
Parameters
None
Optional
None
Privilege
Read-Only
Calling Convention
NumberOfPtsDeleted
Parameters
None
Optional
None
Privilege
Read-Only
Number of Models
This property returns the number of models associate with the data set.
Calling Convention
NumberOfModels
325
Component Programming Library Reference
Parameters
None
Optional
None
Privilege
Read-Only
Status Severity
All status messages have a severity associated with them. This severity defines whether a
message is an warning, or error message. There are two properties that may be used to
determine the severity of a message.
Calling Convention
IsWarning(MessageCodes Code)
IsError(MessageCodes Code)
Parameters
MessageCodes Status The status code to examine for severity level.
Return
Boolean bVal A value of true indicates that the message is of that speci-
fied severity level.
Optional
None
Calling Convention
Message
Parameters
MessageCodes Code The message code to retrieve the status string.
Return
String Message String for the status
326
Interactive Data Fit Control
Optional
None
Privilege
Read-Only
Calling Convention
AllowEdits
Parameters
None
Return
Boolean AllowEdits State of edit
Optional
None
Privilege
Read-Write
Calling Convention
ShowNumberOfDeleted
Parameters
None
Return
Boolean ShowNumberOfDeleted State of show deleted
Optional
None
327
Component Programming Library Reference
Privilege
Read-Write
Calling Convention
ShowFitEnvelop
Parameters
None
Return
Boolean ShowFitEnvelop State of show fit uncertianty
Optional
None
Privilege
Read-Write
Calling Convention
NumberOfStandardDevsOfFit
Parameters
None
Return
Single NumberOfStandardDevsOfFit The number of standard deviations
Optional
None
328
Interactive Data Fit Control
Privilege
Read-Write
Calling Convention
DualModelCrossOver
Parameters
None
Return
Single DualModelCrossOver The dual cross over value
Optional
None
Privilege
Read-Write
Calling Convention
EnableCrossOverCursor
Parameters
None
Return
Boolean EnableCrossOverCursor The state of the cross over cursor.
Optional
None
329
Component Programming Library Reference
Privilege
Read-Write
Calling Conventions
CurrentDataSet
Parameters
None
Return
Long CurrentDataSet The current data set. All data sets start at 0.
Optional
None
Privilege
Read-Write
Calling Convention
IsComputing
Parameters
None
Return
Boolean IsComputing If true then the component is computing.
Optional
None
Privilege
Read-Only
330
Interactive Data Fit Control
Calling Convention
DualAsSingle
Parameters
None
Return
Boolean DualAsSingle If true then the higher polynomial attributes are used to dis-
play and determine the model coefficients.
Optional
None
Privilege
Read-Write
Calling Convention
LinearEstimationTechnique
Parameters
None
Return
LinearEstimationMethod Method The method to use.
331
Component Programming Library Reference
Optional
None
Privilege
Read-Write
Calling Convention
MouseDown (ByVal Integer Button, ByVal Integer Shift, ByVal Single x, ByVal Single
y)
Parameters
Integer Button Defines which button was pressed.
Calling Convention
UpdateCursorInfo (ByVal Single X, ByVal Single Y, ByVal Single Unc)
Parameters
Single X The x-axis data point.
332
Interactive Data Fit Control
Calling Convention
AsynchronousMessages (ByVal Long Code, ByVal String Message)
Parameters
Long Code The error code which can be passed to the status handler object
(StatHdlr.dll).
Calling Convention
OverPlotDataSetSelected (ByVal Long Set)
Parameters
Long Set The data set selected.
Calling Convention
ModelSected (ByVal Long ModelIndex)
Parameters
Long ModelIndex The index of the model that is currently displayed.
333
Component Programming Library Reference
Calling Convention
CrossOverPointSet(ByVal Single CrossOver)
Parameters
Single CrossOver The cross over value.
Calling Convention
ComputationComplete(ByVal Long NumComputed)
Parameters
Long NumComputed The number of models that were computed.
Calling Convention
PointDelUnDel(ByVal Long Options, ByVal Long Index, ByVal Single X, ByVal Single
Y, ByVal Single Unc)
Parameters
Long Options Indicates whether the point was deleted or undeleted.
Long Index The array index of the point that was deleted/undeleted
334
Interactive Data Fit Control
Exported C Routines
There a two exported C routines that may be used by developers that do not need a user
interface to compute a fit and who do not want to use Active-X programming. These rou-
tines allow developers to gain access to fitting data for all of the model types defined by
the IDF component. These routines are outlined below.
Calling Convention
IDFOptimize (VARIANT *X, VARIANT *Y, VARIANT *Unc, ModelType Model,
VARIANT *Coeffs2Fix, VARIANT *Extra, VARIANT *Coeff,
VARIANT *Covar, VARIANT *LowCoeff, VARIANT *LowCovar)
Parameters
VARIANT *X The sample points. This must be an array of single preci-
sion values.
VARIANT *Coeffs2Fix The coefficients to hold constant during the fitting process.
This must be an array of Boolean values. If you do not
want to specify supply a value of NULL.
VARIANT *Extra Extra fit information. This is used only for idfDualEff or
idfPolynomial types. For idfPolynomial: Index 0 is the min
number of coefficients, Index 1 is the max number of coef-
ficients, and Index 2 is the number of coefficients. For
idfDualEff: Index 0 is the cross over value, Index 1 is the
order of the lower polynomial, and Index 2 thru n are the
lower polynomial coeffs. If you do not want to specify sup-
ply a value of NULL.
335
Component Programming Library Reference
VARIANT *LowCoeff The dual poly low coeffs (returned as a single precision ar-
ray). If you do not want, supply a NULL.
Return
DWORD dwStat A status code. PAS__OK indicates success.
Evaluating a Fit
This routine will fit data to any of the specified models and evaluate the model at a point.
The routine will not return until the fit and computation is complete.
Calling Convention
IDFOptimizeAndEvaluate (VARIANT *X, VARIANT *Y, VARIANT *Unc,
ModelType Model, VARIANT *Coeffs2Fix, VARIANT *Ex-
tra, double dX, double *pdVal, double *pdUnc)
Parameters
VARIANT *X The sample points. This must be an array of single preci-
sion values.
VARIANT *Coeffs2Fix The coefficients to hold constant during the fitting process.
This must be an array of Boolean values. If you do not
want to specify supply a value of NULL.
VARIANT *Extra Extra fit information. This is used only for idfDualEff or
idfPolynomial types. For idfPolynomial: Index 0 is the min
number of coefficients, Index 1 is the max number of coef-
ficients, and Index 2 is the number of coefficients. For
idfDualEff: Index 0 is the cross over value, Index 1 is the
order of the lower polynomial, and Index 2 thru n are the
lower polynomial coeffs. If you do not want to specify sup-
ply a value of NULL.
336
Interactive Data Fit Control
Return
DWORD dwStat A status code. PAS__OK indicates success.
Library of Models
All of the models used by IDF have been consolidated into one library; this library is
known as ModelsLib.Lib. The sections below describe the C-functions that are used to
evaluate the model and aid in the computations of the model parameters.
Calling Convention
double dPolynomialFnc (double dEvalPt, double *pdCoeff, double *pdGradiant, long
lNumCoeff)
Parameters
double dEvalPt The point to evaluate the model at.
Return
double dVal The evaluated point.
The model that is used to perform a square root FWHM calibration is outlined below.
This method that is used to determine the optimal model parameters is
Levenberg-Marquart non-linear least squares. The initial model parameters are deter-
mined via linear least squares. The first routine is the evaluation routine; the second is
used to compute the initial estimate for the non-linear estimation method.
Calling Convention
double dSqrtFwhm (double dEvalPt, double *pdCoeff, double *pdGradiant, long
lNumCoeff)
long lEstimateSqrtFwhm (float *prX, float *prY, float *prUnc, long lNum,
MODELINFO_T *pstModel)
Parameters
double dEvalPt The point to evaluate the model at.
337
Component Programming Library Reference
Return
double dVal The evaluated point.
Calling Convention
long lEstimateLinearEff (float *prX, float *prY, float *prUnc, long lNum,
MODELINFO_T *pstModel)
long lEstimateEmpiricalEff (float *prX, float *prY, float *prUnc, long lNum,
MODELINFO_T *pstModel)
long lWeightedMean (float *prX, float *prY, float *prUnc, long lNum, MODELINFO_T
*pstModel)
Parameters
float *prX The sample points.
338
Interactive Data Fit Control
Return
long lStat A status code. PAS__OK indicates success.
Calling Convention
double dEmpiricalEff(double dEvalPt, double *pdCoeff, double *pd Gradient, long
lNumCoeff)
Parameters
double dEvalPt The point to evaluate the model at.
Return
double dVal The evaluated point.
The dual polynomial model is handled in a different manner because of how complicated
the model definition is. The first routine is used to compute the model parameters. The
second routine is used to evaluate the model at a specified point.
Calling Convention
long lOptimizeDualEfficiency (float *prX, float *prY, float *prUnc, long lNum,
MODELINFO_T *pstModel)
Parameters
double dEvalPt The point to evaluate the model at.
339
Component Programming Library Reference
Return
double dVal The computed value.
The interpolation model is handled differently because model parameters are not opti-
mized.
double dLogLinearInterpolate (double dEvalPt, double *pdUnc, float *prX, float *prY,
float *prUnc, long lNumPts)
Parameters
double dEvalPt The point to evaluate the model at.
Return
double dVal
Calling Convention
long lEstFarFieldSphere (float *prX, float *prY, float *prUnc, long lNum,
MODELINFO_T *pstModel)
340
Interactive Data Fit Control
long lEstFarFieldSlab (float *prX, float *prY, float *prUnc, long lNum,
MODELINFO_T *pstModel)
Parameters
float *prX The sample points.
Return
long lStat A status code. PAS__OK indicates success.
Calling Convention
double dFarFieldSphere (double dEvalPt, double *pdCoeff, double *pdGradiant, long
lNumCoeff)
Parameters
double dEvalPt The point to evaluate the model at.
Return
double dVal The evaluated point.
Calling Convention
long lEstimateExponentialEx (float *prX, float *prY, float *prUnc, long lNum,
MODELINFO_T *pstModel)
341
Component Programming Library Reference
long lEstimateRational (float *prX, float *prY, float *prUnc, long lNum,
MODELINFO_T *pstModel)
Parameters
float *prX The sample points.
Return
long lStat A status code. PAS__OK indicates success.
The first routine computes the initial estimate based on the averaged results from New-
ton-Raphson. The second routine computes the initial estimated based on the average ra-
tion between points. The results from both methods are passed to the non-linear least
squares method. The results from the non-linear least squares method are then passed to
the simulated annealing method. The covariance matrix is computed based on the as-
sumption that Cramer-Rao lower bound is met.
Calling Convention
double dRationalFnc(double dEvalPt, double *pdCoeff, double *pdGradiant, long
lNumCoeff)
Parameters
double dEvalPt The point to evaluate the model at.
Return
double dVal The evaluated point.
342
Interactive Data Fit Control
Calling Convention
double dPolynomialFnc (double dEvalPt, double *pdCoeff, double *pdGradiant, long
lNumCoeff)
Parameters
double dEvalPt The point to evaluate the model at.
Return
double dVal The evaluated point.
Model Statistics
The parameters for all linear models are computed using linear least squares. All linear
models have the form of a polynomial function therefore the evaluation function is a
polynomial.
Calling Convention
long lComputeStatsEx (DWORD dFncEx, float *prX, float *prY, float *prUnc, long
lNum, MODELINFO_T *pstModel)
long lComputeStats (DWORD dFnc, float *prX, float *prY, float *prUnc, long lNum,
double *pdCoef, double *pdStats, long lNumCoeff)
Parameters
DWORD dFncEx The address of the model function. The model function
must be of the form double (*pdModel)(double, double *,
MODELINFO_T *) where the first parameter is the evalua-
tion point, the second parameter is the computed
uncertianty, and the third parameter is the model informa-
tion.
DWORD dFnc The address of the model function. The model function
must be of the form double (*pdModel)(double, double *,
double *, long) where the first parameter is the evaluation
point, the second parameter is the coefficients, and the third
parameter is the gradient (NULL must be acceptable value)
and the for parameter is the number of coefficients.
343
Component Programming Library Reference
[1]: Residual
Return
long lStat A status code. PAS__OK indicates success.
The first component may be used to perform the initial efficiency calibration for a single
density. This component will allow you to define the calibration points. The second com-
ponent allows you to see the calibration. This component is capable of fitting different
efficiency models like Linear, Empirical, Dual, Interpolate etc. This component provides
a plot of the data and calibration model. There are two phases for this component: Phase I
and Phase II.
344
Efficiency Calibration Control
The Components dialog box is displayed; select “Canberra Efficiency Calibration Li-
brary”. Select the icon shown in Figure 21.
Figure 21 Efficiency
Calibration Icon
The initial user interface that is displayed when the component is dropped onto a VB
form.
Note The datasource must have been analyzed using peak search and peak area anal-
ysis before running this control. All calculations are based on peak area results.
Datasource Management
Data Display
345
Component Programming Library Reference
Opening a Datasource
This method opens the datasource and displays the efficiency calibration information.
Calling Convention
Open(Variant Source, EffCalOpenOps Options, DataSource Type)
Parameters
Variant Source The datasource to open. If this is a file name (i.e., String)
then the open options are used. If this is a DataAccess,
DeviceAccess, or CamDatasource object the datasource is
reopened.
EffCalOpenOps Options
346
Efficiency Calibration Control
efcFile: File
efcDectecor: Detector
Optional
EffCalOpenOps Ops A value of efcReadOnly
Closing a Datasource
This method closes the datasource.
Calling Convention
Close(EffCalCloseOps Options)
Parameters
EffCalCloseOps Options (Optional) The close options
Optional
EffCalCloseOps Ops A value of efcNoUpdate
Deleting A Point
This method deletes the data point from the spreadsheet. The point that is deleted is the
current point the mouse cursor is on. A message is sent via the event sink to signal when
deleting a point is allowable; this event is ChangesAllowed.
Calling Convention
Delete()
Parameters
None
347
Component Programming Library Reference
Return
None
Optional
None
Adding A Point
This method adds the data point to the spreadsheet. A point can be added only when the
last row of the spreadsheet has been completely filled in with values. A message is sent
via the event sink to signal when adding a point is allowable; this event is
ChangesAllowed.
The can only be 45 points in an efficiency calibration because of limitations in the CAM
file format. This method will not return an error under this condition; the point is not ac-
cepted.
Calling Convention
Add()
Parameters
None
Return
None
Optional
None
This method will match the peaks in the spreadsheet to the peaks in the certificate (match
is based on an energy or variable energy tolerance). For each peak that matches a certifi-
cate peak an efficiency value is computed. The efficiency is computed by taking the de-
cay corrected and sample quantity corrected ratio of the peak areas. This is performed
using the Efcal1 analysis engine.
This method does not compute the calibration coefficients; only the efficiency and uncer-
tainty is computed for each peak that matches the certificate is computed. You must exe-
cute the efficiency calibration phase 2 component or Efcal2 engine to compute the
coefficients.
348
Efficiency Calibration Control
Calling Convention
Automatic(Boolean PeakAnalysis)
Parameters
Boolean PeakAnalysis If true, peak analysis is performed before performing an ef-
ficiency calibration before performing an efficiency cali-
bration.
Return
None
Optional
None
1. If the number of records in cal file == 0: this is a new calibration, build the new
curve in record 1.
4. If the number of records in cal file > 1: this is a multi-curve calibration file.
Look for a matching density record:
found: move to record 1, merge in points and move the points back to the re-
cord found.
not found: build new efficiency curve (in record 1), then move into list of re-
cords in the right spot
It is assumed that peak search and peak area analysis has been performed on the input
file. The efficiencies for each peak defined in the certificate is computed (i.e., Efcal1 en-
gine is executed). The calibration coefficients are computed based on the new efficiency
points (i.e., Efcal2 engine is executed).
349
Component Programming Library Reference
It is also assumed that the default calibration type to use as defined by the parameter
CAM_T_EFFTYPE is defined in the spectral file. If it is not then the calibration type is
set to empirical. If the efficiency point already exists in the density record the point is
still added to allow the user to bias a point. The dual cross over is retained when adding
or merging points.
This method performs both phases of an efficiency calibration. The method was designed
to proceed through errors that may occur during phase 2. These errors may be caught by
setting and event handler for the AsynchronousMessages event. The types of errors that
are returned on method invocation are file i/o errors or errors that arise during phase 1
analysis.
The can only be 45 points in an efficiency calibration because of limitations in the CAM
file format. This method will not return an error under this condition; the point is not ac-
cepted.
Calling Convention
AddEfficiency(Variant Spec, Variant Certificate, Long Id, Boolean IgnoreDensity)
Parameters
Variant Spec This is the spectral file to add or merge into the current file.
This may be a DataAccess, DeviceAccess, or String object.
Variant Certificate This is the certificate file to add or merge into the current
file. This may be a DataAccess, DeviceAccess, or String
object. If this is a blank string (i.e. “”) then the CAM pa-
rameter CAM_T_EXPCERT is extracted from the spectral
file and is used.
Return
None
Optional
None
350
Efficiency Calibration Control
density records are in increasing order. If a match is found, the efficiency points are
merged. No energy points are rejected; this implies that you can weight an efficiency
point by inserting it multiple times. After the points are merged the calibration coeffi-
cients are computed. This method will merge every density record from the source cali-
bration into the destination calibration.
This method will not perform an efficiency calibration phase 1. This implies that the effi-
ciency for each peak is not computed; it is assumed that the efficiency for each points has
already been computed.
The method was designed to proceed through errors that may occur during phase 2.
These errors may be caught by setting and event handler for the AsynchronousMessages
event. The types of errors that are returned on method invocation are file I/O errors or
data verification errors.
The can only be 45 points in an efficiency calibration because of limitations in the CAM
file format. This method will not return an error under this condition; the point is not ac-
cepted.
Calling Convention
MergeEfficiency(Variant Spec, Long Id, Boolean IgnoreDensity)
Parameters
Variant Spec This is the spectral file to add or merge into the current file.
This may be a DataAccess, DeviceAccess, or String object.
Return
None
Optional
None
Displaying Changes
This will force the UI to reload the calibration information and display it. This method
should be used to display changes incurred by external modification to the datasource.
Calling Convention
Refresh()
351
Component Programming Library Reference
Parameters
None
Optional
None
Calling Conventions
PutEnergyUnits(String Label, Single ScaleFactor)
Parameters
String Label The label that is displayed with any parameter that has units of
energy
Single ScaleFactor The energy conversion factor. Base units are in keV. Therefore,
if you want to display MeV the conversion factor will be 1000.
Optional
None
Saving Calibration
This method will save all changes to the datasource.
Calling Convention
Save()
Parameters
None
Return
None
Optional
None
352
Efficiency Calibration Control
Calling Convention
ListOfIds(Variant List)
Parameters
Variant List Returns an array of Longs.
Return
None
Optional
None
The dual cross over is retained when the point that is deleted does not affect the order of
the lower or higher order curve. If the cross over point is deleted, it is set to the value of
0.0. Also, the calibration coefficients are recomputed after the points have been deleted.
Any errors that occur during the computations of the new coefficients are signaled
through the AsynchronousMessage event.
Calling Convention
RemovePoints(Long Id)
Parameters
Long IdThe datasource id.
Return
None
Optional
None
353
Component Programming Library Reference
Name Description
Certificate Sets or gets the certificate name
CrossOver Set or remove cross over peak
Is Warning Displays warning message
IsError Displays error message
Message Returns the status message defined by the
status code
NumberOfPoints Return current number of calibration points
IsModified Return true if the calibration has been modified
AllowEdits Enables/disables edit mode
Properties Reserved for future use
Certificate
This property will set or get the certificate name for the datasource. When the certificate
is assigned to the datasource the certificate is opened and the certificate points are added
to the datasource. If the datasource already has calibration points, the certificate points
are appended to the datasource. If the datasource has points that match the certificate
points, you are prompted to overwrite or skip the calibration point.
Calling Convention
Certificate
Parameters
None
354
Efficiency Calibration Control
Return
String Certificate
Privilege
Read-Write
Calling Convention
CrossOver
Parameters
None
Return
Boolean CrossOver If true, the current highlighted peak is set as the cross over
peak.
Privilege
Read-Write
Status Severity
All status messages have a severity associated with them. This severity defines whether a
message is an warning, or error message. There are two properties that may be used to
determine the severity of a message.
Calling Conventions
IsWarning(MessageCodes Code)
IsError(MessageCodes Code)
Parameters
MessageCodes Status The status code to examine for severity level.
355
Component Programming Library Reference
Return
Boolean bVal A value of true indicates that the message is of that speci-
fied severity level.
Optional
None
Calling Convention
Message
Parameters
MessageCodes Code The message code to retrieve the status string.
Return
String Message String for the status
Optional
None
Privilege
Read-Only
Calling Convention
NumberOfPoints
Parameters
None
Return
Long NumberOfPoints
Optional
None
356
Efficiency Calibration Control
Privilege
Read-Only
Modify State
This property will return true if the calibration has been modified.
Calling Convention
IsModified
Parameters
None
Return
Boolean IsModified
Optional
None
Privilege
Read-Only
Activating/Deactivating Edits
This property will activate or deactivate the ability to delete points from the calibration.
Calling Convention
AllowEdits
Parameters
None
Return
Boolean AllowEdits State of edit
Optional
None
Privilege
Read-Write
357
Component Programming Library Reference
Properties
This property allows for future expansion of the property list. It currently supports the
following.
Calling Convention
Properties
Parameters
None
Optional
None
Calling Convention
AsynchronousMessages (ByVal Long Code, ByVal String Message)
Parameters
Long Code The error code which can be passed to the status handler object
(StatHdlr.dll)
Calling Convention
ChangesAllowed (ByVal Long ChangeOption, ByVal Long State)
Parameters
Long ChangeOption Indicates which options is enabled delete or add
358
Efficiency Calibration Control
0: Implies disabled
1: Implies enabled
Calling Convention
CellSelected(ByVal Long Row, ByVal Long Col)
Parameters
Long Row The row
The following calibration parameters are modified by the control when a Save is per-
formed.
This component calls the lEfcal1 analysis engine. This engine will match the peaks in the
spreadsheet to the peaks in the certificate (match is based on an energy or variable energy
tolerance). For each peak that matches a certificate peak an efficiency value is computed.
The efficiency is computed by taking the decay corrected and sample quantity corrected
ratio of the peak areas.
359
Component Programming Library Reference
Exported Functions
This section outlines the several C functions that have been exported to allow non-COM
applications to use some of this components functionallity.
Calling Convention
extern “C” DWORD AddEfficiency (VARIANT Cal, VARIANT Spec, VARIANT Cert,
long Id, VARIANT_BOOL IgnoreDensity)
Description
This added efficiency points to the calibration. See method AddEfficiency for details.
Parameters
VARIANT Cal A name of a file, CamDatasource, or a DataAccess inter-
face. This represents the calibration output file. All effi-
ciency points will be added to this datasource.
VARIANT_BOOL IgnoreDen If true, the efficiency points are added to record 1 only.
Return
DWORD dwStat The status code. PAS__OK indicates success.
Calling Convention
extern “C” DWORD MergeEfficiency (VARIANT Cal, VARIANT Spec, long Id,
VARIANT_BOOL IgnoreDensity)
Description
This merges efficiency points into the calibration. See method MergeEfficiency for de-
tails.
360
Efficiency Calibration Control
Parameters
VARIANT Cal A name of a file, CamDatasource, or a DataAccess inter-
face. This represents the calibration output file. All effi-
ciency points will be added to this datasource.
VARIANT_BOOL IgnoreDen If true, the efficiency points are added to record 1 only.
Return
DWORD dwStat The status code. PAS__OK indicates success.
Calling Convention
extern “C” DWORD ListOfIds(VARIANT Cal, VARIANT *pList)
Description
This returns a list of all of the efficiency point id numbers. See method ListOfIds for de-
tails.
Parameters
VARIANT Cal A name of a file, CamDatasource, or a DataAccess interface.
This represents the calibration output file. All efficiency points
will be added to this datasource.
VARIANT *pList The list of Ids. This is an array of Longs starting at index 0.
Return
DWORD dwStat The status code. PAS__OK indicates success.
Calling Convention
extern “C” DWORD RemoveCal(VARIANT Cal, long lId)
Description
This removes all efficiency points matching the id number. See method RemoveCal for
details.
361
Component Programming Library Reference
Parameters
VARIANT Cal
Long Id
Return
DWORD dwStat The status code. PAS__OK indicates success.
Figure 22 Efficiency
Calibration Icon
The initial user interface that is displayed when the component is dropped onto a VB
form.
Note The datasource must be populated with efficiency calibration points; this im-
plies the Efficiency Calibration Phase I must have been performed. All calcula-
tions are based on efficiency calibration points.
362
Efficiency Calibration Control
Datasource Management
Data Display
Display Limits
363
Component Programming Library Reference
Opening a Datasource
This method opens the datasource and displays the efficiency calibration information.
Calling Convention
Open(Variant Source, EffCalOpenOps Options, DataSource Type)
Parameters
Variant Source The datasource to open. If this is a file name (i.e., String)
then the open options are used. If this is a DataAccess,
DeviceAccess, or CamDatasource object the datasource is
reopened.
efcFile: File
efcDectecor: Detector
364
Efficiency Calibration Control
Optional
EffCalOpenOps Ops A value of efcReadOnly
Closing a Datasource
This method closes the datasource.
Calling Convention
Close(EffCalCloseOps Options)
Parameters
EffCalCloseOps Options (Optional) The close options.
Optional
EffCalCloseOps Ops A value of efcNoUpdate
Deleting A Point
This method deletes the data point that the plot cursor is on and computes the model pa-
rameters. This option only works for 2d plots. If the point to be deleted is the cross over
point for the dual model, the cross over point is moved to the next data point.
Note This method will not delete points from the density versus efficiency plot. The
reason is because deleting a density point will affect the density versus effi-
ciency plot at another energy because of the way these points are store in the
CAM format.
If Refresh method will be performed after deleting point(s), the component will
erase the current set of deleted point(s) and there will be no point(s) remain
undeleted. (Change I – Remove this comment).
Calling Convention
DeletePoint(Long Index)
Parameters
Long Index (Optional) The index of the data point to delete. If –1 is speci-
fied, the cursor location is used
365
Component Programming Library Reference
Return
None
Optional
Long Index A value of –1
Undeleting A Point
This method will undelete a previously deleted point and computes the model parame-
ters. This option only works for 2d plots.
Note This method does nothing for density versus efficiency plot because you can-
not delete a point from this type of plot.
If Refresh method will be performed after deleting point(s), the component will
erase the current set of deleted point(s) and there will be no point(s) remain
undeleted. (Change I – Remove this comment)
Calling Convention
UnDeletePoint()
Parameters
None
Return
None
Optional
None
Note This method does nothing for density versus efficiency plot because you can-
not delete a point from this type of plot.
Calling Convention
UnDeleteAll()
Parameters
None
366
Efficiency Calibration Control
Return
None
Optional
None
Aborting a Computation
Aborts a computation. Computations are performed in a separate thread to prevent the
user interface from locking. This method will terminate the computational thread and re-
store the original calibration parameters. This method will not return until the computa-
tion thread has been terminated.
Calling Convention
AbortComputation()
Parameters
None
Return
None
Optional
None
Calling Convention
SetPlotLimits (Double MinX, Double MaxX, Double MinY, Double MaxY, Double
MinZ, Double MaxZ)
GetPlotLimits (Double MinX, Double MaxX, Double MinY, Double MaxY, Double
MinZ, Double MaxZ)
Parameters
Double MinX Min x value
367
Component Programming Library Reference
Optional
Double MinZ A value of 0
Return
None
Calling Convention
PutEnergyUnits(String Label, Single ScaleFactor)
Parameters
String Label The label that is displayed with any parameter that has units of
energy
Single ScaleFactor The energy conversion factor. Base units are in keV. Therefore,
if you want to display eV the conversion factor will be 1000.
Optional
None
Calling Convention
PutDensityUnits(String Label, Single ScaleFactor)
Parameters
String Label The label that is displayed with any parameter that has units of
density
Single ScaleFactor The energy conversion factor. Base units are in kg/l.
368
Efficiency Calibration Control
Optional
None
Printing
A print dialog is displayed to allow the user to print the plot.
Calling Convention
PrintDialog(String Title, String SubTitle, String X, String Y, String Z)
Parameters
String Title (Optional) The plot title or a header label for the spreadsheet
print out.
Optional
String Title A value of “”. The plot label on the window is printed.
String SubTitle A value of “”. The plot label on the window is printed.
Displaying Changes
This will force the UI to reload the calibration information and display it. This method
should be used to display changes incurred by external modification to the datasource.
Calling Convention
Refresh()
Parameters
None
Optional
None
369
Component Programming Library Reference
Saving Changes
This will store the current changes to the datasource.
Calling Convention
Save()
Parameters
None
Optional
None
Name Description
DataPointColor Changes the color of the data points
ModelColor Changes the model color
LowDualCurveColor Changes the color of the low dual polynomial
curve
BackgroundColor Changes the background colcr of the plot
AxisAndLabelColor Changes the color of the plot axes and labels
CursorColor Changes the color of the plot cursor
CrossOverColor Changes the colcr of the cross over annotation
line
Is Warning Displays warning message
IsError Displays error message
Message Returns the status message defined by the
status code
AllowEdits Enables/disables edit mode
IsComputing Determines if component is currently
computing
Calibration Determines if the calibration plot is being
displayed
NumberOfPoints Return current number of calibration points
370
Efficiency Calibration Control
Calling Convention
DataPointColor
Parameters
None
Optional
None
Return
OLE_COLOR DataPointColor The color
Privilege
Read-Write
Model Color
This property allows you to change the model color.
Calling Convention
ModelColor
Parameters
None
Optional
None
Return
OLE_COLOR ModelColor The color
Privilege
Read-Write
371
Component Programming Library Reference
Calling Convention
LowDualCurveColor
Parameters
None
Optional
None
Return
OLE_COLOR LowDualCurveColor The color
Privilege
Read-Write
Background Color
This property allows you to change the background color of the plot.
Calling Convention
BackgroundColor
Parameters
None
Optional
None
Return
OLE_COLOR BackgroundColor The color
Privilege
Read-Write
372
Efficiency Calibration Control
Calling Convention
AxisAndLabelColor
Parameters
None
Optional
None
Return
OLE_COLOR AxisAndLabelColor The color
Privilege
Read-Write
Cursor Color
This property allows you to change the color of the plot cursor.
Calling Convention
CursorColor
Parameters
None
Optional
None
Return
OLE_COLOR CursorColor The color
Privilege
Read-Write
Calling Convention
CrossOverColor
373
Component Programming Library Reference
Parameters
None
Optional
None
Return
OLE_COLOR CrossOverColor The color
Privilege
Read-Write
Status Severity
All status messages have a severity associated with them. This severity defines whether a
message is an warning, or error message. There are two properties that may be used to
determine the severity of a message.
Calling Conventions
IsWarning(MessageCodes Code)
IsError(MessageCodes Code)
Parameters
MessageCodes Status The status code to examine for severity level.
Return
Boolean bVal A value of true indicates that the message is of that speci-
fied severity level.
Optional
None
Calling Convention
Message
Parameters
MessageCodes Code The message code to retrieve the status string.
374
Efficiency Calibration Control
Return
String Message String for the status
Optional
None
Privilege
Read-Only
Activating/Deactivating Edits
This property will activate or deactivate the ability to delete points from the calibration.
Calling Convention
AllowEdits
Parameters
None
Return
Boolean AllowEdits State of edit
Optional
None
Privilege
Read-Write
Calling Convention
IsComputing
Parameters
None
Return
Boolean IsComputing If true then the component is computing.
375
Component Programming Library Reference
Optional
None
Privilege
Read-Only
Calling Convention
Calibration
Parameters
None
Return
PlotType Calibration The type of calibration
Optional
None
Privilege
Read-Only
Calling Convention
NumberOfPoints
Parameters
None
Return
Long NumberOfPoints
376
Efficiency Calibration Control
Optional
None
Privilege
Read-Only
Modify State
This property will return true if the calibration has been modified.
Calling Convention
IsModified
Parameters
None
Return
Boolean IsModified
Optional
None
Privilege
Read-Only
Properties
This property allows the programmer to set a number of properties that are not defined in
the interface.
Calling Convention
Properties
Parameters
None
Return
See table below.
Optional
None
377
Component Programming Library Reference
Privilege
See table below.
Calling Convention
AsynchronousMessages (ByVal Long Code, ByVal String Message)
Parameters
Long Code The error code which can be passed to the status handler object
(StatHdlr.dll)
Calling Convention
EquationChanged (ByVal String Equation)
378
Efficiency Calibration Control
Parameters
Calling Convention
PlotChanged (ByVal PlotType Type)
Parameters
PlotType Type The type of plot.
Calling Convention
CursorChanged (ByVal Single X, ByVal Single Y, ByVal Single Unc, ByVal Long Row)
Parameters
Single X The x graphical position
Long Row The spreadsheet row. This is also the CAM record number.
Exported C Routines
This component computes efficiency and multi-curve efficiency using new algorithms. A
new multi-curve analysis engine has been written to use these new algorithms. The origi-
nal multi-curve analysis information may be found in “Software Requirements Specifica-
tion (SRS) for the Q2 Multi-Curve Efficiency Calculation.“ This analysis engine is
exported by this DLL.
379
Component Programming Library Reference
Calling Convention
DWORD MultiCurveComputeDensity (HMEM hDSC, USHORT usPhase, void *pv1,
void *pv2)
Parameters
HMEM hDSC The CAM file handle
Return
DWORD dwStat A status code. 0 indicates success.
The following calibration parameters are modified by the control when a Save is per-
formed.
380
Efficiency Calibration Control
For the case of Peak-To-Total calibration the following CAM parameters are modified.
381
Component Programming Library Reference
A new DLL contains this user interface, MultiCurveUI.dll. The functionality of each con-
trol is tabulated below.
Associated with each control is a CAM parameter. This parameter contains the value that
will be used in the analysis.
After the analysis executes the density vs. efficiency model that was used during the
analysis may have changed. The CAM parameter that defines the density vs. efficiency
model that was used is CAM_T_EFFDENSTYP. The reason why this model may have
changed is because the fitting process may have failed for more than half the number of
energy points.
382
Energy Calibration Control
Energy calibration phase I allows you to select the peaks to use for energy and shape cal-
ibration and displays them. These peaks are then quantified via peak area analysis. The
results are displayed in a spreadsheet. This component used to select the peaks of interest
and a spreadsheet to display the selected peak information. This component is illustrated
below.
Figure 23 Energy
Calibration Icon
The initial user interface that is displayed when the component is dropped onto a VB
form.
383
Component Programming Library Reference
Datasource Management
Detector Controls
384
Energy Calibration Control
Export Data
Opening a Datasource
This method opens the datasource and displays the energy calibration information. The
datasource does not have to be populated with calibration points before open is called. A
datasource may be opened with a remote VDM using the CamDatasource interface, see
“Canberra CamDatasource Component (SDD).”
Calling Convention
Open(Variant Source, EcalOpenOptions Options, SourceType Type)
Parameters
Variant Source The datasource to open. If this is a file name (i.e., String)
then the open options are used. If this is a DataAccess,
DeviceAccess, or CamDatasource object the datasource is
reopened.
ecDetector: A detector
385
Component Programming Library Reference
Optional
EcalOpenOptions Ops A value of efcReadOnly
Closing a Datasource
This method closes the datasource.
Calling Convention
Close(EcalCloseOptions Options)
Parameters
EcalCloseOptions Options (Optional) The close options.
Optional
EcalCloseOptions Ops A value of ecNoUpdate
Adding A Point
This method adds a point to the calibration list. The point energy value must be manually
entered in the last row of the spreadsheet and then select add. A point may be added only
when the last row is highlighted in the spreadsheet. A message is sent via the event sink
to signal when adding a point is allowable; this event is ChangesAllowed.
Calling Convention
Add()
Parameters
None
Return
None
Deleting A Point
This method deletes a point from the calibration list. A point may be deleted only when
an energy point in the spreadsheet is highlighted. A message is sent via the event sink to
signal when deleting a point is allowable; this event is ChangesAllowed.
386
Energy Calibration Control
Calling Convention
Delete()
Parameters
None
Return
None
Optional
None
Cursor
This method will associate the highlighted energy value with a channel on the Mvc. This
method will throw an error if a peak could not be fitted to the spectral region defined by
the cursor.
The ROI is determined based on an estimation of the FWHM based on the peak centroid
channel counts. This ROI is then used as an input parameter to the peak area engine that
computes the FWHM, low energy tail position, and peak centroid.
Calling Convention
Cursor()
Parameters
None
Return
None
Optional
None
Markers
This will compute the FWHM and low tail parameters based on the ROI marker position
on the Mvc display. An energy value must be highlighted in the spreadsheet. This
method will throw an error if a peak could not be fitted to the spectral region defined by
the markers.
The left and right ROI markers are used to define the ROI that is used as an input to the
peak area engine. The peak area engine computes the FWHM, low energy tail position,
and peak centroid.
387
Component Programming Library Reference
Calling Convention
Markers()
Parameters
None
Return
None
Optional
None
Automatic Calibration
These methods will quantify the centroid, FWHM, and low energy tail for all points in
the spreadsheet. This method will throw an error if a peak could not be fitted to a spectral
region defined in the list. The calibration point that could not be quantified will be high -
lighted.
For each peak centroid the ROI is determined based on an estimation of the FWHM
based on the peak centroid channel counts. Each ROI is then used as an input parameter
to the peak area engine that computes the FWHM, low energy tail position, and peak cen-
troid for each peak centroid in the spreadsheet.
Calling Convention
Automatic()
Parameters
None
Optional
None
Return
None
Detector Controls
These methods will control the detector. Start, stop, and clear control the acquisition of
data. Adjust will display a dialog so the hardware may be adjusted during a calibration.
Calling Conventions
Start()
388
Energy Calibration Control
Stop()
Clear()
Adjust()
Parameters
None
Optional
None
Calling Conventions
NextRoi()
PreviousRoi()
Parameters
None
Return
None
Saving Changes
This will store the current changes to the datasource.
Calling Conventions
Save()
Parameters
None
Optional
None
389
Component Programming Library Reference
Displaying Changes
This will force the UI to reload the calibration information and display it. This method
should be used to display changes incurred by external modification to the datasource
Note On “Refresh”, the component will discard all the unsaved changes, made to the
CAM file.
Calling Convnetion
Refresh()
Parameters
None
Optional
None
Calling Conventions
PutEnergyUnits(String Label, Single ScaleFactor)
Parameters
String Label The label that is displayed with any parameter that has
units of energy
Single ScaleFactor The energy conversion factor. Base units are in keV.
Therefore, if you want to display eV the conversion factor
will be 1/1000. (Change I)
Optional
None
Printing
A print dialog is displayed to allow the user to print the calibration plot or the calibration
spreadsheet.
Calling Convention
PrintDialog(String Title, String SubTitle, String X, String Y)
390
Energy Calibration Control
Parameters
String Title (Optional) The plot title or a header label for the spread-
sheet print out.
Optional
String Title A value of “”. The plot label on the window is printed.
String SubTitle A value of “”. The plot label on the window is printed.
Name Description
Certificate Sets or gets the reference peak
Reference Peak Sets or removes the reference peak
Is Warning Displays warning message
IsError Displays error message
Message Returns the status message defined by the
status code
AllowEdits Enables/disables edit mode
EditAllPoints Enables/disables the ability to change all
calibration points in the spreadsheet
NumberOfPoints Return current number of calibration points
IsModified Return true if the calibration has been modified
Properties Reserved for future use
LinearScale Activates linear scaling
Expand Activates expand mode
DisplayType Sets or gets cuurent display type
391
Component Programming Library Reference
Certificate
This property will set or get the certificate name for the datasource. When the certificate
is assigned to the datasource the certificate is opened and the certificate points are added
to the datasource. If the datasource already has calibration points, the certificate points
are appended to the datasource. If the datasource has points that match the certificate
points, you are prompted to overwrite or skip the calibration point.
Calling Convention
Certificate
Parameters
None
Return
String Certificate
Privilege
Read-Write
Reference Peak
This property will set or remove the reference peak. The reference peak is defined when
the input focus is on the row that represents the peak and this property is assigned a value
of true. The text in this row is highlighted when the reference peak has been set. To re-
move a reference peak you can set the input focus on the current reference peak row and
set the value of this property to false. When the text has been change from bold to normal
the reference peak has been removed.
392
Energy Calibration Control
Calling Convention
RefencePeak
Parameters
None
Return
Boolean ReferencePeak If true, the current highlighted peak is set as the reference
peak.
Privilege
Read-Write
Status Severity
All status messages have a severity associated with them. This severity defines whether a
message is a warning or error message. There are two properties that may be used to de-
termine the severity of a message.
Calling Conventions
IsWarning(MessageCodes Code)
IsError(MessageCodes Code)
Parameters
MessageCodes Status The status code to examine for severity level.
Return
Boolean bVal A value of true indicates that the message is of that speci-
fied severity level.
Optional
None
Calling Convention
Message
Parameters
MessageCodes Code The message code to retrieve the status string.
393
Component Programming Library Reference
Return
String Message String for the status.
Optional
None
Privilege
Read-Only
Activating/Deactivating Edits
This property will activate or deactivate the ability to change calibration points.
Calling Convention
AllowEdits
Parameters
None
Return
Boolean AllowEdits State of edit
Optional
None
Privilege
Read-Write
Calling Convention
EditAllPoints
Parameters
None
Return
Boolean EditAllPoints State of edit
394
Energy Calibration Control
Optional
None
Privilege
Read-Write
Calling Convention
NumberOfPoints
Parameters
None
Return
Long NumberOfPoints
Optional
None
Privilege
Read-Only
Modify State
This property will return true if the calibration has been modified.
Calling Convention
IsModified
Parameters
None
Return
Boolean IsModified
395
Component Programming Library Reference
Optional
None
Privilege
Read-Only
Properties
This property allows for future expansion of the property list. It currently supports the
following.
Calling Convention
PropertiesParameters
Parameters
None
Return
See table above.
Optional
None
396
Energy Calibration Control
Privilege
See table above
Linear/Log Scale
This property allows to switch display from linear to log and vice versa. If True means
set to linear scale else set to log scale. (Valid only for Spectrum Display).
Calling Convention
LinearScale
Parameters
None
Return
Boolean LinearScale Current scale
Optional
None
Privilege
Read-Write
Expand On/Off
This property allows to turn on/off expand mode. (Valid only for Spectrum Display).
Calling Convention
Expand
Parameters
None
Return
Boolean Expand Current mode
Optional
None
Privilege
Read-Write
397
Component Programming Library Reference
Display Type
This property allows to set current display type or get current display type. (Valid only
for Spectrum Display).
Calling Convention
DisplayType
Parameters
None
Return
int DisplayType Current display type:
0 – Normal Plot
1 – Full Plot
2 – Fill Plot
3 – Envelope Plot
Optional
None
Privilege
Read-Write
Calling Convention
RecalibMode
Parameters
None
Return
Boolean RecalibMode Current recalibration mode
Optional
None
398
Energy Calibration Control
Privilege
Read-Write
Calling Convention
AutoScale
Parameters
None
Return
Boolean AutoScale Current scale mode
Optional
None
Privilege
Read-Write
Calling Convention
AsynchronousMessages (ByVal Long Code, ByVal String Message)
Parameters
Long Code The error code which can be passed to the status handler object
(StatHdlr.dll).
399
Component Programming Library Reference
Calling Convention
ChangesAllowed (ByVal Long ChangeOption, ByVal Long State)
Parameters
Long ChangeOption Indicates which options is enabled Delete or Add
0: Implies disabled
1: Implies enabled
Calling Convnetion
CursorMove (ByVal Single PeakEnergy, ByVal Long PeakChan, ByVal Single
LeftRoiEnergy, ByVal Long LeftRoiChan, ByVal Single RightRoiEnergy,
ByVal Long RightRoiChan)
Parameters
Single Energy The energy value at the peak cursor (keV).
Calling Convention
CellSelected(ByVal Long Row, ByVal Long Col)
Parameters
Long Row The row
400
Energy Calibration Control
Calling Convention
ComputationComplete(ByVal Boolean Success)
Parameters
Boolean Success Success or failure of computation.
The following calibration parameters are modified by the control when a Save is per-
formed.
401
Component Programming Library Reference
Figure 24 Energy
Calibration Icon
The initial user interface that is displayed when the component is dropped onto a VB
form.
402
Energy Calibration Control
Note The data source must be populated with energy calibration points; this implies
the Energy Calibration Phase I must have been performed. All calculations are
based on energy and shape calibration points.
This section tabulates all of the enumeration types this component exports.
Name Description
Operaton Desription
Open Opens the datasource and displays energy
calibration information
Close Closes the datasource
DeletePoint Deletes the calibration point the plot cursor is
on
UnDeletePoint Restores previously deleted calibration point
UnDeleteAll Restores all previously deleted calibration
points
SetPlotLimits Changes the plot limits
GetPlotLimits Gets the current plot limits
PrintDialog Displays a print dialog
403
Component Programming Library Reference
Operaton Desription
Save Save all datasource changes
Refresh Changes the Energy Calibration user interface
Calling Convention
Open(Variant Source, EcalOpenOptions Options, SourceType Type)
Parameters
Variant Source The data source to open. If this is a file name (i.e., String)
then the open options are used. If this is a DataAccess,
DeviceAccess or CamDatasource object, the data source is
reopened.
ecDetector: A detector
404
Energy Calibration Control
Calling Convention
Close(EcalCloseOptions Options)
Parameters
EcalCloseOptions Options (Optional) The close options.
Deleting A Point
This method deletes the calibration point that the plot cursor is on and computes the cali-
bration parameters.
Note The number of energy and shape points must be equal. Therefore, when a point
is deleted from one calibration type the other types have the associated point
removed and the calibrations are computed. Also, the shape calibration points
are based on using the energy calibration slope parameter. Therefore, when a
point is deleted the energy calibration must be recomputed. Then the energy
calibration slope is used to determine the shape calibration points. Finally, the
shape calibration is computed.
Calling Convention
DeletePoint(Long Index)
Parameters
Long Index (Optional) The index of the data point to delete. If –1 is
specified, the cursor location is used
Return
None
Optional
Long Index A value of –1
Undeleting A Point
This method will undelete a previously deleted calibration point and computes the cali-
bration parameters.
405
Component Programming Library Reference
Note The number of energy and shape points must be equal. Therefore, when a point
is undeleted from one calibration type the other types have the associated point
added and the calibrations are computed. Also, the shape calibration points are
based on using the energy calibration slope parameter. Therefore, when a point
is undeleted the energy calibration must be recomputed. Then the energy cali-
bration slope is used to determine the shape calibration points. Finally, the
shape calibration is computed.
Calling Convention
UnDeletePoint()
Parameters
None
Return
None
Optional
None
Note The number of energy and shape points must be equal. Therefore, when all
points are undeleted from one calibration type the other types have all points
undeleted and the calibrations are computed. Also, the shape calibration points
are based on using the energy calibration slope parameter. Therefore, when all
points are undeleted the energy calibration must be recomputed. Then the en-
ergy calibration slope is used to determine the shape calibration points. Finally,
the shape calibration is computed.
Calling Convnetion
UnDeleteAll()
Parameters
None
Return
None
Optional
None
406
Energy Calibration Control
Calling Conventions
SetPlotLimits(Double MinX, Double MaxX, Double MinY, Double MaxY)
Parameters
Double MinX Min x value.
Optional
None
Return
None
Printing
A print dialog is displayed to allow the user to print the calibration plot or the calibration
spreadsheet.
Calling Convention
PrintDialog(String Title, String SubTitle, String X, String Y)
Parameters
String Title (Optional) The plot title or a header label for the spread-
sheet print out.
Optional
String Title A value of “”. The plot label on the window is printed.
String SubTitle A value of “”. The plot label on the window is printed.
407
Component Programming Library Reference
Saving Changes
This will store the current changes to the data source.
Calling Convention
Save()
Parameters
None
Optional
None
Displaying Changes
This will store the force the UI to reload the calibration information and display it. This
method should be used to display changes incurred by external modification to the data
source.
Calling Convention
Refresh()
Parameters
None
Optional
None
Name Description
FwhmColor Changes the color of the data points
Low/TailColor Changes the color of the error bars
EnergyColor Changes the color of the model
408
Energy Calibration Control
Calibration Colors
This property allows you to change the color of the data points, error bars and model for
a particular calibration.
Calling Conventions
FwhmColor
LowTailColor
EnergyColor
Parameters
None
Return
OLE_COLOR Color The color
Privilege
Read-Write
409
Component Programming Library Reference
Background Color
This property allows you to change the background color of the calibration plot.
Calling Convention
BackgroundColor
Parameters
None
Return
OLE_COLOR BackgroundColor The color
Privilege
Read-Write
Calling Convention
AxisAndLabelColor
Parameters
None
Return
OLE_COLOR AxisAndLabelColor The color
Privilege
Read-Write
Cursor Color
This property allows you to change the color of the plot cursor of the calibration plot.
Calling Convention
CursorColor
Parameters
None
410
Energy Calibration Control
Return
OLE_COLOR CursorColor The color
Privilege
Read-Write
Status Severity
All status messages have a severity associated with them. This severity defines whether a
message is a warning or error message. There are two properties that may be used to de-
termine the severity of a message.
Calling Convnetion
IsWarning(MessageCodes Code)
IsError(MessageCodes Code)
Parameters
MessageCodes Status The status code to examine for severity level.
Return
Boolean bVal A value of true indicates that the message is of that speci-
fied severity level.
Calling Convention
Message
Parameters
MessageCodes Code The message code to retrieve the status string.
Return
String Message String for the status
Privilege
Read-Only
Activating/Deactivating Edits
This property will activate or deactivate the ability to delete points from the calibration.
411
Component Programming Library Reference
Calling Convention
AllowEdits
Parameters
None
Return
Boolean AllowEdits State of edit
Privilege
Read-Write
Calling Convention
IsComputing
Parameters
None
Return
Boolean IsComputing If true then the component is computing.
Privilege
Read-Only
Calling Convnetion
NumberOfPoints
Parameters
None
412
Energy Calibration Control
Return
Long NumberOfPoints
Optional
None
Privilege
Read-Only
Modify State
This property will return true if the calibration has been modified.
Calling convention
IsModified
Parameters
None
Return
Boolean IsModified
Optional
None
Privilege
Read-Only
Properties
This property allows the programmer to set a number of properties that are not defined in
the interface.
Calling Convention
Properties
Parameters
None
Return
See table below.
413
Component Programming Library Reference
Optional
None
Privilege
See table below.
Calling Convention
AsynchronousMessages (ByVal Long Code, ByVal String Message)
414
Energy Calibration Control
Parameters
Long Code The error code which can be passed to the status handler
object (StatHdlr.dll)
Calling Convention
ComputationComplete(ByVal Boolean Success)
Parameters
Boolean Success Success or failure of computation
The following calibration parameters are modified by the control when a Save is per-
formed.
415
Component Programming Library Reference
416
CAM Dialog Control
CAM data files. These dialogs allow you to view data files, detectors, counters, nuclide
libraries, certificates, calibration files, and ROI files.
These dialogs do not load the datasource they simply provide a user interface for you to
list various types of datasource to load into your application. The dialogs will return the
information that has been entered into the user interface. This information you can use to
load the datasource into your application.
Figure 25 Open/Save
Icon
Double click on this icon and it will appear on your VB form. This icon will appear only
during design time. There are no properties visible in the property toolbar list: all proper-
ties and methods become visible during coding.
417
Component Programming Library Reference
Operation Description
OpenDataSource Opens all files, counters, or detectors
OpenROI Opens all ROI files
OpenCalibration Opens all calibration files
OpenCertificate Opens all certificate files
OpenNuclideLib Opens all nuclide library files
SaveAs Save all
Note The following sections will display the calling format for each property and
method supported by this component interface. All calling formats and exam-
ples are displayed using Visual Basic notation.
Calling Convention
OpenDataSource (Boolean Cancelled, String File, Boolean ReadOnly,
OpenDataSourceType Type, DataSourceOpenMask Mask, String Title,
String Dir, String Extension, String HelpFile, Long Type, Long
ConfigRec, String ShellId)
Parameters
Boolean Cancelled (Out) Returns true if the user canceled the dialog.
Boolean ReadOnly (Out) Returns true if the read-only check box was se-
lected.
camdlgFile: File
camdlgDetector: Detector
418
CAM Dialog Control
String Dir The open directory. If is “” then the Genie-2K CAM file
directory is used.
Optional
DataSourceOpenMask Mask A value of camdlgOpenDefault
419
Component Programming Library Reference
Calling Convention
OpenROI (Boolean Cancelled, String File, Boolean ByEnergy, String Title, String Dir,
String HelpFile, Long Type, Long ConfigRec, String ShellId)
Parameters
Boolean Cancelled (Out) Returns true if the user canceled the dialog.
Boolean ByEnergy (Out) Returns true if the energy check box was selected.
String Dir The open directory. If is “” then the Genie-2K CAM file di-
rectory is used.
Optional
String Title A value of “”
420
CAM Dialog Control
Calling Convention
OpenCalibration (Boolean Cancelled, String File, Boolean Energy, Boolean Efficiency,
Boolean Append, String Title, String Dir, String HelpFile, Long Type,
Long ConfigRec, String ShellId)
Parameters
Boolean Cancelled (Out) Returns true if the user canceled the dialog.
Boolean Energy (Out) Returns true if the energy check box was selected.
Boolean Eff (Out) Returns true if the effiency check box was selected.
Boolean Append (Out) Returns true if the append check box was selected.
String Dir The open directory. If is “” then the Genie-2K CAL file di-
rectory is used.
421
Component Programming Library Reference
Optional
DataSourceOpenMask Mask A value of camdlgCalDefault
OpenCertificate (Boolean Cancelled, String File, String Title, String Dir, String
HelpFile, Long Type, Long ConfigRec, String ShellId)
Parameters
Boolean Cancelled (Out) Returns true if the user canceled the dialog.
String Dir The open directory. If is “” then the Genie-2K CAM file di-
rectory is used.
Optional
String Title A value of “”
422
CAM Dialog Control
Calling Conventions
OpenNuclideLib (Boolean Cancelled, String File, String Title, String Dir, String
HelpFile, Long Type, Long ConfigRec, String ShellId)
Parameters
Boolean Cancelled (Out) Returns true if the user canceled the dialog.
String Dir The open directory. If is “” then the Genie-2K CAM file di-
rectory is used.
Optional
String Title A value of “”
423
Component Programming Library Reference
Save As Dialog
This method displays a dialog that will allow you to get information about where to save
a datasource (i.e., nuclide library, calibration, data file, certificate, or ROI file).
Calling Conventions
SaveAs (Boolean Cancelled, String File, String FileTitle, String Description, String
Geom, DataSourceSaveMask Mask, String Title, String Dir, String Extension,
String HelpFile, Long Type, Long ConfigRec, String ShellId)
Parameters
Boolean Cancelled (Out) Returns true if the user canceled the dialog.
String FileTitle This is the title of the file. This is returned if the save
mask is camdlgShowTitle or
camdlgShowCertificateName.
String Description This is the description. This has different means based
on the user DataSourceSaveMask. If the mask is
camdlgShowDescription this will be the description.
String Geom This is the name of the geometry if the save mask is
camdlgShowGeometry.
String Dir The open directory. If is “” then the Genie-2K CAM file
directory is used.
424
Adjust Control
Optional
DataSourceSaveMask Mask A value of camdlgSaveDefault
Adjust Control
The Adjust Control is a control which supports the User Interface components necessary
to adjust hardware inputs. This is done by displaying a control that is similar to the cur-
rent MCA Adjust dialog in the Acquisition and Analysis applications. This control can be
embedded in any form including modeless and modal forms. All adjust operations are
asynchronously performed in a background thread to avoid any substantial slowdown in
the user interface of the rest of the application. The Adjust Control also supports event
callbacks to inform any clients of changes in the device.
425
Component Programming Library Reference
Double click on this icon and it will appear on your VB form. Note that the control is
fixed in size to support a fixed number of controls lengthwise. When first added to a form
the control will appear virtually blank. It will remain this way until a DeviceAccess ob-
ject is set into the object.
Operation Description
SetDevice Assign a device to the control
CloseDevice Unassign the device
Busy Is the device busy adjusting
Setting a Device
Sets a device into the control. This will populate the screen with the DeviceAccess’s ad-
justable input devices.
Calling Convention
SetDevice([in] DevAcc As DeviceAccess, [Devices As AdjustDeviceTypes = adjALL])
Parameters
DevAcc The device access object to adjust. Should be open and
writable. If the input contains no adjustable devices then an
error will be returned and the function will fail.
426
Adjust Control
adjAll adjLFC
adjADC adjMCS
adjMXR adjProtocol
adjDigStab adjPwrMgmt
adjSmpChngr adjVacuum
adjAmp adjGainDSP
adjHVPS adjFilterDSP
adjPreAmp adjPulser
Optional
Devices = adjAll
Example
Dim DA As DeviceAccess
Set DA = New DeviceAccess
DA.Connect “DET1”
AdjustControl1.SetDevice DA, adjADC + adjSmpChngr
Calling Convention
CloseDevice ()
Parameters
None
Optional
None
427
Component Programming Library Reference
Example
:
: ‘ Do modal operations
AdjustControl1.CloseDevice
DA.Disconnect
Calling Convention
Boolean Busy()
Parameters
None
Returns
Boolean Is busy?
Optional
None
Example
Private Sub Ok_Click()
If(AdjustControl1.Busy) Then
Exit Sub
Else
Unload Me
EndIf
End Sub
Calling Convention
AdjustChange(AdjustEvents Ev, long ErrorCode)
Parameters
AdjustEvents AdjustEvents may be one or more of the following:
428
Adjust Control
Example
Private Sub AdjustControl1_AdjustChange(ByVal Ev As _AdjustEvents,
ByVal ErrorCode As Long)
End Sub
Status Severity
All status messages have a severity associated with them. This severity defines whether a
message is a warning message or an error message. There are two properties that may be
used to determine the severity of a message.
Calling Convention
Boolean IsError(Long ErrorCode)
Boolean IsWarning(Long ErrorCode)
Parameters
long ErrorCode The status code to examine for severity level.
429
Component Programming Library Reference
Return
Boolean bVal A value of true indicates that the message is of that speci-
fied severity level.
Optional
None
Example
AdjustControl1.SetDevice myDET
Exit Sub
ErrorHandler:
If(IsError(Err.Number)) Then
MsgBox AdjustControl1.Message(Err.Number)
Else If(IsWarning(Err.Number) Then
MsgBox Err.Description
Resume Next
EndIf
End Sub
Calling Convention
String Message(MessageCode Code)
Parameters
Long MessageCodes Code The message code to retrieve the status string.
Return
String Message String for the status
Optional
None
Privilege
Read-Only
Example
AdjustControl1.SetDevice myDET
Exit Sub
430
Sequence Analyzer
ErrorHandler:
If(IsError(Err.Number)) Then
MsgBox AdjustControl1.Message(Err.Number)
Else If(IsWarning(Err.Number) Then
MsgBox Err.Description
Resume Next
EndIf
EndSub
Sequence Analyzer
The Sequence Analyzer component is capable of analyzing and editing a Genie 2000
analysis sequence (ASF) file.
Note: Settings applied via the Analysis Sequence Editor’s Sequence Preferences dia-
log apply only to that specific sequence when run in the current session of Ge-
nie 2000. They do not apply to sequences run using this component.
The functions of analyzing and editing are provided seperately in two components: the
SequenceAnalyzer analyzes and the AnalysisEditor edits. Both are contained within the
same COM server DLL. The use of these components is described below.
SequenceAnalyzer
This component may be added to a VB project by selecting Project | Components, then in
the Components dialog, select “Canberra Sequence Analyzer Library”. An icon similar to
the one in Figure 27 will appear in the VB toolbar.
Figure 27 Sequence
Analyzer Icon
Double click on this icon and it will appear on your VB form. This icon will appear only
during design time. There are no properties visible in the property toolbar list; all proper-
ties and methods become visible during coding.
431
Component Programming Library Reference
Methods
The following methods are defined in the interface:
Operation Description
Analyze Analyze a Datasource
Abort Abort an analysis
Analyzing a Datasource
This method will analyze a datasource using an ASF file or the internal sequence defined
in the datasource.
Calling Convention
Analyze ([in] DS as Object, [in, out] Step As Integer = 0, [in, opt] Seq As String = “”,
[in, opt] Async As Bool = FALSE, [in, opt] Alpha As Bool = FALSE,
[in, opt] ReportOnly As Bool = FALSE, [in, opt] Report As Bool = TRUE,
[in, opt] OutFile As String = “”, [in, opt] Reporter As ReportViewer = Noth-
ing)
Parameters
DS as Object The Datasource to analyze: must be an open DataAccess or
DeviceAccess Object.
Step as Integer The Step number to start the sequence on. Step numbers
are 1 based, But 0 will also start at step 1. This alos returns
the final step number to be executed. This way if recover-
able errors occur during a step, the client may continue ex-
ecution.
Seq as String The full path name of an Analysis Sequence File. If not
specified the DS’s internal sequence will be used.
ReportOnly As Bool If true, only the report steps of the sequence will be exe-
cuted.
432
Sequence Analyzer
OutFile As String Full path name to an output file for report results. If not
specified the default report file for the datasourc will be
used.
Optional
Step as Integer Default = 0
Seq as String Default = “”. If not specified the DS’s internal sequence
will be used.
OutFile As Strin Default = “” If not specified the default report file for the
datasource will be used.
Reporter As ReportViewer Default = NULL. If not specified, reports to screen are not
output.
Example
Dim DS As DataAccess
Dim SA As SequenceAnalyzer
Dim Step As Integer
Set DS = New DataAccess
DS.Open “C:\Genie2k\Camfiles\NBSSTD.CNF”, aReadWrite
Set SA = New SequenceAnalyzer
Step = 1
SA.Analyze (DS, Step, “C:\Genie2k\CtlFiles\ECAL_SHO.ASF”, False, False, False,
True, ,ReportViewer1)
DS.Close dUpdate
Set DS = Nothing
Set SA = Nothing
Aborting an Analysis
This will abort an asynchronous analysis sequence. Note that the abort may be delayed as
it will only occur between steps.
Calling Convention
Abort()
Parameters
None
433
Component Programming Library Reference
Optional
None
Events
The following outgoing event is supported:
Calling Convention
AnalyzeDone(hRes As Long, nStep As Integer)
The AnalyzeDone event is fired from the Analyze object when an analysis is completed.
Using this, a client can be notified when an analysis is completed, the return code of the
last analysis step, and the last step of the sequence executed. This is particularly useful if
the sequence was analyzed asynchronously.
Parameters
hRes As Long An error code interpretable by the status handler.
Analysis Editor
The analysis editor control is embeddable within a VB form to allow editing features pre-
viously only available from the “Analysis Sequence Editor”. This control allows the cli-
ent to set a particular datasource into the Editor for editing. When the user is done
editing, the control allows the client to save the current sequence into a Datasource.
To embed in a VB form, add the “Canberra Sequence Analyzer Library” via the compo-
nents option. The ASE icon will appear on the controls toolbar. Drag this onto a form.
Note that the control is not resizable and does not contain buttons for opening/clos-
ing/and saving a datasource. These are the responsibility of the client.
Methods
The Analysis Editor supports the following methods:
Operation Description
SetSequence Open a sequence for editing
GetSequenceChanges Retrieve any changes made during edits
IsChanged Has user made any changes
New Sequence Create a new sequence for editing
434
Sequence Analyzer
Calling Convention
SetSequence([in] Input As Object, [in, opt] Alpha As Bool, [in, opt] ReadOnly As Bool)
Parameters
Input As Object Datasource containing the sequence to edit. Must be an
open DataAccess or DeviceAccess object.
Optional
None
Calling Convention
GetSequenceChanges([in] Output As Object)
Parameters
Output As Object Datasource to save changes to. Must be an open and
writable DataAccess or DeviceAccess object. NOTE: this
does not do a flush of the datasource.
Calling Convention
IsChanged()
Calling Convention
NewSequence([in, opt] Alpha As Bool=FALSE, [in, opt] NAI As Bool=FALSE)
435
Component Programming Library Reference
Parameters
Alpha As Bool Will contain Alpha sequence steps.
NAI As Bool In combination with the Alpha param, determines the de-
fault detector type and calibration parameters used in the
datasource
Reporting
The Reporting function supports display and printing of text and RTF files. This is di-
vided into components: ReportViewer for displaying reports and Reporter for printing re-
port files. Both are contained within the same COM server DLL.
To add support for more report formatting commands, the ReportViewerExtensions inter-
face has been added to ReportViewer. This new component interface has methods for
identifying enhanced reports, loading an existing report, and exporting a report to a PDF
file. Note that the base Report Viewer’s Copy and CopyAll commands will not work on
generated or loaded enhanced reports.
Figure 28 Reporting
Library Icon
Double click on this icon and it will appear in your VB form. The control allows the cli-
ent to select in RTF and Text report files. The control also allows concatenation of these
types so that multiple files can be added to the view. The control supports clearing the
view, copying selected text, and printing of the reports as well.
436
Reporting
Reporter Viewer
This component is used for displaying reports.
Methods
The following methods are supported:
Name Description
Clear Clears contents of the report
PrintOut Prints contents of the report (WYSIWYG)
Copy Copies selected text to the clipboard in text and
RTF formats (not for enhanced reports)
CopyAll Copies all text to the cipboard (not for enhanced
reports)
LoadText Concatenates a text file (from a given offset) to
the report
LoadRTF Concatenates an RTF file
SaveText Saves the contents of the report as a Text File
SaveRTF Saves the contents of the report as an RTF file
ExecuteReport Executes a Genie2000 Style report
Calling Convention
Clear()
Parameters
None
Return
None
Optional
None
437
Component Programming Library Reference
Calling Convention
PrintOut([in]Printer As String)
Parameters
Printer Specifies the name of the printer to output to. Default is the
default printer set up in the OS
Return
None
Optional
None
Calling Convention
Copy()
Parameters
None
Return
None
Optional
None
Calling Convention
CopyAll()
Parameters
None
Return
None
438
Reporting
Optional
None
Calling Convention
LoadText([in] Filename As String, [in, out, opt] Offset As Long=0, [in, opt] Length= 0)
Parameters
Filename As String Full pathname of text file to load
Return
Length As Long Number of characters read from the file
Optional
Offset As Long Default = 0
Calling Convention
LoadRTF([in] Filename As String)
Parameters
Filename As String Full pathname of text file to load
Return
None
Optional
None
439
Component Programming Library Reference
Calling Convention
SaveText([in] Filename As String, [in] Overwrite As Boolean)
Parameters
Filename As String Full pathname of text file to load
Overwrite As Boolean If true, should overwrite if exists. If false, return error if the
file exists.
Return
None
Optional
None
Calling Convention
SaveRTF([in] Filename As String, [in] Overwrite As Boolean)
Parameters
Filename As String Full pathname of text file to load
Overwrite As Boolean If true, should overwrite if exists. If false, return error if the
file exists.
Return
None
Optional
None
Calling Convention
ExecuteReport ([in] Datasource As Object, [in] Template As String,
[in] Section As String, [in] Ops As ReportOps=(rptPage1|rptScreen),
[in] Sigma As Single, [in] ActivityUnits As String,
[in] ActivityMultiplier As Single)
440
Reporting
Parameters
Datasource As Object Must be an open DataAccess or DeviceAccess object. This
is the Datasource to report on.
Template As String Name of the report template file. Does not require a full
path if the template is in the directory pointed to by the en-
vironment variable RTPLFILES.
Section As String Specifies the section name in the report. Section may be
“<All>” which will execute all sections.
Returns
None
Optional
Ops As ReportOptions rptScreen | rptPage1
ActivityMultiplier 0.0
Properties
The following are supported besides the standard properties(size, position..) and are
available read/write at design and run time:
441
Component Programming Library Reference
Font font of text reports (Courier New, 12pt is default) Note that changing this property
will not change the font of the currently displayed text but instead only affect subsequent
reports.
Calling Convention
BackColor
Type
OLE_COLOR
Default
White
Example
Dim Y as OLE_COLOR
Y = Reportviewer1.Color
Calling Convention
Font
Type
IFontDisp (StdFont)
Default
Courier New, 9pt
Example
Dim X As StdFont
Set X = ReportViewer1.Font
X.Bold = True
Set ReportViewer1.Font = X
ReportViewer1.LoadText “C:\Autoexec.bat”
BorderStyle
Sets or gets the report viewer’s Borderstyle.
442
Reporting
Calling Convention
BorderStyle
Type
BorderStyle (rptFlat or rpt3d)
Default
rpt3d
Example
ReportViewer1.BorderStyle = rptFlat
Examples
Private Sub Clear_Click()
ReportViewer1.Clear
End Sub
Private Sub Open_Click()
ReportViewer1.LoadText(“C:\Autoexec.bat”)
End Sub
Private Sub Execute_Click()
Dim DS As DataAccess
Set DS = New DataAccess
DS.Open “E:\Genie2k\Camfiles\NBSSTD.CNF”, dReadWrite
ReportViewer1.ExecuteReport DS, “Analysis.tpl”, “<All>”,
rptPage1|rptPrinter
DS.Close dUpdate
Set DS = Nothing
End Sub
Methods
The following methods are supported:
• IsEnhanced returns true if the report file has the $ETEMPLATE command on
the first line of the report file.
• ExportReport generates a PDF file of the loaded report file.
• LoadTextEx loads a report file into memory from a report file from a given
offset, and based in the provided screen and print flags performs the necessary
functions.
443
Component Programming Library Reference
IsEnhanced
Returns true if the report file has the $ETEMPLATE command on the first line of the re-
port file, else returns false.
Calling Convention
IsEnhanced([in]Report Name As String)
Parameters
Report Name specifies the name of the file to open and look for the enhanced report file
identifier($ETEMPLATE).
Return
True if the enhanced report identifier ($ETEMPLATE) is on the first line of the report.
False if the enhanced report identifier is not on the first line of the report file.
Optional
None
ExportReport
Exports the load report file to a PDF format file.
Calling Convention
ExportReport([in]ExFileName as String)
Parameters
ExFileName specifies the name of the PDF file the data is being exported to.
Return
None
Optional
None
LoadTextEx
Loads a report file into memory from the report file at a given offset
Calling Convention
LoadTextEx([in]Filename As String, [in]Offset As Long, [in]Length As Long,
[in]ScreenFlag As Boolean, [in]PrintFlag As Boolean);
Parameters
Filename As String Name of the report file to be loaded.
444
Reporting
Offset As Long File offset into report file where loading is to start.
Length As Long Length of report file to load; if 0, load to the end of the file.
Return
None
Optional
None
Example
' RptViewer is the ReportViewer control placed on the VB form
Dim RptViewerEx As CanberraReporterLibCtl.IReportViewerExtensions
Set RptViewerEx = RptViewer.Object
RptViewer.LoadTextEx “C:\\GENIE2k\\REPFILES\\NBSSTD.RPT”, 0, True, False
RptViewerEx.ExportReport “C:\\GENIE2k\\REPFILES\\NBSSTD.PDF"
Properties
The following are properties are supported through the extended interface. PreviewScale
and PaperView are available read/write at run time. The remaining properties are
write-only at runtime.
Name Description
PreviewScale([in\out] PreviewScale As Long)
445
Component Programming Library Reference
Calling Convention
PreviewScale
Type
Long
Default
100
Example
‘ RptViewer is the ReportViewer control placed on the VB form
Dim RptViewerEx As CanberraReporterLibCtl.IReportViewerExtensions
Dim lRtn As Long
Set RptViewerEx = RptViewer.Object
lRtn = RptViewerEx.PreviewScale
Calling Convention
PaperView
Type
Boolean
Default
True
Calling Convention
PDFAuthor
Type
String
Default
None
446
Reporting
Calling Convention
PDFTitle
Type
String
Default
The datasource name
Calling Convention
PDFSubject
Type
String
Default
None
Calling Convention
PDFKeyword
Type
String
Default
None
Calling Convention
PDFCreator
447
Component Programming Library Reference
Type
String
Default
Genie 2000
Reporter
The Reporter is used to print out a single text or RTF file. This can be invoked in
VisualBasic by adding a reference to the “Canberra Reporting Library”. Variable may be
declared of type: Reporter.
Methods
The following method is supported.
Print a File
Prints a given file.
Calling Convention
PrintFile([in] FileName As String, [in] bRTF As Boolean)
Parameters
Filename As String File to print
Return
None
Optional
None
Properties
The following read/write poperties are supported at runtime:
Name Description
Printer Name of printer – defaults to default printer
Font Font to use when printing text; write only
448
Error Handling
Calling Convention
Printer
Type
String
Default
“” (The default printer)
Example
Dim X as New Reporter
X.Printer = “CID1”
X.PrintFile “C:\Autoexec.bat”, False
Calling Convention
Font
Type
IFontDisp (StdFont)
Default
Courier New, 9pt
Example
Dim X As StdFont
Dim RPT As New Reporter
X.Bold = True
RPT.Font = X
RPT.PrintFile “C:\Autoexec.bat”, False
Error Handling
When the components encounter an error, an error will be raised in Visual Basic.
Catching and handling these errors is critical to your application running properly. Please
see all Error Handling topics in your Visual Basic help for more information.
449
Component Programming Library Reference
Any error code returned by the components may have a severity of an error or a warning.
To test this the following methods are provided in all components.
To retrive a string associated with an error code the following method is provided. Al-
though in most cases this is not necessary since Err.Description contains this text already,
this may be useful for situations where the Error context has gone away but you have
stored the error number for later processing.
Calling Convention
String Message(Long ErrorCode)
Parameters
Long ErrorCode
Optional
None
Example
Public Sub SetUpAdjust(DeviceAccess myDET)
On error goto ErrorHandler
AdjustControl1.SetDevice myDET
Exit Sub
ErrorHandler:
If(IsError(Err.Number)) Then
MsgBox AdjustControl1.Message(Err.Number)
Else If(IsWarning(Err.Number) Then
MsgBox Err.Description
Resume Next
EndIf
End Sub
450
The InSpector 2000 Simulator
This chapter demonstrates how to create the definition with both the MID Wizard and the
MID Editor, using the DSA-2000 MCA as an example. Instructions for setting up your
MCA will be found in its user’s manual.
For most systems, you’ll use the MID Wizard to help you set up your Input Definition
quickly and easily. But if your Input Definition is more complex than the MID Wizard
was designed to handle, you’ll have to create your definition in the MID Editor, which is
covered in detail starting on page 455.
For System 100 and AccuSpec MCAs, refer to the Historical Canberra MCAs.pdf file on
your Genie 2000 CD-ROM. For AIM MCAs, refer to the Model 556A User’s Manual.
For more information on the Simulator, please refer to Appendix E, The InSpector 2000
Simulator.
Restrictions
The Wizard does not support:
• Definition of multiplexer (MXR) inputs. This includes devices such as the
Alpha Analyst.
• Configuration of remote VDMs.
451
MCA Input Definition
For these situations, you must use the MID Editor (page 455).
Note: The screens shown here are examples; the screens you see may vary, depend-
ing on the MCA type you specify.
Step 1
The first screen (Figure 29) lets you select the MCA you’re creating the definition for.
Click on the ‘+’ next to the “Network MCAs” board type, choose DSA-2000, then click
the Next button.
Step 2
The Step 2 screen (Figure 30) will ask you to define the MCA’s Full Memory size, Sta-
tion address, and the acquisition mode, PHA or MCS.
452
The MID Wizard
Step 3
The Step 3 screen (Figure 31) asks for an Input Name, the Detector Type, Memory
Groups and the Number of Channels.
You can change the default Input Name if you like, but if the field is empty, you won’t
be able to go to the next screen
With the Memory Groups box selected, the full memory can be divided into two or more
memory groups. The number of groups depends on the Number of Channels setting.
453
MCA Input Definition
Steps 4 and 5
Steps 4 and 5 are not used in setting up the DSA-2000.
Step 6
The Step 6 screen in Figure 32 asks you to define the high voltage power supply’s
Range, Voltage Limit and working Voltage.
Step 7
The Step 7 screen in Figure 33 displays a summary of the current MCA’s configuration
for review and lets you enter the name of the MID file that the configuration is to be
saved to.
454
The MCA Input Definition Editor
When you select Finish, you will be asked if you would like to define another input. An-
swering No will close the Wizard.
The Step 7 Input Name defaults to UNTITLED, which you’ll probably want to change to
something more meaningful. If the name you enter is the same as that of an existing MID
file, the system will ask if you want to overwrite the existing file.
• Change the default settings for any of your MCA’s programmable components
• Replace a manual HVPS with a programmable HVPS and select its default
settings.
Basic Concepts
We’ll begin with some basic concepts that are important to understand before actually
getting into the details of how you define your system’s MCAs.
Because an MCA definition file can include any or all of the MCAs that are available to
your system, you can use more than one MCA at a time. However, each MCA can be in-
cluded only once in a given definition file and each MCA in that file must have a unique
name.
455
MCA Input Definition
configuration information that was stored in the Definition File. To change to a new con-
figuration, all you have to do is replace the database’s contents with a new file.
Note that the phrase “local:Untitled” in the title bar, means that the MID Editor is con-
nected to the local VDM and that no file is currently open; this is the default condition in
a non-networked environment.
• Devices Menu to select the MCA and its front-end components: amplifier,
ADC, HVPS, and so forth.
• Settings Menu to define the operating characteristics and modes for each MCA
and its front-end components.
In this section we’ll explain how to add (and delete) the MID editor’s MCA entries and
will explain what the definition entry consists of. The next section. Defining an MCA on
page , explains how to create an Input Definition for a DSA-2000 MCA.
The remainder of this chapter discusses how the definition is saved to a disk file, how a
definition can be edited, and how to use a definition by loading the file into the MCA
Runtime Configuration Database.
456
Building an MCA Definition
Adding an MCA
The Edit menu, shown in Figure 35, is used to add an MCA to or delete an MCA from an
MCA Input Definition.
To add an MCA, select the Add MCA command in the Edit menu. You’ll see the “Add
MCAs to Definition Table” Dialog Box (Figure 36).
457
MCA Input Definition
This typical Add MCA tree view shows the MCAs grouped by MCA type. Clicking on
the ‘+’ next to a MCA type lets you choose a specific MCA.
You can add as many MCAs to the definition as are necessary for your system by high-
lighting one or more MCAs and clicking the Add button to add them to the MCA Defini-
tion Table. When you’ve finished adding MCAs, click on the Done button.
Please remember that this display, as well as many others in this chapter, are examples of
what you might see; your display will probably differ.
MCA
This is the type of MCA device being used for this particular entry in the table.
Input
This is the name that will be used to refer to this specific hardware entry in the table. The
MID Editor automatically assigns these names sequentially as DETnn, starting with
nn=01. As we’ll see in “Input Setting” on page 467, you can easily change these names
to something you find more meaningful.
Size
This shows the number of data channels assigned to this input.
458
Defining an MCA
Gain
This column describes the DSP Gain device associated with the DSA-2000.
Other Entries
All of the other entries, ADC, MXR, Stab, Amp and HV, tell you whether that kind of
component is assigned to the MCA and if it’s Manual or Programmable.
Deleting an MCA
If you want to remove an MCA that you have added to the definition, you can do it easily
by:
2. Clicking on the Delete MCA command in the Edit menu to see the Dialog Box
in Figure 38. Click on OK to remove the entry.
Defining an MCA
This section discusses setting up a DSA-2000 MCA, which has a fully programmable
front end. That is, its DSP Gain, DSP Filter, Digital Stabilizer, MCS and High Voltage
Power Supply are all controlled from the host computer rather than manually with front
panel knobs and switches. To begin, click on the MCA entry in the Definition Table that
you want to set up.
459
MCA Input Definition
Devices
The Devices menu, shown in Figure 39, sets the parameters for the MCA and associated
devices. Some Devices are disabled (grayed out) because they aren’t used with your
MCA.
MCA
Selecting the MCA command in the Devices menu pops up the Dialog Box shown in
Figure 40, which lets you set the Ethernet address for the DSA-2000 and select the type
of input.
460
Defining an MCA
Sample Changer
The Sample Changer screen in Figure 41 lets you disable the sample changer interface,
(None) or enable the Internal Changer interface.
461
MCA Input Definition
The Settings
The following section describes those parameters for the DSA-2000 that can be accessed
from the MID Editor via the Settings menu (Figure 42).
MCA Settings
For the DSA-2000, “This device has no adjustable controls”, so there’s nothing to do
here.
Stabilizer Settings
The Stabilizer maintains the stability of high resolution spectroscopy in applications in-
volving long count times or high count rates.
Selecting the Stabilizer command displays the Dialog Box shown in Figure 43.
Note This window’s initial focus is on the Cancel button; pressing the keyboard’s
ENTER key after making changes in this dialog box will cancel the changes. Be
sure to click on the OK button to accept the changes.
462
Defining an MCA
Select the:
• Gain Centroid (in channels) of the reference peak at the high end of the
spectrum for gain stabilization,
• Gain Window width (in channels) of the upper and lower sampling windows
on either side of the gain reference peak,
• Gain Spacing (in channels) between the upper and lower sampling windows,
• Gain Ratio value (the ratio to maintain between the two gain windows),
• Zero Centroid (in channels) of the reference peak at the low end of the
spectrum,
• Zero Window (in channels) of the upper and lower sampling windows on
either side of the zero reference peak.
• Zero Spacing (in channels) between the upper and lower sampling windows,
• Zero Ratio, the ratio to maintain between the two zero windows,
• Gain Rate Divisor, the count rate dividers at the input to the Gain correction
register,
• Zero Rate Divisor, the count rate dividers at the input to the Zero intercept
correction register,
• Correction Range, the Gain Correction range to correct for drift.
463
MCA Input Definition
Note: This window’s initial focus is on the Cancel button; pressing the keyboard’s
ENTER key after making changes in this dialog box will cancel the changes. Be
sure to click on the OK button to accept the changes.
Select the:
• Range must be set before the Voltage Limit or Voltage Control is adjusted. It
sets the HV Power Supply’s absolute voltage limit.
• Voltage limit establishes the HVPS’s maximum output voltage within the
selected range.
• Voltage sets the output of the HVPS between the Voltage Limit’s minimum
and maximum settings.
• Inh. Signal sets the pull-up voltage of the HV INH connector.
464
Defining an MCA
Select the:
• Coinc Mode sets the devices gating mode (COINCidence or
ANTIcoincidence).
• Offset sets the devices digital offset in channels.
• LLD sets the devices Lower Level Discriminator (LLD) as a percentage of the
ADC’s full scale.
• Zero sets the device’s zero intercept as a percentage of the device’s full scale.
• Conv. Gain sets the device’s conversion gain.
• FDisc Mode sets the device’s Fast Discriminator threshold mode. AUTO
allows the threshold to be optimized automatically above the system noise
level; MANUAL allows the threshold to be manually adjusted.
• FDisc Setting sets the device’s Fast Discriminator threshold level.
• Inp. Polarity sets the device’s Input signal polarity.
• Inh. Polarity sets the device’s Inhibit signal polarity to either Positive or
Negative.
465
MCA Input Definition
Select the:
• Rise Time sets the rise time and fall time of the digital filter time response.
• BLR Mode sets the baseline restorer mode.
• Preamp Type selects the Preamplifier type as either TRP or RC.
• Flat Top sets the flat top portion of the digital filter time response.
MCS Settings
If you chose either MCS or Both in the Devices | MCA menu (page ), you’ll select the
MCS Disc Mode in Figure 47.
Note: This window’s initial focus is on the Cancel button; pressing the keyboard’s
ENTER key after making changes in this dialog box will cancel the changes. Be
sure to click on OK to accept the changes.
466
Saving the Input Definition
Input Settings
The Input command is used to change the name of the Input and set up the structure of
its memory via the Dialog Box shown in Figure 48. These commands are not available in
the Acquisition and Analysis application.
Note: This window’s initial focus is on the Cancel button; pressing the keyboard’s
ENTER key after making changes in this dialog box will cancel the changes. Be
sure to click on the OK button to accept the changes.
Select the:
• Input Name allows changing the default detector name is the name.
• Detector Type selects the type of detector to be used with this MCA.
• Input Size changes the number of channels assigned in the Devices | MCA
menu.
• Out of Service lets you make this Input temporarily unavailable.
• Memory Groups allows you to define a multi-memory group input.
To remind you to save a changed definition, you’ll see an asterisk (*) next to the name of
the current definition in the Title Bar.
467
MCA Input Definition
CAUTION If you change an existing Input Definition, saving it will clear the Acquisi -
tion Start time. You will be asked to retain the existing energy calibration
information.
The Summary menu has two commands: By MCA and By Input, which change the or-
der in which the information in the Input Definition Table is displayed. By MCA means
that the first column of the table will display the MCA type that is being used for each
entry. If you choose By Input, the MCA and Input columns will be reversed in the dis-
play and the Inputs will be sorted alphabetically.
You can choose either method, but in the case of systems with a large number of inputs,
“By Input” is an easier display to understand than “By MCA”.
468
Editing an MCA Definition
469
MCA Input Definition
The key piece of information here is the File Descriptor, which you added when the file
was first saved. This should help you decide if the file you selected is the one you want to
edit.
Because New is a destructive operation, selecting it will cause the program to ask for a
confirmation in one of two ways:
1. If the Definition currently being displayed has not been changed since it was last
saved (no asterisk in the Title Bar), you will be asked if you want to erase the
current Definition. Click on OK to erase it, or Cancel to return to the Input
Definition Editor.
2. If the Definition currently being displayed has been changed but not saved, you
will be given a chance to save it.
This database is shared by all of the programs which make up the DSA-2000 software
package, and is used by those programs to gain access to the actual MCA hardware in
your system. In this section we’ll take a look at the procedures used for setting up that
database.
470
Using MCA Definition Tables
The Load/Unload functions will be disabled while any Acquisition and Analysis applica-
tions are running and have open datasources. This prevents one user from altering the
runtime database while another user is accessing it.
If you try to load an Input Definition which contains a duplicate Input name, you’ll see
an error message telling you that the requested Definition can’t be loaded.
471
MCA Input Definition
472
Using MCA Definition Tables
Click on the one you want to unload, then click on the Unload from button. Note that
this menu item is disabled if the MCA Runtime Configuration Database is currently be-
ing used by another application.
473
CAM Files
5. CAM Files
Among the types of data that have to be stored when a sample is counted are: the spec-
trum itself, elapsed timing information, the description of the sample, calibration infor-
mation, and so forth. In addition, if you analyze the data, the results of the analyses must
be stored.
All of these data types are stored in a single place: a CAM file. Access to the data is con-
trolled by subroutines called the Configuration Access Method.
No longer do you have to keep track of multiple files (calibration, data, library, results,
header, and so forth) to recreate an analysis. In the Genie family of products, all of this
data is stored in a single file, so that you can be confident that full sample records are
available.
Additionally, CAM Files allow you to access data by parameter name. If you need to ex-
tract particular information, for special programs for example, you can do so without spe-
cific knowledge of physical data structures: You simply access the data by name.
A CAM file contains two kinds of data: parameters and spectral data. A parameter is a
single number or text string, such as preset real time or the sample identification string,
with each parameter being given a symbolic code by which it can be accessed. Spectral
data is an array of 32-bit integers.
The classes of information are acquisition setup parameters, geometry parameters, sam-
ple parameters, and so forth. A configuration is a collection of data of various classes,
which is stored in “parameter blocks”. In general, there will be only one block of a par-
ticular class per configuration.
New applications may require new classes of information and may require different kinds
and formats of information for existing classes. Therefore, each class is grouped into
“types”, which serve to identify the contents and format of data in a block.
474
Creating a Configuration
In general, programs will know only about information classes, not the types within a
class.1
The basic unit of configuration data is the “parameter”. (Spectral data is considered sepa-
rately). Each parameter is referenced by a symbolic name or numeric code, and has a par-
ticular data type (such as longword integer, floating point, text string). Examples of
parameters are the elapsed live time, the energy calibration quadratic factor, and the sam-
ple identification string.
For some information classes, such as peak search results, the characteristics of the data
demands that parameters be repeated over and over. Therefore, parameters can be
grouped into “records”, and the records can be repeated as many times as need be (for
peak search results, once for each peak found). This process can be carried one step fur-
ther, where parameters can be grouped within records into “tabular entries”. An example
of this is in the nuclide library, where each record represents one nuclide; for each nu-
clide, there are tabular entries describing the energy lines associated with that nuclide.
Thus, to completely specify a “record tabular” parameter, one would have to indicate the
parameter name or code, the record number, and the tabular entry number. (Parameters
which are not contained in records or tabular entries are called “common” parameters).
Spectral data access is handled through a separate mechanism, since it is generally ac-
cessed in bulk amounts. A particular channel is specified by its channel number (starting
from 1) and its row number (for dual parameter spectra; this terminology replaces the old
term “groups” in this context). Spectral data is always treated as 32-bit signed integers.
Creating a Configuration
A configuration can be created in one of three ways using Genie 2000/Genie-PC soft-
ware:
1. Via the MID Editor Save function (this is how hardware datasources are
created).
1. Though some classes of data in this chapter are not supported by Genie 2000/Genie-PC software, they are included here
for completeness and for consistency with Genie-VMS documents.
475
CAM Files
Initial Parameters
Whenever a configuration is created, a set of CAM operating parameters is automatically
initialized with the following default values, many of which are common to all detectors
types and some of which are dependent on the specific detector type.
CAM_L_BYTES 4
CAM_L_ROWS 1
CAM_L_GROUPS 1
CAM_L_ECFENCAL 1
CAM_L_ECFFWCAL 1
CAM_L_ECFT1CAL 1
CAM_L_ECALTERMS 0
CAM_L_ITERATIONS 10
CAM_L_PEAKSTART 1
CAM_L_PASTART 1
CAM_L_MSCHANS 19
CAM_L_NBACKTERMS 2
CAM_L_PRGAINSHFT 1
CAM_L_MAXGAINPASS 10
CAM_L_NSIGMA 1
CAM_L_SHOWROIS 1
CAM_L_DOUNKSRCH 1
CAM_L_CURSORCH 1
CAM_L_RPTFSCREEN 1
CAM_L_RPTFNEWFILE 1
CAM_L_PEAKEND 65535
CAM_L_PAEND 65535
CAM_F_FWHMCONST 50.0
CAM_F_SQUANT 1.0
CAM_F_SENSITVTY 3.0
CAM_F_CHISENSITVTY 4.0
476
Initial Parameters
CAM_F_RSENSITVTY 4.0
CAM_F_SECSENS 1.75
CAM_F_SUMSENSITVTY 1.0
CAM_F_SQUANTMULT 1.0
CAM_F_OVERWIND1 0.3
CAM_F_OVERWIND2 0.3
CAM_F_REJMDASIG 2.5
CAM_F_REJMDACONST 3.0
CAM_F_UNIDCONST 6.0
CAM_F_HALFLIFERAT 8.0
CAM_F_ABUNDANLIM 75.0
CAM_F_WTMLIMIT 3.0
CAM_F_MDACONFID 5.0
CAM_F_ACTIVMULT 1.0
CAM_F_CONFID 0.3
CAM_F_SIGMA 1.0
CAM_F_MDAADDCONST 2.71
CAM_F_MDAMULTCONST 3.29
CAM_T_ECALTYPE POLY
CAM_T_SUNITS Unit
CAM_T_ROIPSTYP Net
CAM_T_GAINSHIFT AUTO
CAM_T_WEIGHTING Derived
CAM_T_ACTIVUNITS µCi
CAM_F_PRFWHMPKLEFT 2.0
CAM_F_PRFWHMPKRGHT 2.0
CAM_F_PRFWHMPKMULT 5.0
CAM_F_UNIDREJ 3.0
CAM_F_DCSAMPDIST 0.5
477
CAM Files
CAM_L_BACKGNDCHNS 0 4 4
CAM_L_PRNBKCHN 0 4 4
CAM_L_USEAVRG 1 0 0
2
CAM_F_ECSLOPE 10000.0 2048.0 2048.0
478
Configuration Parameter Descriptions
CAM_L_PRUSEVBKCHN 0 1 1
3. Geometry parameters. This class describes the relationship between the sample
and the detector system (for instance, efficiency).
4. Processing parameters. This class describes how the data is to be processed, and
some of the results of that processing.
6. Peak Search results. This class describes the results of the peak search analysis.
7. NID results. Actually two classes of information (one for nuclides and one for
energy lines), these classes both describe the nuclides searched for by NID, and
contain the results of the analysis.
10. Calibration Results parameters. These two classes of information are used to
store intermediate data (energy/channel pairs, etc.) used to calculate the
calibration equations.
11. Analysis Control parameters. This class describes the contents of Analysis
Sequence Files.
479
CAM Files
12. QA File parameters. These two classes of information are used to described both
the definitions (QA Parameter Definitions) and actual QA data (QA Results)
stored in a Genie QA file.
13. Miscellaneous parameters. There are numerous other classes of information that
are used to store application specific (e.g. Whole Body Counting, Safeguards
systems) sets of parameters and data.
Each parameter’s symbolic code is listed with a brief description. The symbolic codes all
have a standard format:
CAM_type_name
where “name” is the name of the parameter, and “type” specifies the returned type of the
parameter, as given below:
B – byte
W – word (INTEGER*2)
L – longword (INTEGER*4)
Q – quadword
For example, the elapsed live time parameter has the symbolic code CAM_X_ELIVE.
The “X” specifies that the parameter is a date-time stamp. “ELIVE” is the name of the
parameter. The energy calibration offset parameter is identified by CAM_F_ECOFFSET.
The “F” specifies that the parameter is a F format floating point number (REAL*4);
“ECOFFSET” is the name of the parameter.
480
Acquisition Parameters
Flag Parameters
A number of parameters are “flag words”: each bit in the parameter has a particular mean-
ing. For example, the first bit in the preset mode flags parameter (CAM_L_PMODE)
means that acquisition should terminate after running for a certain amount of live time.
Each of these bits in the flag words have a symbolic code, with the format:
CAM_M_flagname_bitname
Where “flagname” identifies the flag word and “bitname” identifies the bit in that word.
Individual Parameters
Many of these flags can also be accessed as individual parameters; this is especially use-
ful in editors. In the CAM Parameters listings, each individual parameter is shown in
brackets below its flag parameter. For example:
Acquisition Parameters
The acquisition parameter block is composed of common parameters relating to the entire
configuration, and a number of records, each record describing an input ADC to the con-
figuration. The symbolic name for this class is CAM_CLS_ACQP.
Common Parameters
CAM_T_CTITLE Configuration title (32 characters) (see note 1 on
page 504)
CAM_L_BYTES Bytes/channel
CAM_L_CHANNELS Channels/row
481
CAM Files
482
Acquisition Parameters
483
CAM Files
484
Acquisition Parameters
485
CAM Files
486
Acquisition Parameters
CAM_F_WACQSTEPLEN Steps/mm
487
CAM Files
488
Acquisition Parameters
489
CAM Files
Record Parameters
490
Acquisition Parameters
CAM_M_HVPSF_INH Inhibit
[CAM_L_HVPSFINH]
CAM_M_HVPSF_OV Overload
[CAM_L_HVPSFOV]
491
CAM Files
Amplifier Parameters
CAM_T_AMPADDRESS ICB address for amplifier (10 characters)
492
Acquisition Parameters
493
CAM Files
Gain Device
CAM_T_GAINADDRESS ICB address for the gain device (10 chars)
494
Acquisition Parameters
Filter Device
CAM_T_FLTADDRESS ICB address for the filter device (10 chars)
495
CAM Files
CAM_M_DSSF_OVERRNG Overrange
[CAM_L_DSSFOVERRNG]
496
Acquisition Parameters
Multiplexer Parameters
CAM_T_MUXTYPE Multiplexer type (8 characters)
ADC Parameters
CAM_T_ADCADDRESS ICB address for ADC (10 characters)
497
CAM Files
CAM_F_ZERO Zero
498
Acquisition Parameters
499
CAM Files
500
Acquisition Parameters
501
CAM Files
502
Acquisition Parameters
MGAU Calibration
CAM_F_ENRICHCAL93 MGAU 93 keV calibration factor
Miscellaneous Parameters
CAM_L_UPPERGATE Upper gate (ND76DP only)
503
CAM Files
Notes
1. The CTITLE and ACQOPNAME parameters actually use the same physical
space in the configuration. Therefore a given application should use one or the
other, but not both, of these parameters.
2. When accessing acquisition time data in a file, the tabular entry number should
be set to the number of the group whose time information is desired (currently,
either 1 or 2).
Sample Parameters
All sample parameters are common parameters. The symbolic name for this class is
CAM_CLS_SAMP.
Common Parameters
CAM_T_STITLE Sample title (64 characters)
504
Sample Parameters
Plant/Site Parameters
CAM_L_SSTATION Station code for multi-site utilities
505
CAM Files
506
Sample Parameters
CAM_F_SWCONTFULL % full
507
CAM Files
508
Sample Parameters
509
CAM Files
Geometry Parameters
The geometry parameters block contains a number of records, each containing an effi-
ciency calibration. The symbolic name for this class is CAM_CLS_GEOM. The first re-
cord contains the calibration to be used in calculation of efficiency by efficiency
correction, NID and MDA analysis algorithms. The remaining records, if any, represent
efficiency at specific chest-wall thicknesses or item densities.
Record Parameters
CAM_X_DCALTIME Detector efficiency calibration time
510
Geometry Parameters
511
CAM Files
512
Geometry Parameters
513
CAM Files
Processing Parameters
This processing parameters block is designed for standard single parameter NID applica-
tions and contains analysis parameters for many applications. The symbolic name for this
class is CAM_CLS_PROC.
514
Processing Parameters
515
CAM Files
516
Processing Parameters
517
CAM Files
518
Processing Parameters
519
CAM Files
520
Processing Parameters
521
CAM Files
522
Processing Parameters
523
CAM Files
524
Processing Parameters
525
CAM Files
526
Processing Parameters
Coincidence Analysis
CAM_T_PRPUMUNITS Neutron analysis mass units string (16 charac-
ters)
527
CAM Files
Multiplicity Analysis
CAM_F_PRNMFLOWLIM Upper multiplicity parameter limit
528
Processing Parameters
529
CAM Files
Miscellaneous Parameters
CAM_L_PARENTWDGT Widget/handle to parent window (used in GUI
Interactive Peak Fit)
530
Processing Parameters
531
CAM Files
General
CAM_F_PRLLWLIM LLW decision limit
532
Processing Parameters
Gamma TMU
CAM_F_PR414129LIM Maximum allowed ratio of the 239Pu – 414 keV
activity to 129 keV activity
533
CAM Files
534
Processing Parameters
535
CAM Files
Analysis Parameters
CAM_F_PRTGSAREDAMP ART emission damping factor
536
Processing Parameters
537
CAM Files
Display Parameters
The display parameters block is composed of common display parameters and variable
length region records, one region per record. Each region record contains tabular entries,
each with a channel and a row parameter. Normally, two entries will be present, which
represents single parameter regions. The symbolic name for this class is
CAM_CLS_DISP.
Common Parameters
CAM_T_DISPMODE Display mode (LOG, LIN, ALOG, ALIN)
538
Display Parameters
539
CAM Files
Record Parameters
CAM_L_RGNTYPE Region type
540
Peak Search Results
Each region of interest is one record; the type of the region is defined by RGNTYPE.
Single parameter regions of interest will have one tabular entry: the start channel of the
region is RGNSTART; the end channel is RGNEND. Multiparameter regions of interest
have more than one tabular entry, each defining a X,Y coordinate with RGNSTART and
RGNEND, respectively.
Note: These calibration parameters are not used by the “new” reference peak engine; its
calibration parameters are kept in acquisition parameters.
Common Parameters
CAM_L_PSFLAGS Peak search processing flags
541
CAM Files
542
Peak Search Results
543
CAM Files
Record Parameters
CAM_L_PSITER Number of iterations
CAM_F_PSCTSS Counts/second
CAM_F_PSEFF Efficiency
544
Peak Search Results
545
CAM Files
546
Peak Search Results
547
CAM Files
Common Parameters
CAM_T_PMTNIDVERS Tentative NID engine version (16 characters)
Certificate Parameters
The certificate parameters block contains three common parameters, and a record for ev-
ery energy line described in a standard source’s calibration certificate. The symbolic
name for this class is CAM_CLS_CERTIF.
Common Parameters
CAM_T_CTFNAME Certificate title
548
Energy/FWHM Calibration Results Parameters
Record Parameters
CAM_T_CTFNUCL Nuclide name
CAM_F_CTFABUN % abundance
Please note that the offset and coefficients of the energy and FWHM calibrations are
stored in the acquisition parameters block (CAM_CLS_ACQP). Also note that the detec-
tor efficiency calibration’s energy/efficiency pairs and empirical fit parameters are stored
in the geometry parameters block (CAM_CLS_GEOM).
549
CAM Files
Common Parameters
CAM_T_CALVERS Calibrate version/ID (16 characters)
Record Parameters
CAM_F_CALENERGY Calibration energy
Please note that the offset and coefficients of the FWHM and tail calibrations are stored
in the acquisition parameters block (CAM_CLS_ACQP). Also note that the detector effi-
ciency calibration’s energy/efficiency pairs and empirical fit parameters are stored in the
geometry parameters block (CAM_CLS_GEOM).
Common Parameters
CAM_T_SCALVERS Calibrate version/ID (16 characters)
550
Nuclide Library and Results
Record Parameters
CAM_F_SCENERGY Shape calibration energy
The fact that the nuclides and lines are associated by nuclide and line numbers (rather
than names and energies) speeds access but requires that when nuclides or lines are de-
leted or inserted by the nuclide editor, the editor scans all the entries in the other class
551
CAM Files
and correct the associated entry numbers. For this reason, it is strongly recommended that
records not be added or deleted by user programs.
552
Nuclide Library and Results
553
CAM Files
554
Nuclide Library and Results
555
CAM Files
556
Nuclide Library and Results
557
CAM Files
558
Nuclide Library and Results
559
CAM Files
560
Nuclide Library and Results
561
CAM Files
562
Nuclide Library and Results
CAM_F_NCLCONC Concentration
563
CAM Files
564
Nuclide Library and Results
ICRP30 Parameters
CAM_T_NCLSOLCLASS Solubility class (D, W or Y)
565
CAM Files
Common Parameters
CAM_T_NLECUNITS Library energy units
Record Parameters
CAM_F_NLENERGY Line energy
5. If the parameter CAM_L__NLPEAK_ has a non-zero value, the energy line has been positively identified.
566
Nuclide Library and Results
567
CAM Files
568
Interfering Nuclide List Parameters
Standards
CAM_F_NLCONST NAA “constant”
Samples or Unknowns
CAM_F_NLCONC Computed Concentration
Record Parameters
CAM_T_INTERFRED Interfered nuclide name (8 characters)
569
CAM Files
Record Parameters
CAM_T_INTREDN Interfered nuclide name (8 characters)
Common Parameters
CAM_T_RDFSUNITS Sample units (16 characters)
Record Parameters
CAM_T_RDFSTYPE Sample type: Standard or Unknown (1 charac-
ter)
570
NaI (Alpha-M) Standard File Parameters
Common Parameters
CAM_T_SFEBACK Background configuration name (32 characters)
Record Parameters
CAM_T_SFENUCLIDE Standard nuclide name (8 characters)
571
CAM Files
Common Parameters
CAM_T_SWBCSERPORT Serial port connected to controller (16 Charac-
ters)
CAM_F_SWBCPULINCH Pulses/inch
Security Parameters
The security parameters block contains a record for each user account against which ac-
cess controls are to be applied. The use of this block is very application specific. The
symbolic name for this class is CAM_CLS_SECURITY.
Record Parameters
CAM_T_SECENTNAME Name or Initials to be entered (16 characters)
572
Analysis Control Parameters
This block may also define a sequence of analyses and reports to be executed. The se-
quence, one analysis or report per record (see below), is executed by the NDANALYZE
and Genie-ESP Analyze applications. The symbolic name for this class is
CAM_CLS_ANALCNTL.
Common Parameters
CAM_T_WBCOUNTER Name of whole body counter (24 characters)
573
CAM Files
574
Analysis Control Parameters
575
CAM Files
576
Analysis Control Parameters
577
CAM Files
578
Analysis Control Parameters
579
CAM Files
580
Analysis Control Parameters
581
CAM Files
Record Parameters
CAM_T_ACENGNAME Name of analysis module (16 characters)
582
QA Parameter Definition Parameters
Record Parameters
CAM_X_PENTRY Parameter definition entry time
583
CAM Files
CAM_L_PMSLOPESMPLS For Trend test: test for last M samples with in-
creasing or decreasing slope
584
QA Results Parameters
QA Results Parameters
The quality assurance results parameters is composed of a set of parameters which de-
scribe a particular quality assurance measurement. Each record in this parameter block
describes one such measurement. Listed in [ ] after each parameter is the spectral config-
uration parameter which is copied to it during the transfer process. The symbolic name
for this class is CAM_CLS_QARREC.
Record Parameters
CAM_X_RMEASR Measurement time for results record
[CAM_X_ASTIME] (Note: Results records will
be sorted by this measurement time field).
585
CAM Files
586
MGA Results Parameters
587
CAM Files
Common Parameters
CAM_L_MGAFLAGS MGA results flags field. These flags are avail-
able as individual parameters
588
MGA Results Parameters
589
CAM Files
590
MGA Results Parameters
Record Parameters
CAM_T_VARNAME MGA variable (isotope) name (16 characters)
591
CAM Files
All analyses take the measurement date from the first measurement record
(whether rejected or not).
2. Neutron analysis results data, which consists of the averaged and filtered
neutron acquisition data, and the calculated Plutonium mass. Various
intermediate analysis results values are also stored.
All mass values are as of the measurement date (see note 1, above).
General Information
CAM_L_NACQFLAGS Neutron analysis flags (these indicate what anal-
yses have been performed)
592
Neutron Acquisition and Results
252
CAM_M_NACQF_CFDET Set if Cf was detected
[CAM_L_NACQFCFDET]
244
CAM_M_NACQF_CMDET Set if Cm was detected
[CAM_L_NACQFCMDET]
593
CAM Files
594
Neutron Acquisition and Results
595
CAM Files
596
Neutron Acquisition and Results
CAM_F_NACQALPHA Alpha
CAM_F_NACQMFACTOR M-factor
240
CAM_F_NACQPU240EFF Pu effective mass (grams)
597
CAM Files
598
Neutron Acquisition and Results
CAM_F_NACQFPUMASS Pu mass
599
CAM Files
600
Neutron Acquisition and Results
240
CAM_F_NACQCRT240 Pu Effective mass from Cosmic Rejection
Analysis – Truncated
CAM_F_NACQCMMASS Cm mass
CAM_F_NACQCFMASS Cf mass
601
CAM Files
Record Parameters
CAM_L_NACQSFLAGS Measurement flags
602
Neutron Declaration Data
Note: Prior to mass calculations, the reals and totals rates must be corrected. There
are three corrections done, in the following order: 1) deadtime correction; 2)
background correction; 3) normalization. However, common analysis codes
perform these corrections in two steps. The descriptions of the corrected rates
above (NACQMEANDTT, NACQMEANBCT, etc.), are accurate for
LANL-derived algorithms.
In all cases, the end result of the three corrections is stored in parameters la-
beled “normalized/background corrected”.
Isotopic abundances (actually entered as weight %) are stored one isotope per record; the
name of the isotope should be entered in a standard format (i.e., Pu-242, PU-242, etc.) so
that it can be properly identified by neutronics analysis.
603
CAM Files
Common Parameters
CAM_T_NDCLTITLE Declaration title (64 characters)
604
Neutron Declaration Data
Record Parameters
CAM_T_NDCLISONAME Isotope name (16 characters)
CAM_F_NDCLWEIGHT Weight %
605
CAM Files
Common Parameters
CAM_T_NDETNAME Detector name (16 characters)
606
Neutron Sample-Dependent Detector Data
CAM_F_NDETENSRO0 Ensslin ρ0
• The weighting factors used in computing the uncertainty in totals and reals
rates.
• The coefficients for the linear equation used in converting multiplication
corrected reals rates to 240Pu effective mass.
• The coefficients for the quadratic equation used in converting non
240
multiplication corrected reals rates to Pu effective mass.
• The raw data triplets (240Pu effective, reals rate, multiplication-corrected reals
rate) used in generating the coefficients; these are stored as record parameters.
607
CAM Files
General Information
CAM_T_NEFFDETNAME Detector name (16 characters)
CAM_F_NEFFRHO0 Sample-specific ρ0
608
Neutron Sample-Dependent Detector Data
609
CAM Files
CAM_L_NEFFFLAGS Flags
240
Multiplication-Corrected Reals Pu Calibration
CAM_F_NEFFMCOFF Offset
CAM_F_NEFFMCSLOPE Slope
240
Non-Multiplication-Corrected Reals Pu Calibration
CAM_F_NEFFNMCOFF Offset
610
Neutron Sample-Dependent Detector Data
CAM_F_NEFFNMCSLOPE Slope
CAM_F_NEFFNMCQUAD Quadratic
240
Pu Calibration (Power Function)
CAM_F_NEFFNMCPMAN Power function mantissa
611
CAM Files
240
Non-Multiplication-Corrected Reals Pu Calibration
(Exponential Function)
CAM_F_NEFFNMCEMAN Exponential function mantissa
240
Non-Multiplication-Corrected Reals Pu Calibration (Rational
Function)
CAM_F_NEFFNMCRNUM Rational function numerator coefficient
240
Non-Multiplication-Corrected Totals Pu Calibration
CAM_F_NEFFTNMCOFF Offset
CAM_F_NEFFTNMCSL Slope
612
Neutron Sample-Dependent Detector Data
240
Multiplication-Corrected Doubles Pu Calibration
CAM_F_NEFFMMCSLOPE Multiplication corrected doubles mass calibra-
tion slope coefficient
613
CAM Files
614
Neutron Sample-Dependent Detector Data
DDA Calibration
CAM_F_NEFFDDATYPE Differential Dieaway analysis type: 0 = 239Pu
equivalent mass; 1 = 235U equivalent mass
615
CAM Files
Record Parameters
240
CAM_F_NEFFR240EM Pu effective mass (grams)
Common Parameters
CAM_T_NSPRTITLE Title for this sample type (64 characters)
616
Neutron Sample Processing Parameters
617
CAM Files
240
CAM_F_NSPPU240FR Pu spontaneous fission rate per mass
618
Neutron Sample Processing Parameters
DDA Parameters
CAM_F_NSPRDDAMIA0 Moderator index parameter zero
619
CAM Files
620
Neutron Sample Processing Parameters
Shuffler Parameters
CAM_F_NSPRSHFMCFA0 Shuffler matrix parameter zero
621
CAM Files
622
Absorption Measurement Calibration/Result
Parameters
Common Parameters
CAM_X_ACCCALTIME Calibration time
CAM_F_ACCCALFAC1 Offset
CAM_F_ACCCALFAC2 Slope
Record Parameters
CAM_F_ACCENERGY Energy (keV) for known µ(E)
Common Parameters
CAM_L_AMRFLAGS Analysis flags
623
CAM Files
624
Absorption Measurement Calibration/Result
Parameters
Record Parameters
CAM_T_AMRNUCLIDE Nuclide name (8 characters)
CAM_F_AMRRHOT ρt
625
CAM Files
CAM_F_AMRRHOTERR Error in ρt
626
Differential Peak Absorption Correction
Calibration / Results
Common Parameters
CAM_L_DIFPFLAGS Flags
CAM_F_DIFPAVERHOT Average ρt
Record Parameters
CAM_T_DIFPNUCLIDE Nuclide name
CAM_F_DIFPENERGY1 Energy 1
CAM_F_DIFPENERGY2 Energy 2
CAM_F_DIFPRHOT ρt
CAM_F_DIFPRHOTERR Error in ρt
627
CAM Files
Safeguards Parameters
The safeguards parameter block is composed of common parameters relating to the entire
safeguards system, and a number of records, each record describing an input (a Data Ac-
quisition System) to the system. The symbolic name for this class is
CAM_CLS_SFGSETUP.
Common Parameters
CAM_T_SFGFAC Facility name (64 characters)
DAS Parameters
CAM_X_DASCMDTMR DAS command timer
HDC Parameters
CAM_T_UIDIR UIP / HDC command directory
628
Safeguards Parameters
AMP Parameters
CAM_X_AMPHIBER AMP loop hibernation time
EMP Parameters
CAM_X_EMPHIBER EMP loop hibernation time
UIP Parameters
CAM_X_BACKSRCINT UIP background search interval
629
CAM Files
Record Parameters
DAS Parameters
CAM_T_DASID DAS identification (16 characters)
630
Safeguards Parameters
EMP Parameters
CAM_F_QCENERGY Quality control energy
631
CAM Files
ASDEM Parameters
CAM_X_MAXCOUNT Maximum “uncompressed” count period (tmax)
632
Safeguards Parameters
633
CAM Files
Common Parameters
CAM_L_SUCINTn Common Integer n, where n is 1 to 8
634
MCS Parameters
Record Parameters
CAM_L_SURINTn Record Integer n, where n is 1 to 8
MCS Parameters
The MCS data block is composed of common parameters used to define the overall oper-
ation of the software MCS function and record parameters which define the ROIs being
635
CAM Files
monitored. The actual MCS data is stored as normal spectral data. The symbolic name for
this class is CAM_CLS_MCSDATA.
Common Parameters
CAM_F_MCSCDWELL Dwell time
Record Parameters
CAM_T_MCSCRGNDESC Region description string (32 characters)
636
K-Edge Calibration Parameters
637
CAM Files
638
Neutron Multiplicity Data
Common Parameters
CAM_L_NMULTFLAGS Multiplicity flags
639
CAM Files
Record Parameters
CAM_F_NMULTACCS Accidentals count based on the multiplicity his-
togram
Common Parameters
CAM_L_AASFLAGS Add-a-Source Flags
640
Add-a-Source Calibration Parameters
641
CAM Files
642
Add-a-Source Calibration Parameters
CAM_F_AASREFTOT AaSreferencetotalsrate
CAM_F_AASREFTOTER AaSreferencetotalsrateerror
CAM_F_AASREFREAL AaSreferencerealsrate
CAM_F_AASREFREALER AaSreferencerealsrateerror
CAM_X_AASREFSTIME AaSreferenceacquisitiondate
Record Parameters
CAM_F_AASREACALXR Reals absorption perturbation
643
CAM Files
Common Parameters
CAM_T_ASTMCALMATER Material type (64 characters)
Record Parameters
CAM_T_ASTMCNUCLIDE Nuclide name (8 characters)
644
ASTM Mass Calibration Parameters
CAM_L_ASTMCMFLAGS Flags
645
CAM Files
Peak-to-Total Calibration
This class stores the peak-to-total calibration coefficients. The symbolic name for this
class is: CAM_CLS_PTCALIB.
Common Parameters
CAM_T_PTCVERS PT Calibration version (16 characters)
646
Coincidence Summing Library
Record Parameters
CAM_F_PTCENERGY PT Energy
Common Parameters
CAM_T_COILIBVERS Library version
Record parameters
CAM_F_COILENERGY Line energy
CAM_L_COILFLAGS Flags
647
CAM Files
Record parameters
CAM_L_COICCODE Line identifier
Common Parameters
CAM_L_WNRFLAGS Flags
648
Passive Neutron TMU Analysis Results
CAM_F_WNRRMIN Rmin
CAM_F_WNRRMAX Rmax
649
CAM Files
CAM_F_WNRPUMASS Pu mass
Record Parameters
There is one record per isotope.
650
Gamma TMU Analysis
Common Parameters
CAM_L_WGRFLAGS Flags
651
CAM Files
CAM_F_WGRPUMASS Pu mass
Record Parameters
CAM_T_WGRTMUNAME Nuclide name(8 characters)
652
Multi-Modality Results Combination Parameters
CAM_F_WGRTMUACT Activity
CAM_F_WGRTMUMDA MDA
CAM_L_MCRFLAGS Flags
653
CAM Files
CAM_F_MCRPUMASS Pu mass
Record Parameters
CAM_T_MCRISONAME Isotope name (8 characters)
654
Differential Dieaway Analysis Results
Parameters
Common Parameters
CAM_L_DDAFLAGS DDA analysis Flags
655
CAM Files
656
Differential Dieaway Analysis Results
Parameters
Record Parameters
CAM_L_DDASOURCETYP Source type: 0 = Shielded; 1 = Bare; 2 = Sys-
tem; 3 = Flux Monitor; 4 = Barrel Monitor
657
CAM Files
Common Parameters
CAM_L_WDRFLAGS Flags
658
Differential Dieaway TMU Results
CAM_F_WDRUMASS U mass
Record Parameters
There is one record per isotope.
659
CAM Files
Common Parameters
CAM_L_TROIDFLAGS Flags
660
TGS ROI Results
Record Parameters
CAM_L_TROIRROINUMB ROI number; this corresponds to the number of
the ROI definition record
CAM_L_TROIREREAL Elapsed real time (in ms) for the spectrum con-
taining this ROI
CAM_L_TROIRELIVE Elapsed live time (in ms) for the spectrum con-
taining this ROI
CAM_L_TROIRFLAGS Flags
661
CAM Files
Voxel Data
This class contains 3-D data generated by imaging applications. Each record contains a
complete 3-D data set; tabular entries contained in each record represent each data point
(i.e., voxel). Three common parameters indicate the X, Y, and Z dimensions of the data
sets; i.e., the number of tabular entries in each record should be X * Y * Z. The symbolic
name for this class is CAM_CLS_VOXELS.
Common Parameters
CAM_L_VOXXDIM Image X dimension
Record Parameters
CAM_L_VOXRECTYPE Data set type. The interpretation of this field is
application dependent.
662
NIT Calibration Parameters
Common Parameters
CAM_F_NITGEOMCF NIT geometry correction factor; this value is the
NIT engine result
CAM_L_NITFLAGS Flags
Record Parameters
CAM_T_NITRSRCID ID (16 characters + null term.) designating
source position and calibration item
CAM_F_NITRSRCCFER Uncertainty in CF
663
CAM Files
Common Parameters
CAM_L_SHFFLAGS Flags
664
Shuffler Assay Results
Record Parameters
CAM_T_SHFRDSRCNAME Name of detector datasource (16 characters)
665
CAM Files
Record Parameters
CAM_T_DSNNAME Datasource or file name (128 characters)
Common Parameters
CAM_F_HCPARMA Hydrogen correction model factor A
666
6. Development Tools Environment
The Genie 2000 Programming Library was developed specifically to be used with
Microsoft Visual C++, Professional Edition, version 6.0. This product includes an inte-
grated development environment called Microsoft Developer Studio. If you prefer, the
compiler and linker can be invoked directly from a command line session.
Please note that it is also possible to call the Genie 2000 Programming Library routines
using Microsoft Visual Basic, Professional Edition, version 6.0. Consult with Canberra to
obtain additional information on how to do this.
Note: If you are using Visual C++, Professional Edition V6.0 or above (32 bit OS),
you’ll have to change one of the project settings.
667
Genie 2000 Error Codes
Error codes are returned as 32-bit hexadecimal numbers (for example, 278e2a, see below
for interpretation) where:
Bits 0 - 15: Specific error code value
668
CAM Error Codes
Given the above description, an error code such as 278e2a would indicate a VDM driver
error level of the class CAM. The low order 16 bits (8e2a) denote an actual CAM error
code which means ‘file already opened’. Below is a detailed list of common 32-bit error
codes with the corresponding error message; a brief description of the error is presented
where appropriate.
System-level errors that are considered less common, such as memory allocation errors,
are presented like this:
The specified CAM parameter does not exist in the datasource being accessed.
CAM block missing (for instance, a specified CAM class does not exist in the
datasource being accessed).
669
Genie 2000 Error Codes
IPC Errors
IPC error codes will be reported as a hex number 4yxxxx (y is the particular class as de-
scribed above); common ‘xxxx’ codes include:
Miscellaneous communications error (most likely that the VDM is not currently
running).
VDM Errors
VDM error codes will be reported as a hex number 3yxxxx (y is the particular class as
described above); common xxxx codes include:
670
Analysis Module Errors
21: Major verification error encountered when opening the specified detector
datasource.
Specified detector datasource is currently busy, but not being monitored by the
VDM.
23: Minor verification error encountered when opening the specified detector
datasource.
Not enough points were available to perform the specified calculation (for example,
a third order energy calibration requires four data points).
671
Genie 2000 Error Codes
Setup parameters required for a particular algorithm are invalid (for example, a
Start/Stop range of 0 to 0 would be invalid for a peak locate).
Data resulting from previous operations (for example, live time) is invalid for this
algorithm.
672
Analysis Module Errors
Acquisition Errors
The following errors are possible during acquisition:
An error has occurred while fitting a curve to the specified points; add or delete
points until a suitable set of points for a curve solution is present.
The shape of the specified peak is poor (for instance, not a Gaussian). Typical cause
is poor selection of peak via the cursor.
673
Genie 2000 Error Codes
674
Geometry Composer Errors
96EA: Could not fit peak(s) due to bad fit shape parameters
101 Can’t find predefined material in the library. The material assigned for some
geometry component is absent in the connected library. Insert the desired ma-
terial into the library.
102 Error while reading the attenuation library. Problem with the mu-library. The
library may be corrupted; use its backup version.
103 Arrays to store attenuation coeffs. are full. Only 10 energy intervals may be
used to describe the polynomial that represents the energy dependence of mass
attenuation coefficient.
Mu-Editor
500 Error while accessing of a function in LoadMuLibr.dll. The Dll may be cor-
rupted; re-install it.
502 Error during treatment of substance composition. The old mu-library format
may have been used. You may use either the construction of a new substance
from elements (via chemical formula) and/or the substances prepared in the
Windows version of the mu-library editor.
675
Genie 2000 Error Codes
503 Error during conversion of the formula to the new mu-library format. While
reading the DOS formatted Mu-Library the program was unable to convert a
substance composition into the new format. Try to prepare this substance di-
rectly using the Windows version of the program.
505 Cannot load the ISOCS path data. Either file SPACE.INI was not found or the
statement :ATTENUATION_LIBRARY was not found in SPACE.INI.
506 Error while deleting a material from the library. Internal error in muedit.dll.
507 Invalid value of density. Density must be greater than 0 and less than 20.
509 The formula is too long to be inserted into the library. You can subdivide the
material composition into a few components.
512 Substance name coincides with an element name. The problem is corrected by
adding a prefix (asterisk).
610 Impossible to insert because of formula traceability. The next substance(s) ref-
er for ‘%1’:
GeomEdit
100 Not enough room between source and detector to put Absorber(s)
704 The material pointed to in the template geometry is not found in the current
mu-library. The material must be added before proceeding.
676
Geometry Composer Errors
706 The detector specified in the geometry file is missing from the local file De-
tector.txt. Check the existence of the detector characterization file in the
ISOCS directory! The geometry file refers to a detector record that has been
deleted, or the current Detector.txt file has been modified.
708 Cannot load the selected detector from file Detector.txt. Check for an appro-
priate record (for the selected detector) in Detector.txt.
710 The number of template versions exceeds the maximum allowed. To enter a
new version first delete one or more existing versions.
713 Cannot open template version file. A system error occurred while opening the
template version file. Version information could not be saved.
714 Cannot open the predefined beaker file. Check that the beaker file is not cur-
rently being used by another program.
715 Invalid parameter in pre-defined beaker file. The line of data must contain 7
parameters.
716 Not a valid contour ID. The ID did not correspond to one of the three types of
contour (i, o or b).
717 Invalid number of parameters (less than 4)! The record structure in file de-
scribing contour.
718 Cannot load DLL with template information. When the Edit Dimensions dia-
log was called, the program could not load the template dll. This situation may
arise when attempting to edit a .GEO file of a particular geometry template
that is not available in the current GC configuration.
719 Cannot get the address of a function in the template dll. This is a system error.
It may be due to a corrupted dll and may be necessary to reinstall.
720 New user template version may be based only on the default template version.
A new user template version cannot be based on an existing geometry file that
itself is based on a user template version. Use the version that is not marked as
[user].
721 The material ‘%1’ referenced in the geometry file is not available in the cur-
rent mu-library. Please replace it with an available material or add the material
to the mu-library.
677
Genie 2000 Error Codes
722 The geometry definition contains the material ‘%1’ which is not available in
the current mu-library. Would you like to replace this material with and avail-
able one?
723 Density for the source material is missing. Mass of the source cannot be calcu-
lated.
725 Cannot get address of function in .dll. This is an internal (system) error.
726 Cannot find the bitmap containing the template drawing. The bitmap file must
exist in the directory specified by the :TMPL_BITMAPS keyword in
Space.ini.
727 The file containing the template drawing is not a valid bitmap (.bmp) file.
728 Cannot continue. Check the :PROGRAM keyword in Space.ini. The directory
path specified by the :PROGRAM keyword is missing or invalid, or Space.ini
itself may be missing.
729 Cannot retrieve the address of a function in the computational DLL. Isocs_ge-
neric.dll may be corrupted. You may need to re-install.
732 Cannot open the file containing cylindrical collimator parameters. This file is
located in the directory specified by the :C_COLLIMATOR keyword in
Space.ini.
734 Cannot open file containing under water housing parameters. This file is lo-
cated in the directory specified by the :UW_HOUSING keyword in Space.ini.
735 Cannot open file containing rectangular collimator parameters. This file is lo-
cated in the directory specified by the :R_COLLIMATOR keyword in
Space.ini.
737 Cannot execute the operation. The collimator type must be selected first.
738 The collimator name has not been identified. The record will be saved as a
new record.
739 Cannot open file to save collimator data. Check that the file is not being used
by another program.
678
Geometry Composer Errors
740 Please specify a name for the record: none is not valid!
749 Detector name is longer than 19 characters. Please make the necessary correc-
tion to the detector file. The detector is not included in the list of available de-
tectors.
752 Cannot launch MuEditor.exe. Check the existence of this file in the directory
specified by the :PROGAM keyword in Space.ini.
756 Housing
757 Material in the string #’%1’ is missing. Select the proper material from the list
box or none if the geometry component is absent. In the latter case the line’s
data will be ignored.
760 Cannot load BMP file for plotting. The bitmap file must exist in the directory
specified by the :TMPL_BITMAPS keyword in Space.ini.
Geometry Composer
100 OLE initialization failed. Make sure that the OLE libraries are the correct ver-
sion.
679
Genie 2000 Error Codes
1005 Cannot open file detector. with detector parameters. Check whether detec-
tor.txt is present in the directory specified by the :DETECTOR_PAR keyword
in Space.ini.
1006 Error in format of file Space.ini. Check format of Space.ini: each line should
have a format of keyword=path.
1008 Check format of the detector list file (8 columns per line are allowed).
1011 System error while reading the templates list file (template..
1013 Cannot access exported DLL function. This is a system error which occurred
when the program attempted to access the DLL.
1014 Unable to locate the geometry files directory. The program cannot locate the
directory specified by the :GEOMETRY keyword in Space.ini. The results
will be stored in the root directory.
1015 Cannot open ISOCS geometry (.GIS) file to store geometry description data.
1019 Error while reading ISOCS efficiency (.ECC) file: invalid number of columns
in file.
1020 Error while reading ISOCS efficiency (.ECC) file: invalid number of energies
in file.
1023 Cannot load .dll. Check existence of this file in the directory specified by the
:PROGRAM keyword in Space.ini.
680
Geometry Composer Errors
1025 Error attempting to open .ECC file generated by ISOCS: cannot find
:ECC_OUTPUT keyword in file Space.ini.
1030 The geometry (.GEO) file was created by later version of Geometry Com-
poser than is currently running. The program may have failed attempting to
read a file. Please update your Geometry Composer.
1032 Internal arrays for importing ISOCS geometry are full. Check the .GIS file
and insure that all contained data are valid.
1033 Cannot open the Clipboard to store the template picture for export to Excel.
1039 Filename of the Computational DLL does not match its content. The file may
have been renamed.
1040 Cannot find the bitmap containing the template drawing. The bitmap file must
exist in the directory specified by the :TMPL_BITMAPS keyword in
Space.ini.
1041 The file containing the template drawing is not a valid bitmap (.bmp) file.
1042 Program cannot run because of a missing keyword. One of the required
keywords in Space.ini is missing.
1043 Cannot find the directory specified by the :GEOMETRY keyword in file
Space.ini.
681
Genie 2000 Error Codes
1044 The selected folder does not correspond to standard file storage convention.
Save the file anyway?
1048 Error in format of energy list file. Each line should contain two comma delim-
ited fields: Energy and Efficiency Error.
1051 Program cannot continue: cannot find one of the required keywords in file
Space.ini.
1052 Internal system error: problem calling a function in the computational DLL.
1053 Cannot load computational DLL. Check existence of DLL in directory speci-
fied by the :PROGRAM keyword in Space.ini.
1054 Cannot delete temporary file .txt. This is required in order to execute the next
ISOCS computation.
1055 Cannot open temporary file to store beaker description during geometry test-
ing.
1057 Excel is being launched...Please answer the following questions from Excel:
1059 Efficiency curve may be generated after saving the geometry file.
1062 Error
1064 File Space.ini cannot be opened. Check for the existence of this file in the di-
rectory specified by the SPACE environment variable.
682
Geometry Composer Errors
1066 Cannot open file detector. with detector parameters. Check existence of this
file in the directory specified by the :DETECTOR_PAR keyword in file
Space.ini.
1067 Error in format of file Space.ini. Check format of Space.ini: each line should
have a format of keyword=path.
1101 Cannot find the bitmap containing the template drawing. The bitmap file must
exist in the directory specified by the :TMPL_BITMAPS keyword in
Space.ini.
1105 Filename of the Template DLL does not match its content. The file may have
been renamed.
1110 File Space.ini or a required keyword in Space.ini was not found. The program
cannot access data needed for creation of a new document. Only existing doc-
uments may be opened.
1111 Cannot move generated .ECC file from temporary to destination directory.
System error number (errno)
1114 You have loaded a previous version of a GEO file. To make the picture avail-
able open the Edit/Dimensions dialog and save the GEO file.
1115 Cannot create backup of template list file (template.bak). While updating the
configuration the program could not rename template.cnf to ‘template.bak.
1116 Cannot update template list file (template.cnf). While updating the configura-
tion the program could not rename the temporary copy of the template list file
(template.tmp) back to the permanent file name (template.cnf).
683
Genie 2000 Error Codes
1117 List is full. Cannot append new energy value to the list used for ECC genera-
tion. Max lines in the list is 100.
LGT_101
101 Windows sockets initialization failed.
200 Not enough room between source and detector to put Absorber(s)
Invalid volume: upper part of beaker is not filled The data in line 4 will be re-
set Input correct values
LGT_104
101 Windows sockets initialization failed.
200 Not enough room between source and detector to put Absorber(s)
LGT_106
101 Windows sockets initialization failed.
201 Invalid volume. If you wish to change sample volume, correct the dimensions.
LGT_107
101 Windows sockets initialization failed.
684
Geometry Composer Errors
LGT_108
101 Windows sockets initialization failed.
200 Detector does not fit into Marinelli beaker well. See the “Endcap INFO” frame
on the dialog panel.
201 Invalid volume: upper part of beaker is not filled. The data in line 4 will be re-
set. Input correct values.
204 Invalid data for detector well: both of them must be zero or not zero.
205 Invalid data for detector well: 3.1 must be greater than 2.1 + 4*1.1.
LGT_112
101 Windows sockets initialization failed.
LGT_12
101 Windows sockets initialization failed.
201 Please specify the height of at least one of the layers: 2.1 or 3.1.
LGT_3
101 Windows sockets initialization failed.
201 Please specify height of at least one of the layers: 2.1 or 3.1.
LGT_6
101 Windows sockets initialization failed.
685
Genie 2000 Error Codes
LGT_7
101 Windows sockets initialization failed.
LGT_8
101 Windows sockets initialization failed.
200 Detector does not fit into Marinelli beaker well. See the “Endcap INFO” frame
on the dialog panel.
201 Parameters 3.1 and 4.1 must be set in the current context.
Errors have been detected during the compilation phase of generating a report.
Look at the report file for a more detailed description of errors.
686
QA Routine Errors
QA Routine Errors
Errors in the Transfer and Analyze routines will be reported as a hex number 60xxxx.
Common xxxx codes include:
384: The record being transferred has the same time-stamp as one that’s already on
file - but there’s no over-write flag.
38C: Warning that the bias test was not performed because one or more values had
error = 0.
This error indicates that the specified MID file to be opened for edit is loaded in the
Runtime Database. It must be unloaded before it can be edited.
This error indicates that the specified MID file cannot be unloaded because a detec-
tor defined within it is currently acquiring data.
687
Genie 2000 Error Codes
An attempt was made to load an MID file into the Runtime Database containing at
least one input name that already appears in the Runtime Database. Input names
must be unique within any instance of the Runtime Database.
The specified MID file to be unloaded from the Runtime Database is not currently
loaded.
1D: An already-loaded file has a hardware device at the same board number or ad-
dress.
An attempt was made to load an MID file into the Runtime Database containing at
least one hardware device with a board number (S100) or address (AIM) that al-
ready appears in the Runtime Database. Hardware device addressing must be
unique within any instance of the Runtime Database.
Open/Verify Errors
The system perform a verification on an input datasource when it is first opened; verifi-
cation is defined as checking to make sure that the input can be communicated with and
is configured as defined by the MID Editor. There are various errors that verification can
determine; they are divided into three categories: fatal errors, major errors, and minor er-
rors.
Fatal Errors
This class of error indicates that the open of the specified input datasource has failed.
This error will be reflected in an appropriate error message from the various system soft-
ware applications.
688
Input Datasource Errors
Unlike the other fatal errors, the Gamma and Alpha applications will present the user
with three options in handling this condition:
Owner Mismatch:
This condition indicates that the input being opened is currently “owned” by another user
and cannot be accessed. This is caused when an attempt is made to open an AIM input
and the AIM device is currently being accessed by another VDM; that is, another user.
Major Errors
This class of error indicates that the open of the specified input datasource has failed. Un-
like a fatal error, this error class is handled differently by the Gamma and Alpha applica-
tions. Upon detecting this class of error, the applications will automatically bring up the
Status screen which presents more detailed information as to the errors that were encoun-
tered. Upon exiting the Status screen, the user is directed back to the main window, just
as if a fatal error occurred.
689
Genie 2000 Error Codes
Hardware Failure
This error is returned when an open of an input detects that one of the devices comprising
the input has failed. Note that this error always indicates that a device, such as ICB NIM,
has notified the system software that it has failed.
Minor Errors
This class of error indicates that the open of the specified input datasource was partially
successful in that all devices comprising the input were located and communicated with;
however, discrepancies were found in the actual configuration of one or more devices. In
the Gamma and Alpha applications, the user will be presented with three options in han-
dling this condition (the system job commands will treat this class of error as fatal):
2. Proceed with the open and ignore the minor error. In this case, the system
software will set a “questionable data” flag in the datasource as a reminder of
this error condition. The “Ready LED” will be set to YELLOW for any ICB
devices defined for this input datasource.
If the open was initiated from the Acquisition and Analysis application, its
Status field will have been changed to red and its Status Report will display an
asterisk (*) next to the parameter in question. When the error has been corrected,
both error flags can be cleared by updating the Status Report screen.
3. Proceed with the open and accept the minor error. No “questionable data” flag is
set in this case and the input datasource is updated with the conflicting
parameter values. The “Ready LED” will be set to GREEN for any ICB devices
defined for this input datasource.
Operational Errors
After verification is performed, two additional checks, Questionable Data and Question-
able Calibration, are made on the input datasource while it is being opened.
690
Input Datasource Errors
After an input datasource is opened by a system software application, the input is moni-
tored by the VDM for any change in status. The parameters that are monitored vary,
based on the input datasource; that is, on the types of devices that comprise the input.
Some typical parameters that are monitored include:
The way a change in status is handled varies between system software applications:
When the Gamma or Alpha application detects a change in status, it will change the
background color of the input’s Status Line from white to red. This tells the user that
there has been a change at the hardware level. The Status Report screen in the Acquisi-
tion and Analysis application will show an asterisk next to the changed parameter. When
the error has been corrected, both error flags can be cleared by updating the Status Report
screen.
The Genie 2000 WAIT command does monitor change in status during its execution. If a
change is detected, the WAIT command will return to the user with an appropriate error
message and error return code.
691
Genie 2000 Error Codes
1. The Centroid channel plus one half of the number of Spacing channels plus the
Window width yields a channel which is greater than the number of channels in
the input.
2. The Centroid channel minus one half of the number of Spacing channels minus
the Window width yields a channel which is less than one.
3. The Zero Centroid channel is greater than the Gain Centroid channel.
692
8. LabSOCS/ISOCS Error Codes
This listing of error codes and their corresponding messages is included as an aid to trou-
bleshooting problems that may occur in data entry and/or other operations. Extensive er-
ror testing is done in various parts of the program, especially when editing or creating
geometries.
Exiting the Geometry Composer screen causes a three-part error validation routine to be
called.
1. First, the GeomEdit module compares the input values to generic rules for all
templates;
3. Last, a test is carried out by the computational dll for that template to make sure
that the full computation will run. This is the same test that is called when using
the “Check Geometry Validity” function.
The validation routine uses error messages box with different titles than standard error
message.
• If title of the box is “Data Validation Error #xyz”, it means that error was detected
in GeomEdit or the template dll.
• If the title of the box is “Data Validation Error [from computational module]:
#xyz” it means that error was detected in the computational dll.
• If the title of the box is “Data Validation Warning: #xyz”, it comes from
conditions within the template dll.
Other similar error testing is done in Mu-Editor while creating/editing materials and for
ISOCS while creating/editing collimators or external housings.
693
LabSOCS/ISOCS Error Codes
*To find template-dependent error messages, first locate the name of the template that
was used, then find the error number within that template.
General Errors
#256 AN EFFICIENCY CALIBRATION CALCULATION (ECC) PROCESS IS
ALREADY RUNNING.
WAIT FOR ITS TERMINATION BEFORE LAUNCHING ANOTHER ECC
PROCESS.
This error message can appear when you try to launch the Efficiency Calibra-
tion Calculation [ECC] process before the previously launched ECC has com-
pleted. Launching two concurrent ECC processes is prohibited.
#260 CAN’T ALLOCATE MEMORY TO READ THE FILE WITH THE TEM-
PLATE DESCRIPTION.
There is not enough memory to continue the program. It is a system error.
694
General Errors
#264 THE DCG FILE NAME DECLARED IN THE DETECTOR ROW DE-
SCRIPTION IS NOT FOUND.
The description of the detector parameters includes the Detector Calibration
Generator [DCG] filename that is used to calculate the efficiency at the point
with the arbitrary XYZ coordinates. Make sure that the pointed DCG-filename
really exists.
695
LabSOCS/ISOCS Error Codes
#273 FILE NAME WITH THE PREDEFINED ENERGY LIST IS NOT FOUND.
The geometry description refers to the list of energies that are used to approxi-
mate the efficiency vs. energy function. The list of energies can be defined in
two different ways. User can input energies either directly from the keyboard
or by pointing to the name of the file that contains the list of energies. This er-
ror can appear when the pointed filename does not exist.
If you use the default filename, then make sure that the
:PREDEFINED_ELIST keyword of SPACE.INI file points to an existing file-
name.
696
General Errors
697
LabSOCS/ISOCS Error Codes
698
General Errors
#297 CAN’T OPEN FILE WITH THE MU-LIBRARY TO CHECK THE INDI-
CATED MATERIALS IN THE TEMPLATE DESCRIPTION.
Most probably the materials library file has not been found. Make sure that the
materials library file exists, then try again.
#302 THE AIR BAROMETRIC PRESSURE IS TOO LOW FOR GIVEN T and
RH.
Doing a model computation, user could err estimating the Barometric Air
Pressure [BAP] at the given temperature and Relative Humidity [RH]. The
BAP is a sum of the dry air and the Saturated Water Steam [SWS] partial pres-
sures, where the SWS partial pressure depends on only the temperature and
RH. Thus the BAP anyway may not be less than the SWS partial pressure at
given T and RH. For example, the BAP may not be zero if the RH is not zero.
To prevent the invalid BAP value inserted by user, software checks the in-
equality: BAP ≥ SWS partial pressure. If this inequality is not fulfilled, then
software outputs the above message. Change the BAP value, then try again.
699
LabSOCS/ISOCS Error Codes
700
General Errors
701
LabSOCS/ISOCS Error Codes
702
General Errors
#332 CAN’T OPEN FILE WITH THE LIST OF ISOCS TEMPLATE NAMES.
Check the full filename indicated via the :ISOCS_TMPL_NAME keyword in
SPACE.INI file.
The list of the template names is stored in the file that location is indicated via
the :ISOCS_TMPL_NAME keyword of ‘space.ini’ file. Make sure that the in-
dicated file really exists. Then try again.
#333 THE FILE WITH THE LIST OF ISOCS TEMPLATE NAMES IS EMPTY.
Check the file indicated via the :ISOCS__NAME keyword in SPACE.INI file.
The list of the template names is stored in the file that location is indicated via
the :ISOCS_TMPL_NAME keyword of ‘space.ini’ file. The error message
means that the indicated file was blank. Restore the template names to the
file,, then try again.
703
LabSOCS/ISOCS Error Codes
704
General Errors
#349 ECC WAS INTERRUPTED DUE TO PROGRESS BAR ERROR: Can’t find
ISOCS_CreateProgressBar function.
This is a system error. Program can not be continued.
#350 ECC WAS INTERRUPTED DUE TO PROGRESS BAR ERROR: Can’t find
ISOCS_RefreshProgressBar function.
This is a system error. Program cannot be continued.
#351 ECC WAS INTERRUPTED DUE TO PROGRESS BAR ERROR: Can’t find
ISOCS_DestroyProgressBar function.
This is a system error. Program cannot be continued.
#352 ECC WAS INTERRUPTED DUE TO PROGRESS BAR ERROR: Can’t de-
stroy Progress Bar.
This is a system error. Program cannot be continued.
#353 ECC WAS INTERRUPTED DUE TO PROGRESS BAR ERROR: Can’t Cre-
ate Progress Bar.
This is a system error. Program cannot be continued.
705
LabSOCS/ISOCS Error Codes
#354 ECC WAS INTERRUPTED DUE TO PROGRESS BAR ERROR: Can’t Re-
fresh Progress Bar.
This is a system error. Program cannot be continued.
706
General Errors
707
LabSOCS/ISOCS Error Codes
708
General Errors
709
LabSOCS/ISOCS Error Codes
710
General Errors
#952 PIPE DIAMETER IS TOO SMALL. NOT ENOUGH ROOM FOR SOURCE
No.2.
Upon checking the ‘pipe’ template dimensions it is found that the pipe inside
diameter is not enough to locate source No.2. Make sure that source No.2 can
be located inside the pipe, then try again.
711
LabSOCS/ISOCS Error Codes
#1106 DEFAULT MATERIAL NAME MAY NOT BE USED IN THE 1st ROW OF
THE BEAKER DESCRIPTION FILE.
The beaker description may use the default material name in any row of de-
scription except the 1st row. Define the material in the 1st row of description,
then try again.
712
General Errors
713
LabSOCS/ISOCS Error Codes
714
General Errors
715
LabSOCS/ISOCS Error Codes
716
General Errors
717
LabSOCS/ISOCS Error Codes
718
General Errors
719
LabSOCS/ISOCS Error Codes
720
General Errors
721
LabSOCS/ISOCS Error Codes
722
Geometry Composer Errors
101 Can’t find predefined material in the library. The material assigned for some
geometry component is absent in the connected library. Insert the desired ma-
terial into the library.
102 Error while reading the attenuation library. Problem with the mu-library. The
library may be corrupted; use its backup version.
103 Arrays to store attenuation coeffs. are full. Only 10 energy intervals may be
used to describe the polynomial that represents the energy dependence of mass
attenuation coefficient.
Mu-Editor
500 Error while accessing of a function in LoadMuLibr.dll. The Dll may be cor-
rupted; re-install it.
502 Error during treatment of substance composition. The old mu-library format
may have been used. You may use either the construction of a new substance
from elements (via chemical formula) and/or the substances prepared in the
Windows version of the mu-library editor.
503 Error during conversion of the formula to the new mu-library format. While
reading the DOS formatted Mu-Library the program was unable to convert a
substance composition into the new format. Try to prepare this substance di-
rectly using the Windows version of the program.
505 Cannot load the ISOCS path data. Either file SPACE. was not found or the
:ATTENUATION_LIBRARY keyword was not found in SPACE.INI.
506 Error while deleting a material from the library. Internal error in muedit.dll.
507 Invalid value of density. Density must be greater than 0 and less than 20.
509 The formula is too long to be inserted into the library. You can subdivide the
material composition into a few components.
723
LabSOCS/ISOCS Error Codes
512 Substance name coincides with an element name. The problem is corrected by
adding a prefix (asterisk).
609 Impossible to delete because of formula traceability. The next substance(s) re-
fer for ‘%1’:
610 Impossible to insert because of formula traceability. The next substance(s) re-
fer for ‘%1’:
GeomEdit
100 Not enough room between source and detector to put Absorber(s)
704 The material pointed to in the template geometry is not found in the current
mu-library. The material must be added before proceeding.
706 The detector specified in the geometry file is missing from the local file De-
tector.txt. Check the existence of the detector characterization file in the
ISOCS directory! The geometry file refers to a detector record that has been
deleted, or the current Detector.txt file has been modified.
708 Cannot load the selected detector from file Detector.txt. Check for an appro-
priate record (for the selected detector) in Detector.txt.
710 The number of template versions exceeds the maximum allowed. To enter a
new version first delete one or more existing versions.
713 Cannot open template version file. A system error occurred while opening the
template version file. Version information could not be saved.
724
Geometry Composer Errors
714 Cannot open the predefined beaker file. Check that the beaker file is not cur-
rently being used by another program.
715 Invalid parameter in pre-defined beaker file. The line of data must contain 7
parameters.
716 Not a valid contour ID. The ID did not correspond to one of the three types of
contour (i, o or b).
717 Invalid number of parameters (less than 4)! The record structure in file de-
scribing contour.
718 Cannot load DLL with template information. When the Edit Dimensions dia-
log was called, the program could not load the template dll. This situation may
arise when attempting to edit a .GEO file of a particular geometry template
that is not available in the current GC configuration.
719 Cannot get the address of a function in the template dll. This is a system error.
It may be due to a corrupted dll and may be necessary to reinstall.
720 New user template version may be based only on the default template version.
A new user template version cannot be based on an existing geometry file that
itself is based on a user template version. Use the version that is not marked as
[user].
721 The material ‘%1’ referenced in the geometry file is not available in the cur-
rent mu-library. Please replace it with an available material or add the material
to the mu-library.
722 The geometry definition contains the material ‘%1’ which is not available in
the current mu-library. Would you like to replace this material with and avail-
able one?
723 Density for the source material is missing. Mass of the source cannot be calcu-
lated.
725 Cannot get address of function in .dll. This is an internal (system) error.
726 Cannot find the bitmap containing the template drawing. The bitmap file must
exist in the directory specified by the :TMPL_BITMAPS keyword in
Space.ini.
727 The file containing the template drawing is not a valid bitmap (.bmp) file.
728 Cannot continue. Check the :PROGRAM keyword in Space.ini. The directory
path specified by the :PROGRAM keyword is missing or invalid, or Space.ini
itself may be missing.
729 Cannot retrieve the address of a function in the computational DLL. Isocs_ge-
neric.dll may be corrupted. You may need to re-install.
725
LabSOCS/ISOCS Error Codes
732 Cannot open the file containing cylindrical collimator parameters. This file is
located in the directory specified by the :C_COLLIMATOR keyword in
Space.ini.
734 Cannot open file containing under water housing parameters. This file is lo-
cated in the directory specified by the :UW_HOUSING keyword in Space.ini.
735 Cannot open file containing rectangular collimator parameters. This file is lo-
cated in the directory specified by the :R_COLLIMATOR keyword in
Space.ini.
737 Cannot execute the operation. The collimator type must be selected first.
738 The collimator name has not been identified. The record will be saved as a
new record.
739 Cannot open file to save collimator data. Check that the file is not being used
by another program.
740 Please specify a name for the record: none is not valid!
749 Detector name is longer than 19 characters. Please make the necessary correc-
tion to the detector file. The detector is not included in the list of available de-
tectors.
726
Geometry Composer Errors
752 Cannot launch MuEditor.exe. Check the existence of this file in the directory
specified by the :PROGAM keyword in Space.ini.
756 Housing
757 Material in the string #’%1’ is missing. Select the proper material from the list
box or none if the geometry component is absent. In the latter case the line’s
data will be ignored.
760 Cannot load BMP file for plotting. The bitmap file must exist in the directory
specified by the :TMPL_BITMAPS keyword in Space.ini.
Geometry Composer
100 OLE initialization failed. Make sure that the OLE libraries are the correct ver-
sion.
1005 Cannot open file detector. with detector parameters. Check whether detec-
tor.txt is present in the directory specified by the :DETECTOR_PAR keyword
in Space.ini.
1006 Error in format of file Space.ini. Check format of Space.ini: each line should
have a format of keyword=path.
1008 Check format of the detector list file (8 columns per line are allowed).
1011 System error while reading the templates list file (template.
727
LabSOCS/ISOCS Error Codes
1013 Cannot access exported DLL function. This is a system error which occurred
when the program attempted to access the DLL.
1014 Unable to locate the geometry files directory. The program cannot locate the
directory specified by the :GEOMETRY keyword in Space.ini. The results
will be stored in the root directory.
1015 Cannot open ISOCS geometry (.GIS) file to store geometry description data.
1019 Error while reading ISOCS efficiency (.ECC) file: invalid number of columns
in file.
1020 Error while reading ISOCS efficiency (.ECC) file: invalid number of energies
in file.
1023 Cannot load .dll. Check existence of this file in the directory specified by the
:PROGRAM keyword in Space.ini.
1025 Error attempting to open .ECC file generated by ISOCS: cannot find
:ECC_OUTPUT keyword in file Space.ini.
1030 The geometry (.GEO) file was created by later version of Geometry Com-
poser than is currently running. The program may have failed attempting to
read a file. Please update your Geometry Composer.
1032 Internal arrays for importing ISOCS geometry are full. Check the .GIS file
and insure that all contained data are valid.
1033 Cannot open the Clipboard to store the template picture for export to Excel.
728
Geometry Composer Errors
1039 Filename of the Computational DLL does not match its content. The file may
have been renamed.
1040 Cannot find the bitmap containing the template drawing. The bitmap file must
exist in the directory specified by the :TMPL_BITMAPS keyword in
Space.ini.
1041 The file containing the template drawing is not a valid bitmap (.bmp) file.
1042 Program cannot run because of a missing keyword. One of the required
keywords in Space.ini is missing.
1043 Cannot find the directory specified by the :GEOMETRY keyword in file
Space.ini.
1044 The selected folder does not correspond to standard file storage convention.
Save the file anyway?
1048 Error in format of energy list file. Each line should contain two comma delim-
ited fields: Energy and Efficiency Error.
1051 Program cannot continue: cannot find one of the required keywords in file
Space.ini.
1052 Internal system error: problem calling the function in the computational DLL.
1053 Cannot load computational DLL. Check existence of DLL in directory speci-
fied by the :PROGRAM keyword in Space.ini.
1054 Cannot delete temporary file *.txt. This is required in order to execute the next
ISOCS computation.
729
LabSOCS/ISOCS Error Codes
1055 Cannot open temporary file to store beaker description during geometry test-
ing.
1057 Excel is being launched…Please answer the following questions from Excel:
1059 Efficiency curve may be generated after saving the geometry file.
1062 Error
1064 File Space.ini cannot be opened. Check for the existence of this file in the di-
rectory specified by the SPACE environment variable.
1066 Cannot open file detector. with detector parameters. Check existence of this
file in the directory specified by the :DETECTOR_PAR keyword in file
Space.ini.
1067 Error in format of file Space.ini. Check format of Space.ini: each line should
have a format of keyword=path.
1101 Cannot find the bitmap containing the template drawing. The bitmap file must
exist in the directory specified by the :TMPL_BITMAPS keyword in
Space.ini.
1105 Filename of the Template DLL does not match its content. The file may have
been renamed.
730
ISOCS Multi-Efficiency Errors
1110 File Space.ini or a required keyword in Space.ini was not found. The program
cannot access data needed for creation of a new document. Only existing doc-
uments may be opened.
1111 Cannot move generated file from temporary to destination directory. System
error number ()
1114 You have loaded a previous version of a GEO file. To make the picture avail-
able open the Edit/Dimensions dialog and save the GEO file.
1115 Cannot create backup of template list file (template.bak). While updating the
configuration the program could not rename template.cnf to ‘template.bak.
1116 Cannot update template list file (template.cnf). While updating the configura-
tion the program could not rename the temporary copy of the template list file
(template.tmp) back to the permanent file name (template.cnf).
1117 List is full. Cannot append new energy value to the list used for ECC genera-
tion. Max lines in the list is 100.
1122 Cannot load DLL with template information. The program could not load the
template DLL.
1123 Cannot get the address of a function in the template DLL. This is a system er-
ror.
1301 ENERGY LIST OF THIS FILE DOES NOT CORRESPOND TO THE LIST
OF ALREADY LOADED FILE(S)
On loading the second .ECC file into the table of files to be treated, the pro-
gram checks that the list of energies for this file is exactly the same as the list
of the first file (no energy tolerance is used).
731
LabSOCS/ISOCS Error Codes
1304 CAN NOT LOAD ECC FILE (SEE ROW MARKED BY RED)
Usually this situation happens while loading the file containing the list of ECC
files. If one (or more) of .ECCfiles was erased (or moved) from the preset lo-
cation, the list will contain an invalid file. The program detects this situation
and marks the invalid file in red in the table with the input list.
1310 TOO LONG PARAMETER IN THE INPUT ECC LINE. THE INVALID
PARAMETER IS SHOWN ON THE FOLLOWING LINE
The message is generated while reading input .ECC files. The program found
that the argument is too long. The argument is detector name, template name,
filename, geometry name.
An error message may contain the symbols “%1” or “%2”. These are substitution fields,
and will be replaced by a specific value when the error message is generated. Usually the
fields are intended to print the number of layer (source) where a problem was detected to
provide a clearer indication of the error.
Note: Some error messages are typical and are repeated in many templates. Please re-
fer to the first appearance of the message for an additional explanation.
732
ISOCS Template-Dependent Errors
Template
and
Error Message Comment
Error
Number
igt_1 CIRCULAR_PLANE
200 No radioactive layer is found. Set Rel.Conc. is not set for a layer (2-11)
up Rel.Conc. for radioactive layer which may be radioactive (has
RelConc field)
201 Please select material for walls Wall dimension (1.1) is selected, but
not the material
202 Material for walls is selected, Material is selected, but wall
Please set dimension dimension (1.1) is not
203 Layer is marked as radioactive, RelConc > 0 , but layer thickness is
set up its dimension or reset 0
Rel.Conc. value
204 Radioactive layer is defined. Dimension of layer and its RelConc.
Select material for it are defined, but a material is not
selected.
205 Please select material for Dimension 12.1 > 0, but material is
Absorber1 (its dimension was set) ‘none’
206 Please select material for Dimension 13.1 > 0, but material is
Absorber2 (its dimension was set) ‘none’
207 Material for Absorber is set. Set Material specified, but dimension
up its thickness or replace 12.1 and/or 13.1 is zero
material with ‘none’ if Absorber is
really absent
208 Non radioactive layer is defined. The layer is considered as
Select material for it nonradioactive since its RelConc= 0,
but its Material OR dimension is set
209 Non radioactive layer is defined. Warning message
This layer (line %1) will be
considered as absorber, not
source
igt_2 Complex_Box
200 No radioactive layer/source is Rel.Conc. is not set (2…6)
found. Set up Rel.Conc. for
radioactive layer
201 Please select material for walls The wall thickness is given, but not
its material
202 Material for walls is selected, The wall material is given, but not its
Please set dimension thickness
733
LabSOCS/ISOCS Error Codes
Template
and
Error Message Comment
Error
Number
203 Layer is marked as radioactive,
set up its dimension or reset
Rel.Conc. value
204 Radioactive layer is defined.
Select material for it
205 Please select material for
Absorber1 (its dimension was set)
206 Please select material for
Absorber2 (its dimension was set)
207 Material for Absorber is set. Set
up its thickness or replace
material with ‘none’ if Absorber is
really absent
208 Non radioactive layer is defined.
Select material for it
209 Non-radioactive layer is defined.
This layer (line %1) will be
considered as absorber, not
source
210 Concentrated Source is set. Dimension 6.1, 6.2 or 6.3 is zero
Define all its dimensions: 6.1, 6.2,
6.3
211 Concentrated Source is set. All dimensions (6.1, 6.2, 6.3) are set,
Select material for it but the material is not specified
igt_3 SIMPLE_BOX
200 No radioactive layer is found. Set
up Rel.Conc. for radioactive layer
201 Please select material for walls The wall thickness is given, but not
the material
202 Material for container is selected, The wall material is given, but not its
Please set dimension thickness
203 Layer is marked as radioactive,
set up its dimension or reset
Rel.Conc. value
204 Radioactive layer is defined.
Select material for it
205 Please select material for
Absorber1 (its dimension was set)
734
ISOCS Template-Dependent Errors
Template
and
Error Message Comment
Error
Number
206 Please select material for
Absorber2 (its dimension was set)
207 Material for Absorber is set. Set
up its thickness or replace
material with ‘none’ if Absorber is
really absent
208 Non radioactive layer is defined.
Select material for it
209 Non radioactive layer is defined.
This layer (line %1) will be
considered as absorber, not
source
211 Layer(s) does not fit container:
2.1+ 3.1 > 1.3
igt_4 RECTANGULAR_PLANE
200 No radioactive layer is found. Set
up Rel.Conc. for radioactive layer
201 Please select material for walls The wall thickness is given, but not
the material
202 Material for walls is selected, The wall material is given, but not its
Please set dimension thickness
203 Layer is marked as radioactive,
set up its dimension or reset
Rel.Conc. value
204 Radioactive layer is defined.
Select material for it
205 Please select material for
Absorber1 (its dimension was set)
206 Please select material for
Absorber2 (its dimension was set)
207 Material for Absorber is set. Set
up its thickness or replace
material with ‘none’ if Absorber is
really absent
208 Non radioactive layer is defined.
Select material for it
735
LabSOCS/ISOCS Error Codes
Template
and
Error Message Comment
Error
Number
209 Non radioactive layer is defined.
This layer (line %1) will be
considered as absorber, not
source
igt_5 COMPLEX_CYLINDER
200 No radioactive layer/source is
found. Set up Rel.Conc. for
radioactive layer
201 Please select material for walls The wall thickness is given, but not
the material
202 Material for walls is selected, The wall material is given, but not its
Please set dimension thickness
203 Layer is marked as radioactive,
set up its dimension or reset
Rel.Conc. value
204 Radioactive layer is defined.
Select material for it
205 Please select material for
Absorber1 (its dimension was set)
206 Please select material for
Absorber2 (its dimension was set)
207 Material for Absorber is set. Set
up its thickness or replace
material with ‘none’ if Absorber is
really absent
208 Non radioactive layer is defined.
Select material for it
209 Non radioactive layer is defined.
This layer (line %1) will be
considered as absorber, not
source
210 Spherical Source is set. Define its Rel.Conc for hotspot > 0, but
dimensions dimension 2.1 is 0
211 Spherical Source is set. Select (2.1 > 0) AND (Rel.Conc.2 > 0), but
material for it material is not defined
igt_6 SIMPLE_CYLINDER
200 No radioactive layer is found. Set
up Rel.Conc. for radioactive layer
736
ISOCS Template-Dependent Errors
Template
and
Error Message Comment
Error
Number
201 Please select material for walls The wall thickness is given, but not
the material
202 Material for container is selected, The wall material is given, but not its
Please set dimension thickness
203 Layer is marked as radioactive,
set up its dimension or reset
Rel.Conc. value
204 Radioactive layer is defined.
Select material for it
205 Please select material for
Absorber1 (its dimension was set)
206 Please select material for
Absorber2 (its dimension was set)
207 Material for Absorber is set. Set
up its thickness or replace
material with ‘none’ if Absorber is
really absent
208 Non radioactive layer is defined.
Select material for it
209 Non radioactive layer is defined.
This layer (line %1) will be
considered as absorber, not
source
211 Layer(s) does not fit container:
2.1+ 3.1 > 1.3
igt_7 SPHERE
200 No radioactive source is found.
Set up Rel.Conc. for a radioactive
source
201 Please select material for shell The wall thickness is given, but not
the material
202 Material for shell is selected, The wall material is given, but not its
Please set dimension thickness
203 Source Shell is marked as
radioactive, set up its dimension
204 Source Shell is defined. Select
material for it.
737
LabSOCS/ISOCS Error Codes
Template
and
Error Message Comment
Error
Number
205 Please select material for
Absorber1 (its dimension was set)
206 Please select material for
Absorber2 (its dimension was set)
207 Material for Absorber is set. Set
up its thickness or replace
material with ‘none’ if Absorber is
really absent
208 Non radioactive Source-shell is Dimension 2.1 > 0 AND (Rel.Conc.2
defined. Select material for it. > 0), but material is not defined for
source shell
209 Non radioactive Source-shell is
defined. This layer (line %1) will
be considered as absorber, not
source.
211 Thickness(es) of Shell and Source
Shell does not fit shell diameter:
1.1*2+ 2.1*2 > 1.2
213 Non radioactive Source-shell is Dimension 2.1 > 0, but material is
defined. Set its dimension not set for source shell
igt_8 WELL_or_MARINELLI_BEAKER
200 Bottom slot of Marinelli beaker Dimension 1.2 < end cap diameter
does not fit detector. Look at the
‘Endcap INFO’ frame on the dialog
panel
201 Please select material for Dimension 1.1 > 0, but material is
Liner-Side ‘none’
202 Material for Liner-Side is selected, Material is selected, but dimension is
Please set dimension not set
203 Please set up length of bottom Dimension 1.3 is 0
part
204 Please select material for Dimension 2.1 > 0, but material is
Liner-End ‘none’
205 Material for Liner-End is selected, Material is selected, but dimension
Please set dimension 2.1 is 0
206 No radioactive layer is found. Set RelConc for both source layers is 0
up Rel.Conc. for radioactive layer.
738
ISOCS Template-Dependent Errors
Template
and
Error Message Comment
Error
Number
207 Layer is marked as radioactive, If the RelConc for a source layer (3
set up its dimension or reset or 4) is non-zero, its thickness (3.1
Rel.Conc. value or 4.1) must be non-zero too
208 Radioactive layer is defined. Select a material for source (3 or 4)
Select material for it. matrix
igt_9 PIPE
200 No radioactive source is found.
Set up Rel.Conc. for radioactive
source."
201 Please select material for pipe The wall thickness is given, but not
the material
202 Material for container is selected, The wall material is given, but not its
Please set wall thickness thickness
203 Layer is marked as radioactive,
set up its dimension or reset
Rel.Conc. value
204 Radioactive layer is defined.
Select material for it
205 Please select material for
Absorber1 (its dimension was set)
206 Please select material for
Absorber2 (its dimension was set)
207 Material for Absorber is set. Set
up its thickness or replace
material with ‘none’ if Absorber is
really absent
208 Non radioactive layer is defined.
Select material for it
209 Non radioactive layer is defined.
This layer (line %1) will be
considered as absorber, not
source
210 Source %1 is set. Define its
dimensions: %2.(2-3)
211 Source(s) does not fit pipe: 2.1*2
+ 3.1 > 1.2
igt_10 SPECIAL_SPHERE
739
LabSOCS/ISOCS Error Codes
Template
and
Error Message Comment
Error
Number
200 No radioactive layer is found. Set
up Rel.Conc. for radioactive layer
201 Please select material for walls The wall thickness is given, but not
the material
202 Material for walls is selected, The wall material is given, but not its
Please set dimension thickness
203 Layer is marked as radioactive,
set up its dimension or reset
Rel.Conc. value
204 Radioactive layer is defined.
Select material for it
205 Please select material for
Absorber1 (its dimension was set)
206 Please select material for
Absorber2 (its dimension was set)
207 Material for Absorber is set. Set
up its thickness or replace
material with ‘none’ if Absorber is
really absent
208 Non radioactive shell is defined.
Select material for it
209 Non radioactive shell(s) is defined.
This shell (line %1) will be
considered as absorber, not
source
211 Source Core is set. Select Material.3=‘none’
material for it
212 Select material for container Material.2=‘none’
213 Non radioactive shell is defined. Material for a shell was assigned,
Set its dimension but its dimension (x.1) is missing
igt_11 EXPONENT_CIRCULAR_PLANE
200 Ao value is out of the (0-1) limit
201 Please select material for walls The wall thickness is given, but not
the material
202 Material for walls is selected, The wall material is given, but not its
Please set dimension thickness
740
ISOCS Template-Dependent Errors
Template
and
Error Message Comment
Error
Number
204 Please select material for
Source-Layer
205 Please select material for
Absorber1 (its dimension was set)
206 Please select material for
Absorber2 (its dimension was set)
207 Material for Absorber is set. Set
up its thickness or replace
material with ‘none’ if Absorber is
really absent
208 Check line %1 (set dimension A component (dimension or material)
should be completed with material is missing from one of the layers
and vice versa) (1-3)
209 Please check parameters. (5.1+
5.2) can not exceed 5.1
igt_12 BEAKER
200 No radioactive layer is found. Set
up Rel.Conc. for radioactive
layer."
201 Please select material for walls The wall thickness is given, but not
the material
202 Material for container is selected, The wall material is given, but not its
Please set dimension thickness
203 Layer is marked as radioactive,
set up its dimension or n reset
Rel.Conc. value
204 Radioactive layer is defined.
Select material for it.
205 Please select material for
Absorber1 (its dimension was set)
206 Please select material for
Absorber2 (its dimension was set)
207 Material for Absorber is set. Set
up its thickness or replace
material with ‘none’ if Absorber is
really absent
208 Non radioactive layer is defined.
Select material for it.
741
LabSOCS/ISOCS Error Codes
Template
and
Error Message Comment
Error
Number
209 Non radioactive layer is defined.
This layer (line %1) will be
considered as absorber, not
source
211 Layer(s) does not fit container:
2.1+ 3.1 > 1.3
igt_13 ROUND_TUBE
200 Please select material for walls The wall thickness is given, but not
the material
201 Material for walls is selected, The wall material is given, but not its
Please set dimension thickness
202 Invalid angle. The valid range is:
–360 ≤ Angle ≤ 360)
203 Angle 2.3 must be less than 2.4
(–360 ≤ Angle ≤ 360)
204 Angle 3.3 must be less than 3.4
(–360 ≤ Angle ≤ 360)
205 Please select material for
Absorber1 (its dimension was set)
206 Please select material for
Absorber2 (its dimension was set)
207 Please set up source
concentration
208 No Source is pointed (insert data
2.2 or 3.2)
209 The contamination length exceed Dimension 3.2 dimension 1.3
the tube length (1.3)
210 Material for Absorber is set. Set
up its thickness or replace
material with ‘none’ if Absorber is
really absent
igt_14 U_CHANNEL
200 Please select material for walls The wall thickness is given, but not
the material
201 Material for walls is selected, The wall material is given, but not its
Please set dimension thickness
742
ISOCS Template-Dependent Errors
Template
and
Error Message Comment
Error
Number
202 Please select material for
Absorber1 (its dimension was set)
203 Please select material for
Absorber2 (its dimension was set)
204 Please set Orientation as 1 or 2 or
3 or 4
205 The Surface source length If(x.2 > 1.1), where x= 2-7
exceeds the object length (1.1)
206 Dimension x.1 must be less than
x.2 (x=2-7)
209 No radioactive surface is found
210 Set dimension(s) for radioactive
source
211 Material for Absorber is set. Set
up its thickness or replace
material with ‘none’ if Absorber is
really absent
igt_15 L_BEAM
200 Please select material for walls The wall thickness is given, but not
the material
201 Material for walls is selected, The wall material is given, but not its
Please set dimension thickness
202 Please select material for
Absorber1 (its dimension was set)
203 Please select material for
Absorber2 (its dimension was set)
204 Please set Orientation as 1 or 2 or
3 or 4
205 The Surface source length
exceeds the object length (1.1)
206 Dimension x.1 must be less than
x.2 (x= 2-5)
209 No radioactive surface is found
210 Set dimension(s) for radioactive
source
743
LabSOCS/ISOCS Error Codes
Template
and
Error Message Comment
Error
Number
211 Material for Absorber is set. Set
up its thickness or replace
material with ‘none’ if Absorber is
really absent
igt_16 H_BEAM
200 Material for walls is selected, The wall material is set but the
Please set dimension dimension is not given
201 Invalid volume: upper part of
beaker is not filled The data in line
4 will be reset Input correct values
202 Please select material for
Absorber1 (its dimension was set)
203 Please select material for
Absorber2 (its dimension was set)
204 Please set Orientation as 1 or 2
205 The Surface source length
exceeds the object length (1.1)
206 Dimension x.1 must be less than
x.2 (x=2-7)
209 No radioactive surface is found
210 Set dimension(s) for radioactive
source
211 Material for Absorber is set. Set
up its thickness or replace
material with ‘none’ if Absorber is
really absent
igt_17 RECTANGULAR_TUBE
200 Please select material for walls The wall thickness is given, but not
the material
201 Material for walls is selected, The wall material is given, but not its
Please set dimension thickness
202 Please select material for
Absorber1 (its dimension was set)
203 Please select material for
Absorber2 (its dimension was set
205 The Surface source length
exceeds the object length (1.2)
744
ISOCS Template-Dependent Errors
Template
and
Error Message Comment
Error
Number
206 Dimension x.1 must be less than
x.2 (x = 2–9)
209 No radioactive surface is found
210 Set dimension(s) for radioactive
source
211 Material for Absorber is set. Set
up its thickness or replace
material with ‘none’ if Absorber is
really absent
igt_18 ROOM
200 No radioactive surface is found RelConc is zero for all surfaces
(2–7)
igt_19 TANK
200 Please select material for side The wall thickness is given, but not
wall the material
201 Material for side wall is selected, The wall material is given, but not its
Please set dimension thickness
202 Please select material for ends Material.2 is not selected
walls
203 Material for ends walls is selected, Material.2 is selected AND 2.1=0
Please set dimension
204 Please select material for
Absorber1 (its dimension was set)
205 Please select material for
Absorber2 (its dimension was set)
206 Please set Orientation as 1 or 2
207 No radioactive source found RelConc.3= 0
210 Set dimension for radioactive Dimension 3.1 is 0
source
211 Material for Absorber is set. Set
up its thickness or replace
material with ‘none’ if Absorber is
really absent
igt_20 CONE
200 Please select material for side The wall thickness is given, but not
wall the material
745
LabSOCS/ISOCS Error Codes
Template
and
Error Message Comment
Error
Number
201 Material for side wall is selected, The wall material is given, but not its
Please set dimension thickness
202 Please select material for ends
walls
203 Material for ends walls is selected,
Please set dimension
204 Please select material for
Absorber1 (its dimension was set)
205 Please select material for
Absorber2 (its dimension was set)
206 At least one dimension from 1.2,
1.3 must be set
207 Source is out of the cone
container: 1.4 < 3.1 Check the
source height
208 No radioactive source found
210 Set dimension for radioactive Dimension 3.1 is 0
source
211 Material for Absorber is set. Set
up its thickness or replace
material with ‘none’ if Absorber is
really absent
Template
and
Error Message Comment
Error
Number
Lgt_101 CYLINDER_DISK_AND_POINT
200 Not enough room between source Dimension (5.1+ 4.1) > 6.1
and detector to put Absorber(s)
746
LabSOCS Template-Dependent Errors
Template
and
Error Message Comment
Error
Number
205 Please select material for
Absorber1 (its dimension was set)
206 Please select material for
Absorber2 (its dimension was set)
207 Material for Absorber is set. Set up
its thickness or replace material
with ‘none’ if Absorber is really
absent
Lgt_104 SIMPLIFIED_BOX
200 Not enough room between source Dimension (5.1+ 4.1) > 6.1
and detector to put Absorber(s)
201 Please indicate thickness of side The material is given, but not the
walls side wall thickness
202 Please select material of side walls The side wall thickness is bottom
wall is given, but not the material
203 Please indicate thickness of bottom The bottom wall material is given,
wall but not the thickness
204 Please select material of bottom The bottom wall thickness is given,
wall but not the material
205 Please select material for
Absorber1 (its dimension was set)
206 Please select material for
Absorber2 (its dimension was set)
207 Material for Absorber is set. Set up
its thickness or replace material
with ‘none’ if Absorber is really
absent
Lgt_106 CYLINDER_FROM_SIDE
200 Not enough room for Absorber(s) Dimension 5.1< (3.1+ 4.1)
201 Invalid volume. If you wish to It is assumed that cylinder is fully
change sample volume, correct the filled. This assumption may not be
dimensions fulfilled if the dimensions are set
and user tries to change volume
202 Please select material for the Thickness of the container is given,
container but the material is not.
203 Please indicate thickness of Container material given, but not
container walls the thickness.
205 Please select material for
Absorber1 (its dimension was set)
747
LabSOCS/ISOCS Error Codes
Template
and
Error Message Comment
Error
Number
206 Please select material for
Absorber2 (its dimension was set)
207 Material for Absorber is set. Set up
its thickness or replace material
with ‘none’ if Absorber is really
absent
Lgt_107 SIMPLIFIED_SPHERE
200 Not enough room for Absorber(s) Dimension 5.1< (3.1+ 4.1)
201 Please select material for container The thickness of container is given,
but not the material.
202 Please indicate thickness of The container wall material is
container wall given, but not the thickness.
205 Please select material for
Absorber1 (its dimension was set)
206 Please select material for
Absorber2 (its dimension was set)
207 Material for Absorber is set. Set up
its thickness or replace material
with ‘none’ if Absorber is really
absent
Lgt_108 SIMPLIFIED_MARINELLI_BEAKER
200 Detector does not fit into Marinelli
beaker well. See the ‘Endcap INFO’
frame on the dialog panel
202 Sample is below detector plane The sample must completely
occupy the well portion of the
Marinelli beaker. The error
indicates that the sample level is
below the detector end-cap plane.
203 Invalid data: only positive data are This error message may appear
permitted while testing the dimensions matrix
205 Invalid data for detector well: 3.1 3.1> (2.1+4*1.1)
must be greater than 2.1+4*1.1
206 Container diameter must be greater
then detector diameter
207 Please select a material for the
container
Lgt_112 SIMPLIFIED_BEAKER
200 Please select material for beaker The beaker wall thickness is given,
walls but not the material
748
LabSOCS Template-Dependent Errors
Template
and
Error Message Comment
Error
Number
201 Sample volume too large to fit into
beaker
202 Not enough room for the sample. Dimension 2.1 > 1.4
205 Please select material for
Absorber1 (its dimension was set)
206 Please select material for
Absorber2 (its dimension was set)
207 Material for Absorber is set. Set up
its thickness or replace material
with ‘none’ if Absorber is really
absent
LGT_12 GENERAL_PURPOSE_BEAKER
200 Please select a wall material The beaker wall thickness is given,
but not the material
201 “Please indicate the height of at
least one of layers: 2.1 or 3.1
205 Please select material for
Absorber1 (its dimension was set)
206 Please select material for
Absorber2 (its dimension was set)
207 Material for Absorber is set. Set up
its thickness or replace material
with ‘none’ if Absorber is really
absent
Lgt_8 GENERAL_PURPOSE_MARINELLI_BEAKER
200 Detector does not fit into Marinelli
beaker well. See the ‘Endcap INFO’
frame on the dialog panel
201 Parameters 3.1 and 4.1 must be set Not currently used
in the current context
749
Index
A B
Absorption measurement, CAM file . . . . . . 623 Block
Acquisition Copying a. . . . . . . . . . . . . . . . . . . . . . . . . 87, 179
Aborting a . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 Creating a. . . . . . . . . . . . . . . . . . . . . . 65, 86, 179
Error codes. . . . . . . . . . . . . . . . . . . . . . . . . . . 673 Deleting a. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Parameters, CAM file . . . . . . . . . . . . . . . . . . 481 Reading a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Pausing an . . . . . . . . . . . . . . . . . . . . . . . 134, 233 Writing a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Retrieving neutron measurements . . . . . . . . . 137 Boot parameters
Retrieving spectral measurements . . . . . . . . . 136 Setting or getting . . . . . . . . . . . . . . . . . . . . . . 144
Starting an . . . . . . . . . . . . . . . . . . . . . . . 133, 231
Stopping an . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Storing a measurement. . . . . . . . . . . . . . . . . . 226 C
Acquistion preset . . . . . . . . . . . . . . . . . 50 Calibration
Activating CAM file parameters . . . . . . . . . . . . . . . . . . . 549
Auto-scale during acquisition . . . . . . . . . . . . 260 Calibration files, opening . . . . . . . . . . . . 421
Expand mode . . . . . . . . . . . . . . . . . . . . . . . . . 257 Calibration information, storing . . . . . . . . 352
Linear y-axis scale . . . . . . . . . . . . . . . . . . . . . 267 Calibrations
Spectral plot ROI filling . . . . . . . . . . . . . . . . 269 Efficiency. . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Zoom mode . . . . . . . . . . . . . . . . . . . . . . . . . . 258 Energy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Activity correction error codes . . . . . . . . . 674 Fwhm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
ADC control properties . . . . . . . . . . . . . 158 Low energy tail . . . . . . . . . . . . . . . . . . . . . . . 106
Add a source parameters, CAM file . . . . . . 640 Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Add-a-source . . . . . . . . . . . . . . . . . . 123 CAM
Adding Accessing a group of parameters . . . . . . . . . . 253
A data point . . . . . . . . . . . . . . . . . . . . . . . . . . 348 Accessing parameters . . . . . . . . . . . . . . . . . . 252
An ROI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 ASCII Date/time conversion . . . . . . . . . . . . . . 70
Efficiency calibration record . . . . . . . . . . . . . 349 C Date/time conversion . . . . . . . . . . . . . . . . . . 69
Multiple models to plot . . . . . . . . . . . . . . . . . 292 Copy classes of data. . . . . . . . . . . . . . . . . . . . . 57
Adding an MCA . . . . . . . . . . . . . . . . 457 Copy records . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Adjust control Current date/time conversion. . . . . . . . . . . . . . 68
Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Amplifier control properties . . . . . . . . . . 157 Data class structure . . . . . . . . . . . . . . . . . . . . . 24
Analysis Datasources . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Control, CAM file.. . . . . . . . . . . . . . . . . . . . . 573 Delete a record . . . . . . . . . . . . . . . . . . . . . . . . . 55
Module error codes . . . . . . . . . . . . . . . . . . . . 671 Information, retrieving. . . . . . . . . . . . . . . . . . . 39
Analysis editor Insert a record . . . . . . . . . . . . . . . . . . . . . . . . . 53
Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Analysis engine Read an array of values . . . . . . . . . . . . . . . . . . 43
Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Read a list of values . . . . . . . . . . . . . . . . . . . . . 46
Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Read a set of CAM parameters . . . . . . . . . . . . 48
Analyzing a datasource . . . . . . . . . . . . . 432 Return number of records . . . . . . . . . . . . . . . . 52
Architecture, software . . . . . . . . . . . . . . 23 Search for records . . . . . . . . . . . . . . . . . . . . . . 58
Area correction Write a list of values . . . . . . . . . . . . . . . . . . . . 47
Error codes. . . . . . . . . . . . . . . . . . . . . . . . . . . 674 Write a set of CAM parameters . . . . . . . . . . . . 49
Array Write an array of values. . . . . . . . . . . . . . . . . . 44
CAM values, read . . . . . . . . . . . . . . . . . . . . . . 43 CAM Datasource
CAM values, write. . . . . . . . . . . . . . . . . . . . . . 42 Component. . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Assign a device to the control. . . . . . . . . . 426 Data types . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Attenuation correction, CAM file. . . . . . . . 622 Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
751
CAM Dialog Safeguards . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
Data types . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 Sample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418 Scanning WBC setup . . . . . . . . . . . . . . . . . . . 572
CAM file Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
Basic unit of configuration . . . . . . . . . . . . . . 475 Shape calibration . . . . . . . . . . . . . . . . . . . . . . 550
Classes of information . . . . . . . . . . . . . . . . . . 474 Special uses . . . . . . . . . . . . . . . . . . . . . . . . . . 634
Contents of. . . . . . . . . . . . . . . . . . . . . . . . . . . 474 Certificate files, opening . . . . . . . . . . . . 422
Drag/drop to display . . . . . . . . . . . . . . . . . . . 255 Certificate parameters, CAM file . . . . . . . . 548
Error codes. . . . . . . . . . . . . . . . . . . . . . . . . . . 669 Changing
Parameter array access. . . . . . . . . . . . . . . . . . . 97 Density display units . . . . . . . . . . . . . . . . . . . 368
Parameter code format . . . . . . . . . . . . . . . . . . 480 Energy display units . . . . . . . . . . . . . . . 368, 390
Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475 Number of y-axis tick marks . . . . . . . . . 262, 323
Removing changes. . . . . . . . . . . . . . . . . . . . . . 86 plot axis labels . . . . . . . . . . . . . . . . . . . . . . . . 245
Saving changes . . . . . . . . . . . . . . . . . . . . . . . . 91 Plot limits. . . . . . . . . . . . . . . . . . . . 298, 367, 407
Single parameter array . . . . . . . . . . . . . . . . . . . 98 Plot point size . . . . . . . . . . . . . . . . . . . . . . . . 271
Spectral data access . . . . . . . . . . . . . . . . . . . . . 99 Plotting limits. . . . . . . . . . . . . . . . . . . . . . . . . 240
CAM file parameters The type of display . . . . . . . . . . . . . . . . . . . . 270
Absorption Measurement. . . . . . . . . . . . . . . . 623 Checking for busy. . . . . . . . . . . . . . . . 428
Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Clearing the view . . . . . . . . . . . . . . . . 437
Acquisition. . . . . . . . . . . . . . . . . . . . . . . . . . . 481 Clipboard, copying data/graphics to . . . . 241, 299
Add a source . . . . . . . . . . . . . . . . . . . . . . . . . 640 Closing
Analysis control . . . . . . . . . . . . . . . . . . . . . . . 573 A datasource . . . . . . 36, 226, 347, 365, 386, 404
Attentuation correction . . . . . . . . . . . . . . . . . 622 A device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . 549 Coincidence rate
Certificate . . . . . . . . . . . . . . . . . . . . . . . . . . . 548 Determining if being displayed . . . . . . . . . . . 272
Configuration . . . . . . . . . . . . . . . . . . . . . . . . . 479 Number of standard Deviations . . . . . . . . . . . 274
Deleting a record . . . . . . . . . . . . . . . . . . . . . . . 89 Components
Deleting an entry . . . . . . . . . . . . . . . . . . . . . . . 90 CAM Datasource . . . . . . . . . . . . . . . . . . . . . . 162
Determining number of entries . . . . . . . . . . . 101 DataAccess . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Determining number of records . . . . . . . . . . . 100 DeviceAccess. . . . . . . . . . . . . . . . . . . . . . . . . 126
Display. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538 Efficiency Calibration Control (Phase I) . . . . 344
Find a record . . . . . . . . . . . . . . . . . . . . . . . . . 180 Efficiency Calibration Control (Phase II) . . . 362
Finding a record . . . . . . . . . . . . . . . . . . . . . . . . 90 Energy Calibration Control (Phase I) . . . . . . 383
Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510 Energy Calibration Control (Phase II) . . . . . . 402
Inserting a record . . . . . . . . . . . . . . . . . . . . . . . 88 Interactive Data Fit Control . . . . . . . . . . . . . . 280
Inserting an entry . . . . . . . . . . . . . . . . . . . . . . . 88 MVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Interfering nuclide list . . . . . . . . . . . . . . . . . . 569 Configuration database, runtime . . . . . . . . 470
Interfering nuclide results . . . . . . . . . . . . . . . 570 Configuration parameters, CAM file . . . . . . 479
K-edge analysis results . . . . . . . . . . . . . . . . . 637 Control commands, issuing . . . . . . . . . . . 56
K-edge calibration . . . . . . . . . . . . . . . . . . . . . 637 Convert
MCS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635 ASCII date/time to CAM format . . . . . . . . . . . 70
MGA results. . . . . . . . . . . . . . . . . . . . . . . . . . 587 C date/time to CAM format . . . . . . . . . . . . . . . 69
NAA run descriptor . . . . . . . . . . . . . . . . . . . . 570 Current date/time to CAM format . . . . . . . . . . 68
NaI standard file . . . . . . . . . . . . . . . . . . . . . . 571 Energy value to a channel . . . . . . . . . . . . 93, 142
Neutron acquisition and results . . . . . . . . . . . 592 Copy
Neutron declaration data . . . . . . . . . . . . . . . . 603 CAM records . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Neutron detector data. . . . . . . . . . . . . . . . . . . 606 Classes of CAM data . . . . . . . . . . . . . . . . . . . . 57
Neutron sample processing . . . . . . . . . . . . . . 616 Data into a Windows Application . . . . . . . . . 241
Neutron Sample-dependent data . . . . . . . . . . 607 Copying
Nuclide library . . . . . . . . . . . . . . . . . . . . . . . . 551 A parameter block . . . . . . . . . . . . . . . . . . 87, 179
Peak search results . . . . . . . . . . . . . . . . . . . . . 541 A record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . 514 All text to clipboard . . . . . . . . . . . . . . . . . . . . 438
QA parameter definition . . . . . . . . . . . . . . . . 583 Data into a Windows Application . . . . . . . . . 299
QA results . . . . . . . . . . . . . . . . . . . . . . . . . . . 585 Selected text to clipboard. . . . . . . . . . . . . . . . 438
752
Copying a record . . . . . . . . . . . . . . . . 145 Open a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
A record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Opening a. . 33, 84, 176, 346, 364, 385, 404, 418
Create a Retrieiving current datasource . . . . . . . . . . . . 248
block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Returning a name . . . . . . . . . . . . . . . . . . . . . . 249
File datasource . . . . . . . . . . . . . . . . . . . . . . . . . 36 Returning a type. . . . . . . . . . . . . . . . . . . . . . . 250
Local VDM connection . . . . . . . . . . . . . . . . . . 68 Saving a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Special VDM connection. . . . . . . . . . . . . . . . . 28 Storing changes to . . . . . . . . . . . . . . . . . . . . . 370
Standard VDM connection . . . . . . . . . . . . . . . 29 Datasources
Creating Determining number of . . . . . . . . . . . . . . . . . 250
A new sequence . . . . . . . . . . . . . . . . . . . . . . . 435 Retrieving a list . . . . . . . . . . . . . . . . . . . . . . . 251
A parameter block . . . . . . . . . . . . . . . . . . 86, 179 Date/time conversion
Current database, viewing the . . . . . . . . . 471 ASCII. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
D Defining
Data an MCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
CAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Defining annotation color
Read spectral . . . . . . . . . . . . . . . . . . . . . . . . . . 39 For a nuclide energy line . . . . . . . . . . . . . . . . 256
Write spectral. . . . . . . . . . . . . . . . . . . . . . . . . . 40 For a nuclide key line . . . . . . . . . . . . . . . . . . 256
Data display Delete a
Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 VDM connection . . . . . . . . . . . . . . . . . . . . . . . 30
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Deleting
Data points, displaying . . . . . . . . . . . . . 268 A parameter block . . . . . . . . . . . . . . . . . . . . . . 87
Data types A record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
CAM Datasource . . . . . . . . . . . . . . . . . . . . . . 162 All ROIs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
CAM Dialog . . . . . . . . . . . . . . . . . . . . . . . . . 417 An entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
DataAccess . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 An ROI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
DevicesAccess . . . . . . . . . . . . . . . . . . . . . . . . 126 Deleting an MCA . . . . . . . . . . . . . . . . 459
Efficiency Calibration Control (Phase II) . . . 362 Density display units, changing. . . . . . . . . 368
Energy Calibration Control (Phase II) . . . . . . 403 Detecting user changes . . . . . . . . . . . . . 435
DataAccess Determine
Component. . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 A datasource name. . . . . . . . . . . . . . . . . . . . . 249
Data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 A datasource type . . . . . . . . . . . . . . . . . . . . . 250
Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 An open file . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Analyzer status. . . . . . . . . . . . . . . . . . . . . . . . 150
Database Analyzer type. . . . . . . . . . . . . . . . . . . . . . . . . 151
Loading a definition to. . . . . . . . . . . . . . . . . . 471 If a file exist . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Viewing the current . . . . . . . . . . . . . . . . . . . . 471 If coincidence histograms are being displayed
Datasource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Analyzing. . . . . . . . . . . . . . . . . . . . . . . . . . . . 432 If connected to a device . . . . . . . . . . . . . . . . . 152
CAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 If modified datasource . . . . . . . . . . 103, 154, 251
Close a . . . . . . . . . . . . . . . . . . . . . . . . . . . 36, 226 If multiplicity data is being displayed . . . . . . 273
Close all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 If scalar data is being displayed . . . . . . . . . . . 273
Closing a . . . . . . . . . 85, 177, 347, 365, 386, 404 Number of datasources . . . . . . . . . . . . . . . . . 250
Determining if a source is loaded . . . . . . . . . 228 Number of entries . . . . . . . . . . . . . . . . . . . . . 101
Determining if modified . . . . . . . . 103, 154, 251 Number of records . . . . . . . . . . . . . . . . . . . . . 100
Displaying a specific source . . . . . . . . . . . . . 227 The file name . . . . . . . . . . . . . . . . . . . . . . . . . 100
Displaying next . . . . . . . . . . . . . . . . . . . . . . . 227 Development tools . . . . . . . . . . . . . . . 667
Displaying previous . . . . . . . . . . . . . . . . . . . . 228 Device setup . . . . . . . . . . . . . . . . . . 460
Editing a sequence . . . . . . . . . . . . . . . . . . . . . 435 DeviceAccess
Error codes. . . . . . . . . . . . . . . . . . . . . . . . . . . 688 Component. . . . . . . . . . . . . . . . . . . . . . . . . . . 126
File, create a. . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Data types . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Information, retrieving. . . . . . . . . . . . . . . . . . . 61 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
753
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Efficiency calibration error codes. . . . . . . . 673
Display Energy
A specific source . . . . . . . . . . . . . . . . . . . . . . 227 Calibration error codes. . . . . . . . . . . . . . . . . . 673
Coincidence rates. . . . . . . . . . . . . . . . . . . . . . 236 Energy Calibration Control (Phase I)
Coincidence rates in a spreadsheet . . . . . . . . 275 Component. . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Compressed spectral data. . . . . . . . . . . . . . . . 269 Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Data points . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Histograms. . . . . . . . . . . . . . . . . . . . . . . . . . . 244 Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Identified nuclides and peak area results . . . . 266 Energy Calibration Control (Phase II)
Identified nuclides as annotation lines . . . . . . 267 Component. . . . . . . . . . . . . . . . . . . . . . . . . . . 402
Input device status . . . . . . . . . . . . . . . . . . . . . 265 Data types . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Neutron coincidence statistics . . . . . . . . . . . . 265 Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
Next ROI . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Plot grid lines . . . . . . . . . . . . . . . . . . . . . 261, 323 Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Previous ROI . . . . . . . . . . . . . . . . . . . . . . . . . 237 Energy display units, changing. . . . 352, 368, 390
Print dialog. . . . . . . . . . . . . . . 241, 300, 390, 407 Enumerate VDMs . . . . . . . . . . . . . . . . 31
Refresh rate . . . . . . . . . . . . . . . . . . . . . . . . . . 260 Environment
ROI computations . . . . . . . . . . . . . . . . . . . . . 265 Development tools . . . . . . . . . . . . . . . . . . . . . 667
Scalar bank data . . . . . . . . . . . . . . . . . . . . . . . 244 Error codes
Spectral data values . . . . . . . . . . . . . . . . . . . . 266 Acquisition. . . . . . . . . . . . . . . . . . . . . . . . . . . 673
Spectral plot borders . . . . . . . . . . . . . . . . . . . 262 Activity correction . . . . . . . . . . . . . . . . . . . . . 674
Uncompressed spectral data. . . . . . . . . . . . . . 269 Analysis module . . . . . . . . . . . . . . . . . . . . . . 671
Display parameters, CAM file . . . . . . . . . 538 Area correction . . . . . . . . . . . . . . . . . . . . . . . 674
Display type, changing . . . . . . . . . . . . . 270 CAM files . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
DSA2000 MCA setup. . . . . . . . . . . . . . 460 Efficiency calibration. . . . . . . . . . . . . . . . . . . 673
DSC information, retrieving . . . . . . . . . . . 38 Energy calibration . . . . . . . . . . . . . . . . . . . . . 673
Geometry composer. . . . . . . . . . . . . . . . . . . . 675
Input datasource. . . . . . . . . . . . . . . . . . . . . . . 688
E IPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670
Editing MID editor . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
An MCA Definition . . . . . . . . . . . . . . . . . . . . 469 Peak area analysis . . . . . . . . . . . . . . . . . . . . . 673
An MID Definition . . . . . . . . . . . . . . . . . . . . 469 Peak locate . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
An open sequence . . . . . . . . . . . . . . . . . . . . . 435 Report module . . . . . . . . . . . . . . . . . . . . . . . . 686
Creating a new sequence for . . . . . . . . . . . . . 435 VDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670
Efficiency calibration Error information, getting . . . . . . . . . . . . 31
Add a record . . . . . . . . . . . . . . . . . . . . . . . . . 349 Errors
Cross over energy . . . . . . . . . . . . . . . . . . . . . 112 general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694
Dual efficiency coefficients . . . . . . . . . . . . . . 109 geometry composer . . . . . . . . . . . . . . . . . . . . 723
Efficiency points . . . . . . . . . . . . . . . . . . . . . . 112 ISOCS multi-efficiency . . . . . . . . . . . . . . . . . 731
Empirical efficiency coefficients . . . . . . . . . . 111 ISOCS template dependent . . . . . . . . . . . . . . 732
Linear efficiency coefficients . . . . . . . . . . . . 110 LabSOCS template dependent . . . . . . . . . . . . 746
Merging records. . . . . . . . . . . . . . . . . . . . . . . 350 Errors, operational . . . . . . . . . . . . . . . 690
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Evaluating a point in spectroscopy calibration . . 92
Efficiency Calibration Control (Phase I) Events
Components . . . . . . . . . . . . . . . . . . . . . . . . . . 344 Data Display . . . . . . . . . . . . . . . . . . . . . . . . . 277
Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 Efficiency Calibration Control (Phase I) . . . . 358
Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 Efficiency Calibration Control (Phase II) . . . 378
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 Energy Calibration Control (Phase I) . . . . . . 399
Efficiency Calibration Control (Phase II) Energy Calibration Control (Phase II) . . . . . . 414
Components . . . . . . . . . . . . . . . . . . . . . . . . . . 362 Interactive Data Fit Control . . . . . . . . . . . . . . 332
Data types . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 Example
Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 Files, list of . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 Executing a report template . . . . . . . . . . . 440
754
Expand mode . . . . . . . . . . . . . . . . . . 257 Interactive Data Fit Control
ExportReport . . . . . . . . . . . . . . . . . . 444 Components . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
F Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
File Interface
Determining if it exists . . . . . . . . . . . . . . . . . . 94 Analysis engine . . . . . . . . . . . . . . . . . . . . . . . . 72
Determining if open . . . . . . . . . . . . . . . . . . . . 102 Setup screen . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Exporting data . . . . . . . . . . . . . . . . . . . . 242, 300 Interfering nuclide parameters, CAM file . . . 569
Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448 IPC error codes . . . . . . . . . . . . . . . . . 670
Retrieving the file name. . . . . . . . . . . . . . . . . 100 IsEnhanced . . . . . . . . . . . . . . . . . . . 444
Saving detector data. . . . . . . . . . . . . . . . . . . . 136 ISOCS
File datasource, create a . . . . . . . . . . . . . 36 multi-efficiency errors . . . . . . . . . . . . . . . . . . 731
Files template dependent errors . . . . . . . . . . . . . . . 732
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Issue control commands . . . . . . . . . . . . . 56
Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Programming library . . . . . . . . . . . . . . . . . . . . 26
Flag Parameters . . . . . . . . . . . . . . . . . 481 K
FWHM Calibrations . . . . . . . . . . . . . . 108 K-edge CAM file parameters
Analysis results . . . . . . . . . . . . . . . . . . . . . . . 637
Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
G
General errors . . . . . . . . . . . . . . . . . . 694
Genie-2000 software architecture . . . . . . . . 23 L
Geometry composer LabSOCS template dependent errors . . . . . . 746
errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723 Library files, list of . . . . . . . . . . . . . . . . 27
Geometry composer error codes . . . . . . . . 675 Load
Geometry parameters, CAM file . . . . . . . . 510 A database . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
Get error information. . . . . . . . . . . . . . . 31 A ROI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Multiple definitions . . . . . . . . . . . . . . . . . . . . 471
LoadTextEx . . . . . . . . . . . . . . . . . . . 444
H Local VDM connection, creating . . . . . . . . 68
Hiding
Information window . . . . . . . . . . . . . . . 264, 324
Plot grid lines . . . . . . . . . . . . . . . . . . . . . 261, 323 M
Status window . . . . . . . . . . . . . . . . . . . . 263, 324 MCA
High voltage Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463 Defining in the MID . . . . . . . . . . . . . . . . . . . 459
High voltage control properties . . . . . . . . . 156 Editing a definition . . . . . . . . . . . . . . . . . . . . 469
Runtime configuration database . . . . . . . . . . 470
Using an MID definition . . . . . . . . . . . . . . . . 455
I MCA input definition
ICB direct access support . . . . . . . . . . . . 62 MID Wizard. . . . . . . . . . . . . . . . . . . . . . . . . . 452
Individual parameters . . . . . . . . . . . . . . 481 MCA input definition, MID wizard. . . . . . . 451
Information, retrieving DSC . . . . . . . . . . . 38 MCS CAM file parameters . . . . . . . . . . . 635
Input Methods
Datasource errors . . . . . . . . . . . . . . . . . . . . . . 688 Adjust control . . . . . . . . . . . . . . . . . . . . . . . . 426
Input definition Analysis editor . . . . . . . . . . . . . . . . . . . . . . . . 434
Loading multiple . . . . . . . . . . . . . . . . . . . . . . 471 CAM Dialog . . . . . . . . . . . . . . . . . . . . . . . . . 418
Using . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 Data Display . . . . . . . . . . . . . . . . . . . . . . . . . 222
Input definition, printing . . . . . . . . . . . . 470 DataAccess . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Input settings . . . . . . . . . . . . . . . . . . 467 DeviceAccess. . . . . . . . . . . . . . . . . . . . . . . . . 127
Input, select a member of . . . . . . . . . . . . 56 Efficiency Calibration Control (Phase I) . . . . 345
Insert a record . . . . . . . . . . . . . . . . . . 53 Efficiency Calibration Control (Phase II) . . . 363
755
Energy Calibration Control (Phase I) . . . . . . 383 A sequence for editing . . . . . . . . . . . . . . . . . . 435
Energy Calibration Control (Phase II) . . . . . . 403 Operational errors . . . . . . . . . . . . . . . . 690
Interactive Data Fit Control . . . . . . . . . . . . . . 282
Reporter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
Reporter viewer . . . . . . . . . . . . . . . . . . . . . . . 437 P
Reporter viewer extension . . . . . . . . . . . . . . . 443 PaperView . . . . . . . . . . . . . . . . . . . 446
Sequence analyzer . . . . . . . . . . . . . . . . . . . . . 432 Parameter
MGA results, CAM file . . . . . . . . . . . . . 587 CAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
MID editor Value, CAM, read . . . . . . . . . . . . . . . . . . 41 - 42
MID wizard . . . . . . . . . . . . . . . . . . . . . . . . . . 452 Parameter Block
MID editor Copying a. . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
adding an MCA . . . . . . . . . . . . . . . . . . . . . . . 457 Parameter code, CAM file . . . . . . . . . . . 480
Basic concepts of . . . . . . . . . . . . . . . . . . . . . . 455 Parameters
Creating a new definition. . . . . . . . . . . . . . . . 470 Flag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
Defining an MCA . . . . . . . . . . . . . . . . . . . . . 459 Individual. . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
Definition summary . . . . . . . . . . . . . . . . . . . . 468 PDFAuthor . . . . . . . . . . . . . . . . . . . 446
Deleting an MCA. . . . . . . . . . . . . . . . . . . . . . 459 PDFCreator . . . . . . . . . . . . . . . . . . . 447
Editing a definition . . . . . . . . . . . . . . . . . . . . 469 PDFKeyword . . . . . . . . . . . . . . . . . . 447
Entry, defining . . . . . . . . . . . . . . . . . . . . . . . . 456 PDFSubject . . . . . . . . . . . . . . . . . . . 447
MID wizard . . . . . . . . . . . . . . . . . . . . . . . . . . 451 PDFTitle . . . . . . . . . . . . . . . . . . . . 447
New definition . . . . . . . . . . . . . . . . . . . . . . . . 470 Peak area analysis error codes . . . . . . . . . 673
starting the . . . . . . . . . . . . . . . . . . . . . . . . . . . 456 Peak label
Summary view . . . . . . . . . . . . . . . . . . . . . . . . 468 Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Using an MCA definition . . . . . . . . . . . . . . . 455 Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
MID editor error codes . . . . . . . . . . . . . 687 Peak locate error codes . . . . . . . . . . . . . 673
MID wizard . . . . . . . . . . . . . . . . 451 - 452 Peak search parameters, CAM file . . . . . . . 541
Moving a record . . . . . . . . . . . . . . 94, 145 Peak-to-total calibration
Moving spectral plot cursor . . . . . . . . . . . 239 CAM file . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646
Multi-efficiency errors, ISOCS . . . . . . . . . 731 Plot axis labels
Multiple MCA configurations . . . . . . . . . 455 Changing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Multiple View Control (MVC) . . . . . . . . . 221 Plot cursor
Moving. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Retrieving values associated with it. . . . . . . . 302
N Plot limits, changing . . . . . . 240, 298, 367, 407
NAA run descriptor, CAM file . . . . . . . . . 570 Plot points, changing the point size . . . . . . . 271
NaI standard file, CAM file . . . . . . . . . . . 571 Plotting
Naming conventions, variable . . . . . . . . . . 28 Coincidence rates. . . . . . . . . . . . . . . . . . 236, 242
Neutron CAM file parameters Neutron multiplicity histograms . . . . . . . . . . 244
Acquisition and results. . . . . . . . . . . . . . . . . . 592 Scalar bank data . . . . . . . . . . . . . . . . . . . . . . . 244
Declaration data . . . . . . . . . . . . . . . . . . . . . . . 603 Preset, acquisition . . . . . . . . . . . . . . . . 50
Detector data . . . . . . . . . . . . . . . . . . . . . . . . . 606 PreviewScale . . . . . . . . . . . . . . . . . . 445
Sample processing . . . . . . . . . . . . . . . . . . . . . 616 Print a file . . . . . . . . . . . . . . . . . . . . 448
Sample-dependent data . . . . . . . . . . . . . . . . . 607 Printing
Non-multiplication corrected properties . . . . 117 Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390, 407
Nuclide library files, opening . . . . . . . . . . 423 Graphics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Nuclide library parameters, CAM file . . . . . 551 Plot data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Number of entries returned. . . . . . . . . . . . 53 Printing an input definition . . . . . . . . . . . 470
Number of standard deviations . . . . . . . . . 274 Printing the view . . . . . . . . . . . . . . . . 437
Processing parameters, CAM file . . . . . . . . 514
Program, example . . . . . . . . . . . . . . . . 74
O Programming
Open errors . . . . . . . . . . . . . . . . . . . 688 Library files . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Opening Library routines . . . . . . . . . . . . . . . . . . . . . . . . 27
A datasource . . 33, 224, 346, 364, 385, 404, 418 Properties
756
Data Display . . . . . . . . . . . . . . . . . . . . . . . . . 245 Access handle . . . . . . . . . . . . . . . . . . . . 102, 153
DataAccess . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Number of entries . . . . . . . . . . . . . . . . . . . . . . 53
DeviceAccess. . . . . . . . . . . . . . . . . . . . . . . . . 145 Number of records . . . . . . . . . . . . . . . . . . . . . . 52
Efficiency Calibration Control (Phase I) . . . . 354 Number of spectral ROIs in the spectral plot. 259
Efficiency Calibration Control (Phase II) . . . 370 ROI
Energy Calibration Control (Phase I) . . . . . . 391 Adding an . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Energy Calibration Control (Phase II) . . . . . . 408 Color types. . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Interactive Data Fit Control . . . . . . . . . . . . . . 314 Deleting a. . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Peak labeling . . . . . . . . . . . . . . . . . . . . . . . . . 276 Displaying next . . . . . . . . . . . . . . . . . . . . . . . 236
Reporter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448 Displaying previous . . . . . . . . . . . . . . . . . . . . 237
Reporter viewer . . . . . . . . . . . . . . . . . . . . . . . 441 Loading a . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Reporter viewer extension . . . . . . . . . . . . . . . 445 Saving a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
ROI files, opening . . . . . . . . . . . . . . . 420
ROI information
Q Retrieving . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
QA parameter definition, CAM file. . . . . . . 583 Storing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
QA results, CAM file . . . . . . . . . . . . . . 585 ROIs
Computing an. . . . . . . . . . . . . . . . . . . . . . 93, 143
Deleting all. . . . . . . . . . . . . . . . . . . . . . . . . . . 236
R Getting number of . . . . . . . . . . . . . . . . . . . . . 259
Read Routines, programming library. . . . . . . . . . 27
A block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Runtime configuration database . . . . . . . . 470
Array of CAM values . . . . . . . . . . . . . . . . . . . 43 Runtime database
CAM parameter value . . . . . . . . . . . . . . . . . . . 41 Adding an MCA to . . . . . . . . . . . . . . . . . . . . 457
List of CAM values . . . . . . . . . . . . . . . . . . . . . 46 definition of . . . . . . . . . . . . . . . . . . . . . . . . . . 470
Set of CAM parameters . . . . . . . . . . . . . . . . . . 48 Deleting an MCA from . . . . . . . . . . . . . . . . . 459
Spectral data. . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Loading a definition. . . . . . . . . . . . . . . . . . . . 471
Refresh rate, defining . . . . . . . . . . . . . . 260 Unloading a definition from . . . . . . . . . . . . . 472
Report
Error codes. . . . . . . . . . . . . . . . . . . . . . . . . . . 686
Reporter S
Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448 Safeguards, CAM file . . . . . . . . . . . . . . 628
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448 Sample parameters, CAM file . . . . . . . . . 504
Reporter viewer Save a datasource . . . . . . . . . . . . . . . . 35
Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 Saving
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 As a text file. . . . . . . . . . . . . . . . . . . . . . . . . . 439
Reporter viewer extension As an RTF file . . . . . . . . . . . . . . . . . . . . . . . . 440
Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 ROIs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445 Scalar data, determining if being displayed. . . 273
Reporting an input definition . . . . . . . . . . 470 Scanning WBC setup, CAM file . . . . . . . . 572
Requirements, analysis engine . . . . . . . . . . 71 Search for CAM records . . . . . . . . . . . . . 58
Retrieve Security parameters, CAM file . . . . . . . . . 572
A list of datasources. . . . . . . . . . . . . . . . . . . . 251 Select a member input . . . . . . . . . . . . . . 56
Average efficiency calibration coefficients . . 113 Sending a command to the acquisition device . 140
CAM information . . . . . . . . . . . . . . . . . . . . . . 39 Sending commands to the current device . . . 141
Datasource information . . . . . . . . . . . . . . . . . . 61 Sequence analyzer
DSC information . . . . . . . . . . . . . . . . . . . . . . . 38 Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
Name of the device . . . . . . . . . . . . . . . . . . . . 150 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
Neutron measurement . . . . . . . . . . . . . . . . . . 137 Set up device . . . . . . . . . . . . . . . . . . 460
ROI information. . . . . . . . . . . . . . . . . . . . . . . . 51 Setting a device . . . . . . . . . . . . . . . . . 426
Spectral measurements . . . . . . . . . . . . . . . . . 136 Setting the current spectroscopic memory group 139
Uers changes . . . . . . . . . . . . . . . . . . . . . . . . . 435 Setting undefined properties . . . . . . . . . . 156
Return Setting up
A string array of MID detectors. . . . . . . . . . . 153 Detector before acquisition . . . . . . . . . . 131, 229
757
Neutron device before acquisition . . . . . 132, 230 User changes
Setting/getting boot text. . . . . . . . . . . . . 144 Detecting . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
Settings Retrieving . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
High voltage. . . . . . . . . . . . . . . . . . . . . . . . . . 463 Using an input definition . . . . . . . . . . . . 470
Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467 Utility library routines . . . . . . . . . . . . . . 68
Stabilizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
Setup screen interface . . . . . . . . . . . . . . 73
Shape calibration parameters, CAM file . . . . 550 V
Showing Variable naming conventions . . . . . . . . . . 28
Information window . . . . . . . . . . . . . . . 264, 324 VDM
Status window . . . . . . . . . . . . . . . . . . . . 263, 324 Create a standard connection . . . . . . . . . . . . . . 29
Simulator, InSpector 2000 . . . . . . . . . . . 451 Create special connection . . . . . . . . . . . . . . . . 28
Software architecture. . . . . . . . . . . . . . . 23 Delete connection . . . . . . . . . . . . . . . . . . . . . . 30
Special uses, CAM file . . . . . . . . . . . . . 634 Get a list of. . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Spectral data VDM error codes . . . . . . . . . . . . . . . . 670
Compressing data. . . . . . . . . . . . . . . . . . . . . . 178 Verify errors . . . . . . . . . . . . . . . . . . 688
get/set data . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 Verifying the device settings . . . . . . . . . . 138
Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Viewing
Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 RTF file. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
Spectral data values, displaying. . . . . . . . . 266 A text file . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
Spectral plot Next/previous NID nuclide result . . . . . . . . . 238
Background color. . . . . . . . . . . . . . . . . . . . . . 255 Next/previous nuclide line . . . . . . . . . . . . . . . 238
Displaying borders. . . . . . . . . . . . . . . . . . . . . 262
Spectral ROIs, filling . . . . . . . . . . . . . . 269
Stabilizer Settings . . . . . . . . . . . . . . . . 462 W
Status messages Write
Severity of. . . 103, 155, 326, 355, 374, 393, 411, A block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
429 Array of CAM values . . . . . . . . . . . . . . . . . . . 44
Status severity. . . . . . . . . . . . . . . . . . 429 CAM parameter value . . . . . . . . . . . . . . . . . . . 42
Structure, CAM data class . . . . . . . . . . . . 24 List of CAM values . . . . . . . . . . . . . . . . . . . . . 47
Summary of MID definitions . . . . . . . . . . 468 Set of CAM parameters . . . . . . . . . . . . . . . . . . 49
Support for ICB devices . . . . . . . . . . . . . 62 Spectral data. . . . . . . . . . . . . . . . . . . . . . . . . . . 40
T Y
Template-Dependent Errors Y-axis scaling, activating . . . . . . . . . . . . 267
LabSOCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746 Y-axis ticks, changing the number of marks . . 262,
Template-dependent errors, ISOCS. . . . . . . 732 323
U Z
Unloading a database definition . . . . . . . . 472 Zoom out . . . . . . . . . . . . . . . . . 239, 298
758
Canberra (we, us, our) warrants to the customer (you, your) that for a period of ninety (90) days from the date of
shipment, software provided by us in connection with equipment manufactured by us shall operate in accordance with
applicable specifications when used with equipment manufactured by us and that the media on which the software is
provided shall be free from defects. We also warrant that (A) equipment manufactured by us shall be free from defects
in materials and workmanship for a period of one (1) year from the date of shipment of such equipment, and (B)
services performed by us in connection with such equipment, such as site supervision and installation services
relating to the equipment, shall be free from defects for a period of one (1) year from the date of performance of such
services.
If defects in materials or workmanship are discovered within the applicable warranty period as set forth above, we
shall, at our option and cost, (A) in the case of defective software or equipment, either repair or replace the software or
equipment, or (B) in the case of defective services, reperform such services.
LIMITATIONS
EXCEPT AS SET FORTH HEREIN, NO OTHER WARRANTIES OR REMEDIES, WHETHER STATUTORY,
WRITTEN, ORAL, EXPRESSED, IMPLIED (INCLUDING WITHOUT LIMITATION, THE WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE) OR OTHERWISE, SHALL APPLY. IN NO
EVENT SHALL CANBERRA HAVE ANY LIABILITY FOR ANY SPECIAL, EXEMPLARY, PUNITIVE, INDIRECT OR
CONSEQUENTIAL LOSSES OR DAMAGES OF ANY NATURE WHATSOEVER, WHETHER AS A RESULT OF
BREACH OF CONTRACT, TORT LIABILITY (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE.
REPAIR OR REPLACEMENT OF THE SOFTWARE OR EQUIPMENT DURING THE APPLICABLE WARRANTY
PERIOD AT CANBERRA'S COST, OR, IN THE CASE OF DEFECTIVE SERVICES, REPERFORMANCE AT
CANBERRA'S COST, IS YOUR SOLE AND EXCLUSIVE REMEDY UNDER THIS WARRANTY.
EXCLUSIONS
Our warranty does not cover damage to equipment which has been altered or modified without our written permission
or damage which has been caused by abuse, misuse, accident, neglect or unusual physical or electrical stress, as
determined by our Service Personnel.
We are under no obligation to provide warranty service if adjustment or repair is required because of damage caused
by other than ordinary use or if the equipment is serviced or repaired, or if an attempt is made to service or repair the
equipment, by other than our Service Personnel without our prior approval.
Our warranty does not cover detector damage due to neutrons or heavy charged particles. Failure of beryllium,
carbon composite, or polymer windows, or of windowless detectors caused by physical or chemical damage from the
environment is not covered by warranty.
We are not responsible for damage sustained in transit. You should examine shipments upon receipt for evidence of
damage caused in transit. If damage is found, notify us and the carrier immediately. Keep all packages, materials and
documents, including the freight bill, invoice and packing list.
When purchasing our software, you have purchased a license to use the software, not the software itself. Because
title to the software remains with us, you may not sell, distribute or otherwise transfer the software. This license allows
you to use the software on only one computer at a time. You must get our written permission for any exception to this
limited license.
BACKUP COPIES
Our software is protected by United States Copyright Law and by International Copyright Treaties. You have our
express permission to make one archival copy of the software for backup protection. You may not copy our software
or any part of it for any other purpose.
Revised 1 Apr 03