22 #include "G4StepPoint.hh" 38 SetVerboseLevel(verbn);
49 if (name ==
"FastTimerHitsBarrel") {
52 }
else if (name ==
"FastTimerHitsEndcap") {
61 double newTimeFactor = 1./m_p.
getParameter<
double>(
"TimeSliceUnit");
62 edm::LogInfo(
"MtdSim") <<
"New time factor = " << newTimeFactor;
66 << name <<
" of type " <<
type;
86 const std::vector<double> & fvec = value.
doubles();
87 int nval = fvec.size();
90 <<
" bins " << nval <<
" < 1 ==> illegal";
101 if (scheme !=
nullptr) {
102 edm::LogInfo(
"MtdSim") <<
"MtdSD: updates numbering scheme for " 112 const G4VTouchable* touch = aStep->GetPreStepPoint()->GetTouchable();
113 int theSize = touch->GetHistoryDepth()+1;
117 for (
int ii = 0;
ii < theSize ;
ii++) {
120 edm::LogInfo(
"MtdSim") <<
"MtdSD::getBaseNumber(): Adding level " <<
ii 121 <<
": " << touch->GetVolume(
ii)->GetName() <<
"[" 122 << 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)
Compact representation of the geometrical detector hierarchy.
bool DDfetch(const DDsvalues_type *, DDValue &)
helper for retrieving DDValues from DDsvalues_type *.
static TrackerG4SimHitNumberingScheme & numberingScheme(const DDCompactView &cpv, const GeometricDet &det)
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.
MtdSD(const std::string &, const DDCompactView &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
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)
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
bool firstChild()
set the current node to the first child ...
std::vector< double > getDDDArray(const std::string &, const DDsvalues_type &)