1 #include "CLHEP/Units/GlobalPhysicalConstants.h" 6 #include "CLHEP/Random/RandGaussQ.h" 7 #include "CLHEP/Units/GlobalPhysicalConstants.h" 12 refSpeed_( 0.1*
CLHEP::c_light ),
13 bxTime_(pset.getParameter<double>(
"bxTime") ),
14 LightYield_(pset.getParameter<double>(
"LightYield")),
15 LightCollEff_(pset.getParameter<double>(
"LightCollectionEff")),
16 LightCollTime_(pset.getParameter<double>(
"LightCollectionTime")),
17 smearLightCollTime_(pset.getParameter<double>(
"smearLightCollectionTime")),
18 PDE_(pset.getParameter<double>(
"PhotonDetectionEff")) { }
24 CLHEP::HepRandomEngine *hre){
27 const int nchits = hitRefs.size();
28 for(
int ihit=0; ihit<nchits; ++ihit) {
30 const int hitidx = std::get<0>(hitRefs[ihit]);
31 const uint32_t
id = std::get<1>(hitRefs[ihit]);
36 if ( detId.det()!=
DetId::Forward || detId.mtdSubDetector()!=1 )
continue;
54 const int itime = std::floor( toa/
bxTime_ ) + 9;
56 if(itime<0 || itime>14)
continue;
59 if(itime >= (
int)simHitIt->second.hit_info[0].size() )
continue;
60 (simHitIt->second).hit_info[0][itime] += Npe;
64 if( (simHitIt->second).hit_info[1][itime] == 0 )
65 (simHitIt->second).hit_info[1][itime] = toa;
void getHitsResponse(const std::vector< std::tuple< int, uint32_t, float > > &hitRefs, const edm::Handle< edm::PSimHitContainer > &hits, mtd_digitizer::MTDSimHitDataAccumulator *simHitAccumulator, CLHEP::HepRandomEngine *hre)
Detector identifier base class for the MIP Timing Layer.
BTLDeviceSim(const edm::ParameterSet &pset)
const float smearLightCollTime_
const float LightCollTime_
float energyLoss() const
The energy deposit in the PSimHit, in ???.
std::unordered_map< uint32_t, MTDCellInfo > MTDSimHitDataAccumulator
const float LightCollEff_
Local3DPoint entryPoint() const
Entry point in the local Det frame.