SpecTcl User guide.

Ron Fox


Table of Contents
1. Introduction
2. Overview of how SpecTcl works
3. Getting started with SpecTcl
3.1. SpecTcl Objects and how to use them
3.1.1. Creating and describing parameters.
3.2. Creating/listing spectra
3.3. Defining and applying gates
3.4. Tailoring a new SpecTcl skeleton
3.4.1. The SpecTcl skeleton
3.4.2. Event processors, parameters and tree parameters
3.4.3. Setting up the event processing pipeline
3.4.4. Building your tailored SpecTcl
3.5. Data sources
4. Using event filters
5. SpecTcl's startup process
6. Scripting with SpecTcl
6.1. A quick introduction to Tcl/Tk
6.1.1. Tcl
6.1.2. Tk
6.2. Some SpecTcl scripting examples.
6.3. Connecting scripts and your event processors.
6.3.1. Using Tcl variables to communicate with C/C++ code
6.3.2. Using the Treevariable subsystem
6.3.3. Adding new compiled commands to Tcl
7. Using the 'standard' SpecTcl GUI
7.1. The Menubar and its contents
7.1.1. The File menu
7.1.2. The Edit menu
7.1.3. The Data Source Menu
7.1.4. The Filters menu
7.1.5. The Spectra menu
7.1.6. The Gate menu
7.2. Using the Spectra page
7.3. Using the Parameters page
7.4. Using the variables page
7.5. Using the Gates page
7.6. Using the folders tab.
7.6.1. Spectra folder
7.6.2. Parameters folder
7.6.3. Variables folder
7.6.4. Gates folder
8. Analyzing filter files
8.1. Preparing SpecTcl to analyze filtered event files.
8.2. The format of filtered event files.
8.2.1. The header record
8.2.2. The event record
List of Figures
2-1. Flow of data through SpecTcl
7-1. SpecTcl default graphical user interface (GUI)
7-2. The FileSave... dialog
7-3. Choosing spectra to save to file
7-4. Spectrum file selection dialog
7-5. SpecTcl Preferences dialog
7-6. Prompt to connect SpecTcl online
7-7. File data source choooser
7-8. Pipe data source dialog
7-9. Cluster chooser dialog
7-10. Filter wizard - setting the filter name
7-11. Filter wizard - setting the filter gate.
7-12. Filter wizard - choosing parameters
7-13. Filter wizard - choosing the output file.
7-14. FiltersFilter Enables... dialog
7-15. Spectrum Selection dialogt
7-16. Gate application dialog
7-17. Gate selection dialog
7-18. The Spectra tab.
7-19. The spectrum list
7-20. Spectrum definition and configuration
7-21. Load/Save section of Spectra tab.
7-22. Spectra gate applications
7-23. Parameters page
7-24. The Variable page
7-25. The Gates page
7-26. Tree Gui Spectra folder
7-27. Top level spectrum editor
7-28. 1-d Spectrum Editor.
7-29. 2-d spectrum editor
7-30. Gamma-1d spectrum editor
7-31. Gamma 2-d x/y spectrum editor
7-32. Gamma summary spectrum editor
7-33. 2-d sum spectrum
7-34. Summary spectrum editor
7-35. Bit mask spectrum editor
7-36. Strip chart Spectrum editor
7-37. Gate Application dialog
7-38. Psuedo parameter editor
7-39. Parameter editor
7-40. Variable editor
7-41. Gate create/edit dialog
7-42. And gate editor
7-43. Slice gate editor
7-44. Band gate editor
7-45. The interior of a pathalogical contoure gate
7-46. Gate Application Dialog
List of Examples
3-1. Creating a slice gate from the command line
3-2. Creating a contour gate
3-3. Sample compound gates
3-4. CEventProcessor base class definition
3-5. Sample Event processor header
3-6. Simple Event processor for raw parameter arrays
3-7. SimpleTree.cpp - Event processor using tree parameters
3-8. Sample attach commands
6-1. A gate selection combobox
6-2. Spectrum selection listbox
6-3. Multiselect final layout and logic
6-4. Calibration event processor
6-5. Calibrated parameter constructor
6-6. Calibrated parameter computatino:
6-7. Getting the slope from a Tcl variable:
6-8. Getting the offset from a Tcl variable
6-9. Calibrator header with linked variables:
6-10. Constructor for linked variables
6-11. Destructor for linked variable calibrator
6-12. Getting slope and offset for linked variables
6-13. Header for calibrator using treevariables
6-14. TreeCalibratorConstructor
6-15. TreeCalibrator::operator()
6-16. Event processor for command steered calibration
6-17. Constructor for command steered calibration event proc.
6-18. Command drive event processor implementation
6-19. setcalib command processor header:
6-20. setcalib command constructor:
6-21. setcalib Command processor implementation
8-1. Removing our event processors from the analysis pipeline
8-2. Registering the filter event processor
8-3. Defining ANALYZE_FILTERS