Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:30:31

0001 #ifndef Watcher_SimWatcherMakerBase_h
0002 #define Watcher_SimWatcherMakerBase_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     Watcher
0006 // Class  :     SimWatcherMakerBase
0007 //
0008 /**\class SimWatcherMakerBase SimWatcherMakerBase.h
0009  SimG4Core/Watcher/interface/SimWatcherMakerBase.h
0010 
0011  Description: Base class for the 'maker' which creates Watchers
0012 
0013  Usage:
0014     This class is the interface for creating a Watcher and for connnecting
0015  the appropriate OSCAR signals to that Watcher
0016 
0017 */
0018 //
0019 // Original Author:  Chris D Jones
0020 //         Created:  Tue Nov 22 13:03:39 EST 2005
0021 //
0022 
0023 // system include files
0024 #include <memory>
0025 
0026 // user include files
0027 
0028 // forward declarations
0029 class SimActivityRegistry;
0030 namespace edm {
0031   class ParameterSet;
0032 }
0033 class SimWatcher;
0034 class SimProducer;
0035 class SimWatcherMakerBase {
0036 public:
0037   SimWatcherMakerBase() {}
0038   virtual ~SimWatcherMakerBase() {}
0039 
0040   // ---------- const member functions ---------------------
0041   virtual void make(const edm::ParameterSet &,
0042                     SimActivityRegistry &,
0043                     std::shared_ptr<SimWatcher> &,
0044                     std::shared_ptr<SimProducer> &) const = 0;
0045 };
0046 
0047 #endif