22 #include "G4StepPoint.hh" 38 SetVerboseLevel(verbn);
52 if (name ==
"FastTimerHitsBarrel") {
55 }
else if (name ==
"FastTimerHitsEndcap") {
65 double newTimeFactor = 1. / m_p.
getParameter<
double>(
"TimeSliceUnit");
66 edm::LogInfo(
"MtdSim") <<
"New time factor = " << newTimeFactor;
69 edm::LogVerbatim(
"MtdSim") <<
"MtdSD: Instantiation completed for " << name <<
" of type " <<
type;
86 const std::vector<double>& fvec = value.
doubles();
87 int nval = fvec.size();
89 edm::LogError(
"MtdSim") <<
"MtdSD : # of " << str <<
" bins " << nval <<
" < 1 ==> illegal";
100 if (scheme !=
nullptr) {
101 edm::LogInfo(
"MtdSim") <<
"MtdSD: updates numbering scheme for " << GetName();
110 const G4VTouchable* touch = aStep->GetPreStepPoint()->GetTouchable();
111 int theSize = touch->GetHistoryDepth() + 1;
116 for (
int ii = 0;
ii < theSize;
ii++) {
119 edm::LogInfo(
"MtdSim") <<
"MtdSD::getBaseNumber(): Adding level " <<
ii <<
": " << touch->GetVolume(
ii)->GetName()
120 <<
"[" << touch->GetReplicaNumber(
ii) <<
"]";
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
const std::vector< double > & doubles() const
a reference to the double-valued values stored in the given instance of DDValue
void setTimeFactor(double)
bool DDfetch(const DDsvalues_type *, DDValue &)
helper for retrieving DDValues from DDsvalues_type *.
Detector identifier base class for the MIP Timing Layer.
uint32_t setDetUnitId(const G4Step *) override
virtual uint32_t getUnitID(const MTDBaseNumber &baseNumber) const =0
std::vector< int > dbl_to_int(const std::vector< double > &vecdbl)
Converts a std::vector of doubles to a std::vector of int.
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
MTDBaseNumber theBaseNumber
void getBaseNumber(const G4Step *)
void setNumberingScheme(MTDNumberingScheme *)
MTDNumberingScheme * numberingScheme
void setSize(const int &size)
DDsvalues_type mergedSpecifics() const
void addLevel(const std::string &name, const int ©Number)
MtdSD(const std::string &, const edm::EventSetup &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
bool firstChild()
set the current node to the first child ...
static TrackerG4SimHitNumberingScheme & numberingScheme(const GeometricDet &det)
std::vector< double > getDDDArray(const std::string &, const DDsvalues_type &)