Main Page   Class Hierarchy   Compound List   File List   Compound Members  

CommandLineReader.h

00001 #ifndef COMMANDLINEREADER_H
00002 #define COMMANDLINEREADER_H
00003 
00004 #include <string>
00005 #include <vector>
00006 
00010 class CommandLineReader
00011 {
00012  public:
00013 
00018   CommandLineReader( const std::string& p_command_line );
00019 
00023   CommandLineReader( void );
00024 
00028   virtual ~CommandLineReader(){};
00029   
00033   void initialize( void );
00034 
00039   void parseLine( const std::string& p_command_line );
00040 
00044   const std::string getUsage( void ) const;
00045 
00049   const std::string& getOutputFileName( void ) const;
00050 
00054   const std::vector<std::string>& getLibraryFileNames( void ) const;
00055 
00059   const std::vector<std::string>& getFrozenLibraryNames( void ) const;
00060 
00064   float getFractionGoodHitThreshold( void ) const;
00065 
00069   int   getMaximumIteration( void ) const;
00070 
00074   std::string getPropertyAnalysisFileName( void ) const;
00075 
00079   std::vector<std::string> getLibraryDefinitionFileName( void ) const;
00080 
00084   bool getIsCutWhenZeroGoodness( void ) const;
00085 
00089   bool getDoScaleWithSize( void  ) const;
00090 
00094   float getScaleWithSizeParam( void ) const;
00095 
00099   std::string getEnumerationStrategy( void ) const { return m_EnumerationStrategy; }
00100 
00104   int getNumberPartition( void ) const { return m_NumberPartition; }
00105 
00109   void setFirstFractionToKeep( float p_first_fraction_to_keep );
00110 
00114   float getFirstFractionToKeep( void ) const;
00115 
00116  protected:
00117  private:
00118 
00119   // Output file name.
00120   std::string m_OutputFileName;
00121 
00122   // Fraction (between 0 and 1) of the enumerated compounds that must satisfy the goodness criteria before the optimization stops.
00123   float m_FractionGoodHitThreshold;
00124 
00125   // Maximum number of iteration to reach.
00126   int m_MaximumIteration;
00127 
00128   // File name containing the combining instruction.
00129   std::vector<std::string> m_LibraryDefinitionFileNames;
00130 
00131   // Boolean set to true when all the fragments with a zero goodness counter are cut.
00132   bool m_IsCutWhenZeroGoodness;
00133 
00134   // Fraction of fragment to keep is scaled. Larger library are pruned faster.
00135   bool m_DoScaleWithSize;
00136   
00137   // Parameter when scaling with size.
00138   float m_ScaleWithSizeParam;
00139 
00140   // Enumeration strategy: 'part' stands for partitioning, 'full' stands for full enumeration.
00141   std::string m_EnumerationStrategy;
00142 
00143   // Number of partitions used with the 'part' Enumeration strategy.
00144   int m_NumberPartition;
00145 
00146   // First fraction of each library to keep in GoodHit algorithm. A value of 0.75 means that 25% worst fragments from each dimension is thrown after the first iteration
00147   float m_FirstFractionToKeep;
00148 };
00149 
00150 #endif
00151 A value of 0.75 means that 25% worst fragments from each dimension is thrown after the first iteration
00152   float m_FirstFractionToKeep;
00153 };
00154 
00155 #endif

Generated on Sat Nov 4 15:58:58 2006 for GLARE by doxygen1.2.18