Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:51:48

0001 #ifndef DETECTOR_DESCRIPTION_PARSER_FIP_CONFIGURATION_H
0002 #define DETECTOR_DESCRIPTION_PARSER_FIP_CONFIGURATION_H
0003 
0004 #include <map>
0005 #include <string>
0006 #include <vector>
0007 
0008 #include "DetectorDescription/Core/interface/DDCompactView.h"
0009 #include "DetectorDescription/Parser/interface/DDLDocumentProvider.h"
0010 #include "DetectorDescription/Parser/interface/DDLSAX2ConfigHandler.h"
0011 
0012 class DDCompactView;
0013 class DDLParser;
0014 class DDLSAX2ConfigHandler;
0015 class DDLSAX2Handler;
0016 
0017 /// FIPConfiguration reads in the configuration file for the DDParser.
0018 /** @class FIPConfiguration
0019  * @author Michael Case
0020  *
0021  *  FIPConfiguration.h  -  description
0022  *  -------------------
0023  *  begin: Sun Nov 13, 2005
0024  *  email: case@ucdhep.ucdavis.edu
0025  *
0026  */
0027 class FIPConfiguration : public DDLDocumentProvider {
0028 public:
0029   FIPConfiguration(DDCompactView& cpv);
0030   ~FIPConfiguration() override;
0031 
0032   /// Read in the configuration file.
0033   int readConfig(const std::string& filename) override;
0034 
0035   /// Read in the configuration file.
0036   int readConfig(const std::string& filename, bool fullPath);
0037 
0038   /// Return a list of files as a std::vector of strings.
0039   const std::vector<std::string>& getFileList(void) const override;
0040 
0041   /// Return a list of urls as a std::vector of strings.
0042   /**
0043      This implementation does not provide a meaningful url list.
0044    **/
0045   const std::vector<std::string>& getURLList(void) const override;
0046 
0047   /// Print out the list of files.
0048   void dumpFileList(void) const override;
0049 
0050   /// Return whether Validation should be on or off and where the DDL SchemaLocation is.
0051   bool doValidation() const override;
0052 
0053   /// Return the designation for where to look for the schema.
0054   std::string getSchemaLocation() const override;
0055 
0056 private:
0057   DDLSAX2ConfigHandler configHandler_;
0058   std::vector<std::string> files_;
0059   std::vector<std::string> urls_;
0060   DDCompactView& cpv_;
0061 };
0062 
0063 #endif