20 #include "G4SDManager.hh"
21 #include "G4VProcess.hh"
22 #include "G4EventManager.hh"
24 #include "G4VProcess.hh"
30 #include "CLHEP/Units/GlobalSystemOfUnits.h"
40 m_TrackerSD.
getParameter<
double>(
"EnergyThresholdForHistoryInGeV") *
GeV;
42 setCuts(energyCut, energyHistoryCut);
51 const G4VTouchable* touch = aStep->GetPreStepPoint()->GetTouchable();
52 int level = (touch) ? ((touch->GetHistoryDepth()) + 1) : 0;
61 if (sensorName !=
"BCM1FSensor") {
62 edm::LogWarning(
"ForwardSim") <<
"Bcm1fSD::setDetUnitId -w- Sensor name " << sensorName <<
" not BCM1FSensor ";
64 if (detectorName !=
"BCM1F") {
65 edm::LogWarning(
"ForwardSim") <<
" Bcm1fSD::setDetUnitId -w- Detector name " << detectorName <<
" not BCM1F ";
67 int sensorNo = touch->GetReplicaNumber(0);
68 int diamondNo = touch->GetReplicaNumber(1);
69 int volumeNo = touch->GetReplicaNumber(3);
77 detId = 1000 * volumeNo + 10 * diamondNo + sensorNo;
85 static const float tolerance2 = (float)(0.0025 * CLHEP::mm * CLHEP::mm);
const G4ThreeVector & getLocalEntryPoint() const
void setCuts(double eCut, double historyCut)
uint32_t setDetUnitId(const G4Step *) override
Bcm1fSD(const std::string &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
bool checkHit(const G4Step *, BscG4Hit *) override
T mag2() const
The vector magnitude squared. Equivalent to vec.dot(vec)
const G4ThreeVector & getExitLocalP() const
T getParameter(std::string const &) const
std::string getName(const G4String &)
Log< level::Warning, false > LogWarning