#include <DreamSD.h>
Public Member Functions | |
DreamSD (const std::string &, const 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 DDCompactView &cpv, 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 |
void | PrintAll () override |
G4bool | ProcessHits (G4Step *step, G4TouchableHistory *) override |
bool | ProcessHits (G4GFlashSpot *aSpot, G4TouchableHistory *) override |
~CaloSD () override | |
Public Member Functions inherited from SensitiveCaloDetector | |
SensitiveCaloDetector (const std::string &iname, const DDCompactView &cpv, const SensitiveDetectorCatalog &clg, edm::ParameterSet const &p) | |
Public Member Functions inherited from SensitiveDetector | |
void | EndOfEvent (G4HCofThisEvent *eventHC) override |
const std::vector< std::string > & | getNames () const |
void | Initialize (G4HCofThisEvent *eventHC) override |
SensitiveDetector (const std::string &iname, const DDCompactView &cpv, const SensitiveDetectorCatalog &, edm::ParameterSet const &p) | |
~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 *) |
virtual bool | filterHit (CaloG4Hit *, double) |
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 | 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) |
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... | |
const double | crystalLength (G4LogicalVolume *) const |
const double | crystalWidth (G4LogicalVolume *) const |
double | curve_LY (const G4Step *, int) |
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 &, const DDCompactView &) |
bool | setPbWO2MaterialProperties_ (G4Material *aMaterial) |
Sets material properties at run-time... More... | |
Private Attributes | |
double | birk1 |
double | birk2 |
double | birk3 |
std::unique_ptr< G4PhysicsOrderedFreeVector > | chAngleIntegrals_ |
Table of Cherenkov angle integrals vs photon momentum. More... | |
bool | doCherenkov_ |
G4MaterialPropertiesTable * | materialPropertiesTable |
int | nphotons_ |
TTree * | ntuple_ |
float | px_ [MAXPHOTONS] |
float | py_ [MAXPHOTONS] |
float | pz_ [MAXPHOTONS] |
bool | readBothSide_ |
int | side |
double | slopeLY |
bool | useBirk |
float | x_ [MAXPHOTONS] |
DimensionMap | xtalLMap |
float | y_ [MAXPHOTONS] |
float | z_ [MAXPHOTONS] |
Additional Inherited Members | |
Protected Types inherited from SensitiveDetector | |
enum | coordinates { WorldCoordinates, LocalCoordinates } |
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 & | cpv, | ||
const SensitiveDetectorCatalog & | clg, | ||
edm::ParameterSet const & | p, | ||
const SimTrackManager * | manager | ||
) |
Definition at line 29 of file DreamSD.cc.
References birk1, birk2, birk3, chAngleIntegrals_, doCherenkov_, g, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), initMap(), edm::Service< T >::isAvailable(), TFileService::make(), MeV, nphotons_, ntuple_, px_, py_, pz_, readBothSide_, slopeLY, compare::tfile, useBirk, x_, y_, and z_.
|
inlineoverride |
Definition at line 25 of file DreamSD.h.
References getEnergyDeposit(), initRun(), and setDetUnitId().
|
private |
Returns the total energy due to Cherenkov radiation.
Definition at line 228 of file DreamSD.cc.
References pfBoostedDoubleSVAK8TagInfos_cfi::beta, ALCARECOTkAlJpsiMuMu_cff::charge, funct::cos(), getAverageNumberOfPhotons_(), getPhotonEnergyDeposit_(), LogDebug, materialPropertiesTable, nphotons_, ntuple_, phi, dataAnalyzerFineBiningParameters_cff::Pmax, px_, py_, pz_, funct::sin(), mathSSE::sqrt(), x_, y_, and z_.
Referenced by getEnergyDeposit().
|
private |
Definition at line 205 of file DreamSD.cc.
References xtalLMap.
Referenced by curve_LY(), and getPhotonEnergyDeposit_().
|
private |
Definition at line 215 of file DreamSD.cc.
References ApeEstimator_cff::width, and xtalLMap.
Referenced by getPhotonEnergyDeposit_().
|
private |
Definition at line 174 of file DreamSD.cc.
References crystalLength(), LogDebug, CaloSD::setToLocal(), slopeLY, and mps_merge::weight.
Referenced by getEnergyDeposit().
|
private |
Returns average number of photons created by track.
Definition at line 360 of file DreamSD.cc.
References pfBoostedDoubleSVAK8TagInfos_cfi::beta, chAngleIntegrals_, LogDebug, and dataAnalyzerFineBiningParameters_cff::Pmax.
Referenced by cherenkovDeposit_().
|
overrideprotectedvirtual |
Reimplemented from CaloSD.
Definition at line 79 of file DreamSD.cc.
References birk1, birk2, birk3, cherenkovDeposit_(), curve_LY(), doCherenkov_, CaloSD::getAttenuation(), LogDebug, MeV, side, useBirk, and mps_merge::weight.
Referenced by ~DreamSD().
|
private |
Returns energy deposit for a given photon.
Definition at line 494 of file DreamSD.cc.
References crystalLength(), crystalWidth(), PMTResponse::getEfficiency(), LogDebug, and y.
Referenced by cherenkovDeposit_().
|
private |
Definition at line 129 of file DreamSD.cc.
References ALCARECOTkAlBeamHalo_cff::filter, DDFilteredView::firstChild(), mps_fire::i, LogDebug, DDFilteredView::logicalPart(), DDName::name(), dataset::name, DDBase< N, C >::name(), DDFilteredView::next(), DDSolid::parameters(), DDSolid::shape(), DDLogicalPart::solid(), ApeEstimator_cff::width, and xtalLMap.
Referenced by DreamSD().
|
overrideprotectedvirtual |
Reimplemented from CaloSD.
Definition at line 98 of file DreamSD.cc.
References materialPropertiesTable, setPbWO2MaterialProperties_(), and xtalLMap.
Referenced by ~DreamSD().
|
overridevirtual |
Implements CaloSD.
Definition at line 118 of file DreamSD.cc.
References triggerObjects_cff::id, LogDebug, readBothSide_, and side.
Referenced by ~DreamSD().
|
private |
Sets material properties at run-time...
Definition at line 432 of file DreamSD.cc.
References chAngleIntegrals_, LogDebug, and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by initRun().
|
private |
Definition at line 60 of file DreamSD.h.
Referenced by DreamSD(), and getEnergyDeposit().
|
private |
Definition at line 60 of file DreamSD.h.
Referenced by DreamSD(), and getEnergyDeposit().
|
private |
Definition at line 60 of file DreamSD.h.
Referenced by DreamSD(), and getEnergyDeposit().
|
private |
Table of Cherenkov angle integrals vs photon momentum.
Definition at line 67 of file DreamSD.h.
Referenced by DreamSD(), getAverageNumberOfPhotons_(), and setPbWO2MaterialProperties_().
|
private |
Definition at line 59 of file DreamSD.h.
Referenced by DreamSD(), and getEnergyDeposit().
|
private |
Definition at line 68 of file DreamSD.h.
Referenced by cherenkovDeposit_(), and initRun().
|
private |
Definition at line 71 of file DreamSD.h.
Referenced by cherenkovDeposit_(), and DreamSD().
|
private |
Definition at line 70 of file DreamSD.h.
Referenced by cherenkovDeposit_(), and DreamSD().
|
private |
Definition at line 72 of file DreamSD.h.
Referenced by cherenkovDeposit_(), and DreamSD().
|
private |
Definition at line 72 of file DreamSD.h.
Referenced by cherenkovDeposit_(), and DreamSD().
|
private |
Definition at line 72 of file DreamSD.h.
Referenced by cherenkovDeposit_(), and DreamSD().
|
private |
Definition at line 59 of file DreamSD.h.
Referenced by DreamSD(), and setDetUnitId().
|
private |
Definition at line 64 of file DreamSD.h.
Referenced by getEnergyDeposit(), and setDetUnitId().
|
private |
Definition at line 61 of file DreamSD.h.
Referenced by curve_LY(), and DreamSD().
|
private |
Definition at line 59 of file DreamSD.h.
Referenced by DreamSD(), and getEnergyDeposit().
|
private |
Definition at line 73 of file DreamSD.h.
Referenced by cherenkovDeposit_(), and DreamSD().
|
private |
Definition at line 62 of file DreamSD.h.
Referenced by crystalLength(), crystalWidth(), initMap(), and initRun().
|
private |
Definition at line 73 of file DreamSD.h.
Referenced by cherenkovDeposit_(), and DreamSD().
|
private |
Definition at line 73 of file DreamSD.h.
Referenced by cherenkovDeposit_(), and DreamSD().