#include <DreamSD.h>
Public Member Functions | |
DreamSD (const std::string &, const DDCompactView *, const cms::DDCompactView *, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *) | |
uint32_t | setDetUnitId (const G4Step *) override |
~DreamSD () override | |
Public Member Functions inherited from CaloSD | |
CaloSD (const std::string &aSDname, const SensitiveDetectorCatalog &clg, edm::ParameterSet const &p, const SimTrackManager *, float timeSlice=1., bool ignoreTkID=false) | |
void | clear () override |
void | clearHits () override |
void | DrawAll () override |
void | EndOfEvent (G4HCofThisEvent *eventHC) override |
void | fillHits (edm::PCaloHitContainer &, const std::string &) override |
void | Initialize (G4HCofThisEvent *HCE) override |
bool | isItFineCalo (const G4VTouchable *touch) |
void | PrintAll () override |
G4bool | ProcessHits (G4Step *step, G4TouchableHistory *) override |
bool | ProcessHits (G4GFlashSpot *aSpot, G4TouchableHistory *) override |
void | reset () override |
~CaloSD () override | |
Public Member Functions inherited from SensitiveCaloDetector | |
SensitiveCaloDetector (const std::string &iname, const SensitiveDetectorCatalog &clg) | |
Public Member Functions inherited from SensitiveDetector | |
void | EndOfEvent (G4HCofThisEvent *eventHC) override |
const std::vector< std::string > & | getNames () const |
void | Initialize (G4HCofThisEvent *eventHC) override |
bool | isCaloSD () const |
SensitiveDetector (const std::string &iname, const SensitiveDetectorCatalog &, bool calo) | |
~SensitiveDetector () override | |
Public Member Functions inherited from Observer< const BeginOfRun * > | |
Observer () | |
void | slotForUpdate (const BeginOfRun *iT) |
virtual | ~Observer () |
Public Member Functions inherited from Observer< const BeginOfEvent * > | |
Observer () | |
void | slotForUpdate (const BeginOfEvent *iT) |
virtual | ~Observer () |
Public Member Functions inherited from Observer< const BeginOfTrack * > | |
Observer () | |
void | slotForUpdate (const BeginOfTrack *iT) |
virtual | ~Observer () |
Public Member Functions inherited from Observer< const EndOfTrack * > | |
Observer () | |
void | slotForUpdate (const EndOfTrack *iT) |
virtual | ~Observer () |
Public Member Functions inherited from Observer< const EndOfEvent * > | |
Observer () | |
void | slotForUpdate (const EndOfEvent *iT) |
virtual | ~Observer () |
Protected Member Functions | |
double | getEnergyDeposit (const G4Step *) override |
void | initRun () override |
Protected Member Functions inherited from CaloSD | |
bool | checkHit () |
CaloG4Hit * | createNewHit (const G4Step *, const G4Track *) |
virtual void | endEvent () |
virtual double | EnergyCorrected (const G4Step &step, const G4Track *) |
virtual bool | filterHit (CaloG4Hit *, double) |
unsigned int | findBoundaryCrossingParent (const G4Track *track, bool markParentAsSaveable=true) |
double | getAttenuation (const G4Step *aStep, double birk1, double birk2, double birk3) const |
virtual uint16_t | getDepth (const G4Step *) |
virtual bool | getFromLibrary (const G4Step *step) |
int | getNumberOfHits () |
double | getResponseWt (const G4Track *) |
virtual int | getTrackID (const G4Track *) |
bool | hitExists (const G4Step *) |
void | ignoreRejection () |
virtual void | initEvent (const BeginOfEvent *) |
void | printDetectorLevels (const G4VTouchable *) const |
void | processHit (const G4Step *step) |
void | resetForNewPrimary (const G4Step *) |
void | setNumberCheckedHits (int val) |
void | setParameterized (bool val) |
G4ThreeVector | setToGlobal (const G4ThreeVector &, const G4VTouchable *) const |
G4ThreeVector | setToLocal (const G4ThreeVector &, const G4VTouchable *) const |
virtual int | setTrackID (const G4Step *) |
void | setUseMap (bool val) |
std::string | shortreprID (const CaloHitID &ID) |
std::string | shortreprID (const CaloG4Hit *hit) |
void | update (const BeginOfRun *) override |
This routine will be called when the appropriate signal arrives. More... | |
void | update (const BeginOfEvent *) override |
This routine will be called when the appropriate signal arrives. More... | |
void | update (const BeginOfTrack *trk) override |
This routine will be called when the appropriate signal arrives. More... | |
void | update (const EndOfTrack *trk) override |
This routine will be called when the appropriate signal arrives. More... | |
void | update (const ::EndOfEvent *) override |
void | updateHit (CaloG4Hit *) |
Protected Member Functions inherited from SensitiveDetector | |
TrackInformation * | cmsTrackInformation (const G4Track *aTrack) |
Local3DPoint | ConvertToLocal3DPoint (const G4ThreeVector &point) const |
Local3DPoint | FinalStepPosition (const G4Step *step, coordinates) const |
Local3DPoint | InitialStepPosition (const G4Step *step, coordinates) const |
Local3DPoint | LocalPostStepPosition (const G4Step *step) const |
Local3DPoint | LocalPreStepPosition (const G4Step *step) const |
void | NaNTrap (const G4Step *step) const |
void | setNames (const std::vector< std::string > &) |
Protected Member Functions inherited from Observer< const EndOfEvent * > | |
virtual void | update (const EndOfEvent *)=0 |
This routine will be called when the appropriate signal arrives. More... | |
Private Types | |
typedef std::map < G4LogicalVolume *, Doubles > | DimensionMap |
typedef std::pair< double, double > | Doubles |
Private Member Functions | |
double | cherenkovDeposit_ (const G4Step *aStep) |
Returns the total energy due to Cherenkov radiation. More... | |
double | crystalLength (G4LogicalVolume *) const |
double | crystalWidth (G4LogicalVolume *) const |
double | curve_LY (const G4Step *, int) |
void | fillMap (const std::string &, double, double) |
double | getAverageNumberOfPhotons_ (const double charge, const double beta, const G4Material *aMaterial, const G4MaterialPropertyVector *rIndex) |
Returns average number of photons created by track. More... | |
double | getPhotonEnergyDeposit_ (const G4ParticleMomentum &p, const G4ThreeVector &x, const G4Step *aStep) |
Returns energy deposit for a given photon. More... | |
void | initMap (const std::string &) |
bool | setPbWO2MaterialProperties_ (G4Material *aMaterial) |
Sets material properties at run-time... More... | |
Private Attributes | |
double | birk1_ |
double | birk2_ |
double | birk3_ |
std::unique_ptr < G4PhysicsFreeVector > | chAngleIntegrals_ |
Table of Cherenkov angle integrals vs photon momentum. More... | |
const cms::DDCompactView * | cpvDD4hep_ |
const DDCompactView * | cpvDDD_ |
bool | dd4hep_ |
bool | doCherenkov_ |
G4MaterialPropertiesTable * | materialPropertiesTable_ |
int | nphotons_ |
bool | readBothSide_ |
int | side_ |
double | slopeLY_ |
bool | useBirk_ |
DimensionMap | xtalLMap_ |
Static Private Attributes | |
static constexpr double | k_ScaleFromDD4hepToG4 = 1.0 / dd4hep::mm |
static constexpr double | k_ScaleFromDDDToG4 = 1.0 |
Additional Inherited Members | |
Protected Types inherited from SensitiveDetector | |
enum | coordinates { WorldCoordinates, LocalCoordinates } |
Static Protected Member Functions inherited from CaloSD | |
static std::string | printableDecayChain (const std::vector< unsigned int > &decayChain) |
Protected Attributes inherited from CaloSD | |
CaloG4Hit * | currentHit |
CaloHitID | currentID |
float | edepositEM |
float | edepositHAD |
double | eminHit |
double | energyCut |
G4ThreeVector | entranceLocal |
G4ThreeVector | entrancePoint |
bool | forceSave |
float | incidentEnergy |
double | kmaxIon |
double | kmaxNeutron |
double | kmaxProton |
G4ThreeVector | posGlobal |
CaloHitID | previousID |
bool | suppressHeavy |
double | tmaxHit |
|
private |
|
private |
DreamSD::DreamSD | ( | const std::string & | name, |
const DDCompactView * | cpvDDD, | ||
const cms::DDCompactView * | cpvDD4hep, | ||
const SensitiveDetectorCatalog & | clg, | ||
edm::ParameterSet const & | p, | ||
const SimTrackManager * | manager | ||
) |
Definition at line 31 of file DreamSD.cc.
References birk1_, birk2_, birk3_, chAngleIntegrals_, dd4hep_, doCherenkov_, g, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), initMap(), isotrackApplyRegressor::k, MeV, readBothSide_, slopeLY_, and useBirk_.
|
private |
Returns the total energy due to Cherenkov radiation.
Definition at line 242 of file DreamSD.cc.
References HLT_FULL_cff::beta, RecoTauCleanerPlugins::charge, funct::cos(), Phase1L1TJetProducer_cfi::cosPhi, getAverageNumberOfPhotons_(), getPhotonEnergyDeposit_(), materialPropertiesTable_, phi, funct::sin(), Phase1L1TJetProducer_cfi::sinPhi, and mathSSE::sqrt().
Referenced by getEnergyDeposit().
|
private |
Definition at line 222 of file DreamSD.cc.
References xtalLMap_.
Referenced by curve_LY(), and getPhotonEnergyDeposit_().
|
private |
Definition at line 231 of file DreamSD.cc.
References xtalLMap_.
Referenced by getPhotonEnergyDeposit_().
|
private |
Definition at line 195 of file DreamSD.cc.
References crystalLength(), CaloSD::setToLocal(), slopeLY_, and histoStyle::weight.
Referenced by getEnergyDeposit().
|
private |
Definition at line 175 of file DreamSD.cc.
References AlCaHLTBitMon_QueryRunRegistry::string, and xtalLMap_.
Referenced by initMap().
|
private |
Returns average number of photons created by track.
Definition at line 358 of file DreamSD.cc.
References HLT_FULL_cff::beta, and chAngleIntegrals_.
Referenced by cherenkovDeposit_().
|
overrideprotectedvirtual |
Reimplemented from CaloSD.
Definition at line 67 of file DreamSD.cc.
References birk1_, birk2_, birk3_, cherenkovDeposit_(), curve_LY(), doCherenkov_, CaloSD::getAttenuation(), MeV, side_, useBirk_, and histoStyle::weight.
|
private |
Returns energy deposit for a given photon.
Definition at line 503 of file DreamSD.cc.
References funct::abs(), crystalLength(), crystalWidth(), relval_parameters_module::energy, PMTResponse::getEfficiency(), and y.
Referenced by cherenkovDeposit_().
|
private |
Definition at line 120 of file DreamSD.cc.
References cpvDD4hep_, cpvDDD_, dd4hep_, cms::DDSolidShapeMap, fillMap(), alcazmumu_cfi::filter, DDFilteredView::firstChild(), cms::DDFilteredView::firstChild(), mps_fire::i, k_ScaleFromDD4hepToG4, k_ScaleFromDDDToG4, DDFilteredView::logicalPart(), cms::dd::name(), DDName::name(), DDBase< N, C >::name(), mergeVDriftHistosByStation::name, cms::DDFilteredView::name(), DDFilteredView::next(), DDSolid::parameters(), cms::DDFilteredView::parameters(), DDSolid::shape(), cms::DDFilteredView::shape(), DDLogicalPart::solid(), AlCaHLTBitMon_QueryRunRegistry::string, and xtalLMap_.
Referenced by DreamSD().
|
overrideprotectedvirtual |
Reimplemented from CaloSD.
Definition at line 87 of file DreamSD.cc.
References materialPropertiesTable_, setPbWO2MaterialProperties_(), and xtalLMap_.
|
overridevirtual |
Implements CaloSD.
Definition at line 106 of file DreamSD.cc.
References gpuClustering::id, readBothSide_, and side_.
|
private |
Sets material properties at run-time...
Definition at line 421 of file DreamSD.cc.
References chAngleIntegrals_, mergeVDriftHistosByStation::name, AlCaHLTBitMon_QueryRunRegistry::string, and TableParser::table.
Referenced by initRun().
|
private |
Definition at line 67 of file DreamSD.h.
Referenced by DreamSD(), and getEnergyDeposit().
|
private |
Definition at line 67 of file DreamSD.h.
Referenced by DreamSD(), and getEnergyDeposit().
|
private |
Definition at line 67 of file DreamSD.h.
Referenced by DreamSD(), and getEnergyDeposit().
|
private |
Table of Cherenkov angle integrals vs photon momentum.
Definition at line 74 of file DreamSD.h.
Referenced by DreamSD(), getAverageNumberOfPhotons_(), and setPbWO2MaterialProperties_().
|
private |
|
private |
|
private |
|
private |
Definition at line 66 of file DreamSD.h.
Referenced by DreamSD(), and getEnergyDeposit().
|
staticprivate |
|
staticprivate |
|
private |
Definition at line 75 of file DreamSD.h.
Referenced by cherenkovDeposit_(), and initRun().
|
private |
Definition at line 66 of file DreamSD.h.
Referenced by DreamSD(), and setDetUnitId().
|
private |
Definition at line 71 of file DreamSD.h.
Referenced by getEnergyDeposit(), and setDetUnitId().
|
private |
Definition at line 68 of file DreamSD.h.
Referenced by curve_LY(), and DreamSD().
|
private |
Definition at line 66 of file DreamSD.h.
Referenced by DreamSD(), and getEnergyDeposit().
|
private |
Definition at line 69 of file DreamSD.h.
Referenced by crystalLength(), crystalWidth(), fillMap(), initMap(), and initRun().