Crate fastpasta

Source
Expand description

fast Protocol Analysis Scanner Tool for ALICE (fastPASTA), for reading and checking raw binary data from ALICE detectors

§Usage

§Reading data from file and performing checks

# Enable all generic checks: `sanity` (stateless) AND `running` (stateful)
$ fastpasta <input_file> check all

# Same as above but only enable `sanity` checks, and only check data from link 0
$ fastpasta <input_file>  check sanity -f 0

§Enable all sanity and running checks and include checks applicable to ITS only

$ fastpasta <input_file> check all ITS
# target `its` is case-insensitive
$ fastpasta <input_file> -f 3 check sanity its

§Reading data from stdin and performing all checks that applies to ITS

$ cat <input_file> | fastpasta check all ITS
$ fastpasta <input_file> --filter-link 3 -o <output_file>

Writing to stdout is implicit when no checks or views are specified

$ fastpasta <input_file> --filter-link 3

§Reading from file and printing a view of RDHs

$ fastpasta <input_file> view rdh

Modules§

analyze
Contains modules for analyzing the data. Displaying the data in a human readable format or performing data validation.
config
Contains the Cfg struct that parses and stores the command line arguments
controller
Contains the Controller that collects stats and reports errors. It also controls the stop flag, which can be used to stop the program if a fatal error occurs, or if the config contains a max number of errors to tolerate. Finally when the event loop breaks (at the end of execution), it will print a summary of the stats collected, using the Report struct.
init
Contains the run function that is the entry point for fastPASTA
stats
All stat collecting functionality
util
Miscellaneous utility functions
words
Word definitions for the GBT/CRU/ITS data format
write
All functionality related to writing data to a file or stdout

Macros§

validate_fields
Macro to generate the validate_fields function for a struct

Functions§

display_error
Write an error message to stderr. All error messages should be written through this function to ensure consistency.
init_processing
Does the initial setup for input data processing
process
Entry point for scanning the input and delegating to checkers, view generators and/or writers depending on Config