CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/SimG4CMS/ShowerLibraryProducer/interface/HFChamberSD.h

Go to the documentation of this file.
00001 #ifndef SimG4CMS_ShowerLibraryProducer_HFChamberSD_h
00002 #define SimG4CMS_ShowerLibraryProducer_HFChamberSD_h
00003 
00004 #include "SimG4Core/SensitiveDetector/interface/SensitiveCaloDetector.h"
00005 #include "SimG4Core/Application/interface/SimTrackManager.h"
00006 
00007 #include "SimG4CMS/ShowerLibraryProducer/interface/HFShowerG4Hit.h"
00008 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00009 
00010 #include "G4Track.hh"
00011 
00012 #include <iostream>
00013 #include <fstream>
00014 #include <vector>
00015 
00016 class G4Step;
00017 class G4HCofThisEvent;
00018 
00019 class HFChamberSD : public SensitiveCaloDetector {
00020 
00021 public:
00022 
00023   HFChamberSD(std::string, const DDCompactView&, SensitiveDetectorCatalog&,
00024           edm::ParameterSet const &, const SimTrackManager*);
00025   virtual ~HFChamberSD();
00026 
00027   virtual void     Initialize(G4HCofThisEvent*HCE);
00028   virtual G4bool   ProcessHits(G4Step* aStep,G4TouchableHistory* ROhist);
00029   virtual void     EndOfEvent(G4HCofThisEvent* HCE);
00030   virtual void     clear();
00031   virtual void     DrawAll();
00032   virtual void     PrintAll();
00033 
00034 protected:
00035 
00036   virtual void     clearHits();
00037   virtual uint32_t setDetUnitId(G4Step*);
00038   virtual void     fillHits(edm::PCaloHitContainer&, std::string);
00039 
00040 private:
00041 
00042   std::string               theName;
00043   const SimTrackManager*    m_trackManager;
00044 
00045   G4int                     theHCID;
00046   HFShowerG4HitsCollection* theHC;
00047   int                       theNSteps;
00048 };
00049 
00050 #endif
00051