Go to the documentation of this file.
15 #include "G4Material.hh"
16 #include "CLHEP/Units/GlobalSystemOfUnits.h"
35 <<
" with three constants kB = " <<
birk1_ <<
", C1 = " <<
birk2_
45 throw cms::Exception(
"Unknown",
"HCalTB06BeamSD") <<
"Cannot find HcalTB06BeamParameters";
52 double destep = aStep->GetTotalEnergyDeposit();
58 << aStep->GetPreStepPoint()->GetTouchable()->GetVolume()->GetName() <<
" weight "
65 const G4StepPoint* preStepPoint = aStep->GetPreStepPoint();
66 const G4VTouchable* touch = preStepPoint->GetTouchable();
67 std::string name = static_cast<std::string>(preStepPoint->GetPhysicalVolume()->GetName());
70 int lay = 0,
x = 0,
y = 0;
72 lay = (touch->GetReplicaNumber(0));
75 lay = (touch->GetReplicaNumber(1));
76 G4ThreeVector localPoint =
setToLocal(preStepPoint->GetPosition(), touch);
77 x = (
int)(localPoint.x() / (0.2 * mm));
78 y = (
int)(localPoint.y() / (0.2 * mm));
T const * product() const
const HcalTB06BeamParameters * hcalBeamPar_
static uint32_t packIndex(int det, int lay, int x, int y)
std::vector< std::string > wchambers_
bool isItWireChamber(const std::string &)
double getAttenuation(const G4Step *aStep, double birk1, double birk2, double birk3) const
HcalTB06BeamSD(const std::string &, const edm::EventSetup &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
double getEnergyDeposit(const G4Step *) override
G4ThreeVector setToLocal(const G4ThreeVector &, const G4VTouchable *) const
uint32_t setDetUnitId(const G4Step *step) override
~HcalTB06BeamSD() override
Log< level::Info, true > LogVerbatim
T getParameter(std::string const &) const
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