genx - system for framework independent analysis.

Ron Fox


Table of Contents
1. Introduction and motivation.
I. User manual
2. Writing data structure declaration files.
3. Translating structure declaration files into code for a target
4. Generated Code
4.1. Code Generated for SpecTcl
4.2. Code generated for Root
4.3. Putting this all together for SpecTcl and Root.
5. Reference pages
Genx Declaration language -- Event definition language.
genx -- Compiler for parameter definitions
II. Programming manual
6. Adding a --target to the genx compiler.
7. Writing a generator
List of Examples
2-1. Data structure description file
3-1. Generating SpecTcl code from data.decl
3-2. Generating CERN/Root code from data.decl
4-1. Initialization of simple struct members for SpecTcl - the declaration
4-2. Initialization of simple struct members for SpecTcl - the header
4-3. Initialization of simple struct members for SpecTcl - the implementation
4-4. SpecTcl complex struct initialization - definition file:
4-5. SpecTcl complex struct initialization - header file
4-6. SpecTcl complex struct initialization - C++ file
4-7. Initialization code for SpecTcl - definition file
4-8. Initialization code for SpecTcl - header
4-9. Initialization code for SpecTcl - C++ file
4-10. Simple struct for Root - Declarations:
4-11. Simple struct for Root - Header
4-12. Simple struct for Root - C++ code
4-13. Complex data structure in Root, declaration
4-14. Complex data structure in Root, header
4-15. Complex data structure in Root, C++
4-16. Instances in Root - declaration file
4-17. Instances in root - header
4-18. Instances in root - C++
4-19. Initialize for Root:
4-20. CommitEvent for Root:
4-21. SetupEvent for Root:
4-22. event.decl - event declaration file for the example:
4-23. Makefile - generating code from event.decl
4-24. unpacker.cpp - example unpacker
4-25. SpecTcl/CUnpackerWrapper.h
4-26. SpecTcl/CUnpackerWrapper.cpp
4-27. SpecTcl/MySpecTclApp.cpp - AnalysisPipeline
4-28. SpecTcl/Makefile
4-29. Root/process.cpp modifications
4-30. Root/processor.cpp modifications
4-31. Root/Makefile
4-32. Full listing of TopLevel/event.decl
4-33. Full listing of TopLevel/Makefile
4-34. Full listing of TopLevel/unpacker.cpp
4-35. TopLevel/SpecTcl/CUnpackerWrapper.h
4-36. TopLevel/Spectcl/CUnpackerWrapper.cpp
4-37. TopLevel/SpecTcl/MySpecTclApp.cpp (comments removed)
4-38. TopLevel/SpecTcl/Makefile
4-39. TopLevel/Root/process.cpp
4-40. TopLevel/Root/processor.cpp (comments removed)
4-41. TopLevel/Root/Makefile