Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 09:20:31

0001 #ifndef __COMMONOPTIONS_H__
0002 #define __COMMONOPTIONS_H__
0003 
0004 #include <Acts/Utilities/EnumBitwiseOperators.hpp>
0005 #include <Acts/Utilities/Logger.hpp>
0006 #include <ActsExamples/Framework/RandomNumbers.hpp>
0007 #include <ActsExamples/Framework/Sequencer.hpp>
0008 
0009 #include <string>
0010 
0011 #include <boost/program_options.hpp>
0012 
0013 namespace ActsExamples {
0014 
0015 enum class OutputFormat : uint8_t {
0016   DirectoryOnly = 0,
0017   Root = 1,
0018   Csv = 2,
0019   Obj = 4,
0020   Json = 8,
0021   Cbor = 16,
0022   Txt = 32,
0023   All = std::numeric_limits<uint8_t>::max()
0024 };
0025 
0026 namespace Options {
0027 
0028 /// Construct the options description with minimal default options.
0029 ///
0030 /// @param caption Optional help text caption
0031 boost::program_options::options_description makeDefaultOptions(
0032     const std::string& caption = std::string());
0033 
0034 /// Add common geometry-related options.
0035 void addGeometryOptions(boost::program_options::options_description& opt);
0036 
0037 /// Add common material-related options.
0038 void addMaterialOptions(boost::program_options::options_description& opt);
0039 
0040 /// Parse options and return the resulting variables map.
0041 ///
0042 /// Automatically prints the help text if requested.
0043 ///
0044 /// @returns Empty variables map if help text was shown.
0045 boost::program_options::variables_map parse(
0046     const boost::program_options::options_description& opt, int argc,
0047     char* argv[]);
0048 
0049 
0050 
0051 }  // namespace Options
0052 }  // namespace ActsExamples
0053 
0054 #endif  // __COMMONOPTIONS_H__