Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:24:24

0001 ///////////////////////////////////////////////////////////////////////////////
0002 // File: ZdcSD.h
0003 // Date: 02.04
0004 // Description: Stores hits of Zdc in appropriate  container
0005 //
0006 ///////////////////////////////////////////////////////////////////////////////
0007 #ifndef ZdcSD_h
0008 #define ZdcSD_h
0009 #include "SimG4CMS/Calo/interface/CaloSD.h"
0010 #include "SimG4CMS/Forward/interface/ZdcShowerLibrary.h"
0011 #include "SimG4CMS/Forward/interface/ZdcNumberingScheme.h"
0012 #include "FWCore/Framework/interface/Frameworkfwd.h"
0013 #include "FWCore/ParameterSet/interface/ParameterSetfwd.h"
0014 
0015 class ZdcSD : public CaloSD {
0016 public:
0017   ZdcSD(const std::string &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *);
0018 
0019   ~ZdcSD() override = default;
0020 
0021   uint32_t setDetUnitId(const G4Step *step) override;
0022 
0023   void setNumberingScheme(ZdcNumberingScheme *scheme);
0024 
0025 protected:
0026   double getEnergyDeposit(const G4Step *) override;
0027   bool getFromLibrary(const G4Step *) override;
0028   void initRun() override;
0029 
0030 private:
0031   int verbosity;
0032   bool useShowerLibrary, useShowerHits;
0033   double thFibDir;
0034   double zdcHitEnergyCut;
0035 
0036   std::unique_ptr<ZdcShowerLibrary> showerLibrary;
0037   std::unique_ptr<ZdcNumberingScheme> numberingScheme;
0038   std::vector<ZdcShowerLibrary::Hit> hits;
0039 };
0040 
0041 #endif  // ZdcSD_h