diff --git a/SimG4CMS/Calo/src/CaloSD.cc b/SimG4CMS/Calo/src/CaloSD.cc index d3c39747fd57c..3ed4b961b9c47 100644 --- a/SimG4CMS/Calo/src/CaloSD.cc +++ b/SimG4CMS/Calo/src/CaloSD.cc @@ -177,7 +177,7 @@ G4bool CaloSD::ProcessHits(G4Step* aStep, G4TouchableHistory*) { if (getFromLibrary(aStep)) { // for parameterized showers the primary track should be killed // secondary tracks should be killed if they are in the same volume - const_cast(aStep->GetTrack())->SetTrackStatus(fStopAndKill); + (aStep->GetTrack())->SetTrackStatus(fStopAndKill); if (0 < aStep->GetNumberOfSecondariesInCurrentStep()) { auto tv = aStep->GetSecondaryInCurrentStep(); auto vol = aStep->GetPreStepPoint()->GetPhysicalVolume(); @@ -234,7 +234,7 @@ G4bool CaloSD::ProcessHits(G4Step* aStep, G4TouchableHistory*) { edepositHAD = energy; } #ifdef EDM_ML_DEBUG - G4TouchableHistory* touch = (G4TouchableHistory*)(theTrack->GetTouchable()); + const G4TouchableHistory* touch = static_cast(theTrack->GetTouchable()); edm::LogVerbatim("CaloSim") << "CaloSD::" << GetName() << " PV:" << touch->GetVolume(0)->GetName() << " PVid=" << touch->GetReplicaNumber(0) << " MVid=" << touch->GetReplicaNumber(1) << " Unit:" << std::hex << unitID << std::dec << " Edep=" << edepositEM << " " diff --git a/SimG4CMS/Calo/src/HFCherenkov.cc b/SimG4CMS/Calo/src/HFCherenkov.cc index b15728e1afa25..6ffdee149b2ac 100644 --- a/SimG4CMS/Calo/src/HFCherenkov.cc +++ b/SimG4CMS/Calo/src/HFCherenkov.cc @@ -150,7 +150,6 @@ int HFCherenkov::computeNPE(const G4Step* aStep, #endif if (rand < prob_HF) { // survived in HF wlatten.push_back(lambda); - rand = G4UniformRand(); double effHEM = computeHEMEff(lambda); // compute number of bounces in air guide rand = G4UniformRand(); @@ -166,6 +165,7 @@ int HFCherenkov::computeNPE(const G4Step* aStep, double tang = sin_air / std::sqrt(1. - sin_air * sin_air); int nbounce = length_lg / tlength * tang + 0.5; double eff = pow(effHEM, nbounce); + rand = G4UniformRand(); #ifdef EDM_ML_DEBUG edm::LogVerbatim("HFShower") << "HFCherenkov::computeNPE: w_ph " << w_ph << " effHEM " << effHEM << " eff " << eff << " Random " << rand << " Survive? " << (rand < eff);