Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-07-20 22:46:47

0001 #ifndef SimG4CMS_ShowerLibraryProducer_HFChamberSD_h
0002 #define SimG4CMS_ShowerLibraryProducer_HFChamberSD_h
0003 
0004 #include "SimG4Core/SensitiveDetector/interface/SensitiveCaloDetector.h"
0005 #include "SimG4Core/Notification/interface/SimTrackManager.h"
0006 
0007 #include "SimG4CMS/ShowerLibraryProducer/interface/HFShowerG4Hit.h"
0008 #include "FWCore/Framework/interface/Frameworkfwd.h"
0009 #include "FWCore/ParameterSet/interface/ParameterSetfwd.h"
0010 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0011 
0012 #include "G4Track.hh"
0013 
0014 #include <iostream>
0015 #include <fstream>
0016 #include <vector>
0017 
0018 class G4Step;
0019 class G4HCofThisEvent;
0020 
0021 class HFChamberSD : public SensitiveCaloDetector {
0022 public:
0023   explicit HFChamberSD(const std::string&,
0024                const SensitiveDetectorCatalog&,
0025                const SimTrackManager*);
0026   ~HFChamberSD() override;
0027 
0028   void Initialize(G4HCofThisEvent* HCE) override;
0029   G4bool ProcessHits(G4Step* aStep, G4TouchableHistory* ROhist) override;
0030   void EndOfEvent(G4HCofThisEvent* HCE) override;
0031   void clear() override;
0032   void DrawAll() override;
0033   void PrintAll() override;
0034 
0035   void clearHits() override;
0036   uint32_t setDetUnitId(const G4Step*) override;
0037   void fillHits(edm::PCaloHitContainer&, const std::string&) override;
0038 
0039 private:
0040   G4int theHCID;
0041   HFShowerG4HitsCollection* theHC;
0042   int theNSteps;
0043 };
0044 
0045 #endif