include/BDSExecOptions.hh

00001 /* BDSIM code.    
00002    Author: Stewart T. Boogert , Royal Holloway, Univ. of London.
00003    Last modified 16.04.2013
00004    Copyright (c) 2002 by BDSIM authors.  ALL RIGHTS RESERVED. 
00005 */
00006 
00007 #ifndef BDSExecOptions_h
00008 #define BDSExecOptions_h
00009 
00010 #include <getopt.h>
00011 
00012 #include "G4Types.hh"
00013 #include "BDSDebug.hh"
00014 #include "BDSOutput.hh"
00015 
00016 class BDSExecOptions
00017 {
00018 public: 
00019 
00020   static BDSExecOptions* Instance();
00021   ~BDSExecOptions();
00022 
00023   void Usage();
00024   void Parse(int arcg, char **argv);
00025   void Print(); 
00026 
00027   G4String GetInputFilename()                   {return inputFilename;}
00028   void     SetInputFilename(G4String s)         {inputFilename = s;}       
00029   G4String GetVisMacroFilename()                {return visMacroFilename;}
00030   void     SetVisMacroFilename(G4String s)      {visMacroFilename = s;}
00031   G4String GetOutputFilename()                  {return outputFilename;}
00032   void     SetOutputFilename(G4String s)        {outputFilename = s;}
00033   BDSOutputFormat GetOutputFormat()             {return outputFormat;}
00034   void     SetOutputFormat(BDSOutputFormat f)   {outputFormat = f;}
00035   G4bool   GetOutline()                         {return outline;}
00036   void     SetOutline(G4bool b)                 {outline = b;}
00037   G4String GetOutlineFilename()                 {return outlineFilename;}
00038   void     SetOutlineFilename(G4String s)       {outlineFilename = s;}
00039   G4String GetOutlineFormat()                   {return outlineFormat;}
00040   void     SetOutlineFormat(G4String s)         {outlineFormat = s;}
00041 
00042   G4int    GetGFlash()               {return gflash;}
00043   void     SetGFlash(G4bool b)       {gflash = b;}
00044   G4double GetGFlashEMax()           {return gflashemax;}
00045   void     SetGFlashEMax(G4double d) {gflashemax = d;}
00046   G4double GetGFlashEMin()           {return gflashemin;}  
00047   void     SetGFlashEMin(G4double d) {gflashemin = d;}
00048 
00049   G4int    GetNPTwiss()              {return nptwiss;}
00050   void     SetNPTwiss(G4int i)       {nptwiss = i;}
00051   
00052   G4bool   GetVerbose()              {return verbose;}
00053   G4bool   GetVerboseEvent()         {return verboseEvent;}
00054   G4bool   GetVerboseStep()          {return verboseStep;}
00055   G4int    GetVerboseEventNumber()   {return verboseEventNumber;}
00056   G4bool   GetBatch()                {return batch;}
00057 
00058   G4int    GetVerboseRunLevel()      {return verboseRunLevel;}
00059   G4int    GetVerboseEventLevel()    {return verboseEventLevel;}
00060   G4int    GetVerboseTrackingLevel() {return verboseTrackingLevel;}
00061   G4int    GetVerboseSteppingLevel() {return verboseSteppingLevel;}
00062 
00063 
00064 protected : 
00065   BDSExecOptions();
00066   static BDSExecOptions* _instance;
00067 
00068   
00069 private :
00070   G4String        inputFilename;
00071   G4String        visMacroFilename;
00072   G4String        outputFilename;
00073   BDSOutputFormat outputFormat;
00074   G4bool          outline;
00075   G4String        outlineFilename;
00076   G4String        outlineFormat;
00077 
00078   G4int    gflash;
00079   G4double gflashemax;
00080   G4double gflashemin;
00081 
00082   G4int    nptwiss;
00083 
00084   G4bool verbose;
00085   G4bool verboseEvent;
00086   G4bool verboseStep;
00087   G4int  verboseEventNumber;
00088   G4bool batch; 
00089   G4bool listMaterials;
00090   
00091   G4int  verboseRunLevel;
00092   G4int  verboseEventLevel;
00093   G4int  verboseTrackingLevel;
00094   G4int  verboseSteppingLevel;
00095 
00096 
00097 };
00098 
00099 #endif

Generated on 27 Aug 2013 for BDSIM by  doxygen 1.4.7