23 #include "G4StepPoint.hh" 24 #include "G4VPhysicalVolume.hh" 40 SetVerboseLevel(verbn);
55 edm::LogInfo(
"FastTimerSim") <<
"FastTimerSD: Instantiation completed for " << name <<
" of type " <<
type_;
64 int iz = (global.z() > 0) ? 1 : -1;
67 : (std::pair<int, int>(0, 0)));
70 edm::LogVerbatim(
"FastTimerSD") <<
"Volume " << aStep->GetPreStepPoint()->GetPhysicalVolume()->GetName() <<
": " 71 << global.z() <<
" Iz(eta)phi " << izphi.first <<
":" << izphi.second <<
":" << iz
72 <<
" id " << std::hex <<
id <<
std::dec;
84 edm::LogError(
"FastTimerSim") <<
"FastTimerSD : Cannot find FastTimeDDDConstants";
85 throw cms::Exception(
"Unknown",
"FastTimerSD") <<
"Cannot find FastTimeDDDConstants\n";
88 edm::LogVerbatim(
"FastTimerSD") <<
"FastTimerSD::Initialized with FastTimeDDDConstants\n";
95 const std::vector<double>& fvec = value.
doubles();
96 int nval = fvec.size();
98 edm::LogError(
"FastTimerSim") <<
"FastTimerSD : # of " << str <<
" bins " << nval <<
" < 1 ==> illegal";
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)
std::pair< int, int > getEtaPhi(double r, double phi) const
const G4ThreeVector & getLocalEntryPoint() const
constexpr uint32_t rawId() const
get the raw id
bool DDfetch(const DDsvalues_type *, DDValue &)
helper for retrieving DDValues from DDsvalues_type *.
void update(const BeginOfJob *) override
This routine will be called when the appropriate signal arrives.
const FastTimeDDDConstants * ftcons
std::vector< int > dbl_to_int(const std::vector< double > &vecdbl)
Converts a std::vector of doubles to a std::vector of int.
std::pair< int, int > getZPhi(double z, double phi) const
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
Abs< T >::type abs(const T &t)
uint32_t setDetUnitId(const G4Step *) override
const G4ThreeVector & getGlobalEntryPoint() const
std::vector< double > getDDDArray(const std::string &, const DDsvalues_type &)
DDsvalues_type mergedSpecifics() const
FastTimerSD(const std::string &, const edm::EventSetup &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
bool firstChild()
set the current node to the first child ...