Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:28:16

0001 #ifndef RecoTracker_MkFitCore_interface_MkBuilderWrapper_h
0002 #define RecoTracker_MkFitCore_interface_MkBuilderWrapper_h
0003 
0004 #include <memory>
0005 
0006 namespace mkfit {
0007   class MkBuilder;
0008 
0009   /**
0010    * The purpose of this class is to hide the header of MkBuilder.h
0011    * from CMSSW. The headers included by MkBuilder.h contain uses of
0012    * the build-time configuration macros, that should remain as
0013    * internal details of MkFit package.
0014    */
0015   class MkBuilderWrapper {
0016   public:
0017     MkBuilderWrapper(bool silent);
0018     ~MkBuilderWrapper();
0019 
0020     MkBuilder& get() { return *builder_; }
0021 
0022     static void populate();
0023     static void clear();
0024 
0025   private:
0026     std::unique_ptr<MkBuilder> builder_;
0027   };
0028 }  // namespace mkfit
0029 
0030 #endif