Back to home page

Project CMSSW displayed by LXR

 
 

    


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

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&, const SensitiveDetectorCatalog&, const SimTrackManager*);
0024   ~HFChamberSD() override;
0025 
0026   void Initialize(G4HCofThisEvent* HCE) override;
0027   G4bool ProcessHits(G4Step* aStep, G4TouchableHistory* ROhist) override;
0028   void EndOfEvent(G4HCofThisEvent* HCE) override;
0029   void clear() override;
0030   void DrawAll() override;
0031   void PrintAll() override;
0032 
0033   void clearHits() override;
0034   uint32_t setDetUnitId(const G4Step*) override;
0035   void fillHits(edm::PCaloHitContainer&, const std::string&) override;
0036 
0037 private:
0038   G4int theHCID;
0039   HFShowerG4HitsCollection* theHC;
0040   int theNSteps;
0041 };
0042 
0043 #endif