File indexing completed on 2024-04-06 12:30:48
0001 #ifndef SimMuon_Neutron_SubsystemNeutronReader_h
0002 #define SimMuon_Neutron_SubsystemNeutronReader_h
0003
0004
0005
0006
0007
0008 #include "SimDataFormats/TrackingHit/interface/PSimHit.h"
0009 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0010 #include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h"
0011
0012 #include <vector>
0013
0014 class NeutronReader;
0015
0016 namespace CLHEP {
0017 class HepRandomEngine;
0018 }
0019
0020 class SubsystemNeutronReader {
0021 public:
0022
0023
0024
0025 SubsystemNeutronReader(const edm::ParameterSet& pset);
0026 virtual ~SubsystemNeutronReader();
0027
0028
0029
0030 void generateChamberNoise(int chamberType, int chamberIndex, edm::PSimHitContainer& result, CLHEP::HepRandomEngine*);
0031
0032 void clear() { theChambersDone.clear(); }
0033
0034 protected:
0035
0036
0037 virtual int detId(int chamberIndex, int localDetId) = 0;
0038
0039 private:
0040 NeutronReader* theHitReader;
0041
0042
0043 std::vector<int> theChambersDone;
0044
0045
0046 float theLuminosity;
0047 float theStartTime;
0048 float theEndTime;
0049
0050 float theEventsInWindow;
0051
0052 std::vector<double> theEventOccupancy;
0053 };
0054
0055 #endif