|
|
Go to the documentation of this file.
18 #include "G4VProcess.hh"
20 #include "G4SystemOfUnits.hh"
35 if (
name ==
"EcalTBH4BeamHits") {
38 edm::LogWarning(
"EcalTBSim") <<
"EcalTBH4BeamSD: ReadoutName not supported\n";
43 edm::LogInfo(
"EcalTBSim") <<
"Constructing a EcalTBH4BeamSD with name " << GetName();
45 <<
" with three constants kB = " <<
birk1 <<
", C1 = " <<
birk2
46 <<
", C2 = " <<
birk3;
59 double edep = aStep->GetTotalEnergyDeposit() *
weight;
60 LogDebug(
"EcalTBSim") <<
"EcalTBH4BeamSD:: " << aStep->GetPreStepPoint()->GetPhysicalVolume()->GetName()
61 <<
" Light Collection Efficiency " <<
weight <<
" Weighted Energy Deposit " << edep /
MeV
73 edm::LogInfo(
"EcalTBSim") <<
"EcalTBH4BeamSD: updates numbering scheme for " << GetName() <<
"\n";
82 const G4VTouchable *touch = aStep->GetPreStepPoint()->GetTouchable();
83 int theSize = touch->GetHistoryDepth() + 1;
88 for (
int ii = 0;
ii < theSize;
ii++) {
90 LogDebug(
"EcalTBSim") <<
"EcalTBH4BeamSD::getBaseNumber(): Adding level " <<
ii <<
": "
91 << touch->GetVolume(
ii)->GetName() <<
"[" << touch->GetReplicaNumber(
ii) <<
"]";
void addLevel(const std::string &name, const int ©Number)
double getAttenuation(const G4Step *aStep, double birk1, double birk2, double birk3) const
Log< level::Info, false > LogInfo
void setNumberingScheme(EcalNumberingScheme *scheme)
Log< level::Warning, false > LogWarning
double getEnergyDeposit(const G4Step *) override
EcalTBH4BeamSD(const std::string &, const edm::EventSetup &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
uint32_t setDetUnitId(const G4Step *step) override
static TrackerG4SimHitNumberingScheme & numberingScheme(const GeometricDet &det)
void getBaseNumber(const G4Step *aStep)
EcalBaseNumber theBaseNumber
~EcalTBH4BeamSD() override
virtual uint32_t getUnitID(const EcalBaseNumber &baseNumber) const =0
T getParameter(std::string const &) const
EcalNumberingScheme * numberingScheme
void setSize(const int &size)
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g