Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 // system include files
0002 
0003 // user include files
0004 #include "SimG4Core/SensitiveDetector/interface/SensitiveDetectorMakerBase.h"
0005 #include "SimG4Core/Notification/interface/SimActivityRegistryEnroller.h"
0006 #include "SimG4Core/SensitiveDetector/interface/SensitiveDetectorPluginFactory.h"
0007 
0008 #include "SimG4CMS/ShowerLibraryProducer/interface/HFChamberSD.h"
0009 
0010 #include "FWCore/Framework/interface/EventSetup.h"
0011 #include "FWCore/Framework/interface/ConsumesCollector.h"
0012 #include "FWCore/Utilities/interface/ESGetToken.h"
0013 #include "FWCore/PluginManager/interface/ModuleDef.h"
0014 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0015 
0016 class HFChamberSensitiveDetectorBuilder : public SensitiveDetectorMakerBase {
0017 public:
0018   explicit HFChamberSensitiveDetectorBuilder(edm::ParameterSet const& p, edm::ConsumesCollector cc) {}
0019 
0020   void beginRun(const edm::EventSetup& es) final {}
0021   std::unique_ptr<SensitiveDetector> make(const std::string& iname,
0022                                           const SensitiveDetectorCatalog& clg,
0023                                           const edm::ParameterSet& p,
0024                                           const SimTrackManager* man,
0025                                           SimActivityRegistry& reg) const final {
0026     auto sd = std::make_unique<HFChamberSD>(iname, clg, man);
0027     SimActivityRegistryEnroller::enroll(reg, sd.get());
0028     return sd;
0029   }
0030 };
0031 
0032 typedef HFChamberSD HFChamberSensitiveDetector;
0033 DEFINE_SENSITIVEDETECTORBUILDER(HFChamberSensitiveDetectorBuilder, HFChamberSensitiveDetector);