#include <DreamSD.h>
Public Member Functions | |
DreamSD (const std::string &, const DDCompactView &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *) | |
bool | ProcessHits (G4Step *step, G4TouchableHistory *tHistory) override |
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 |
virtual double | getEnergyDeposit (G4Step *step) |
void | Initialize (G4HCofThisEvent *HCE) override |
void | PrintAll () 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 | |
G4bool | getStepInfo (G4Step *aStep) override |
void | initRun () override |
Protected Member Functions inherited from CaloSD | |
G4bool | checkHit () |
CaloG4Hit * | createNewHit () |
virtual bool | filterHit (CaloG4Hit *, double) |
double | getAttenuation (const G4Step *aStep, double birk1, double birk2, double birk3) |
virtual uint16_t | getDepth (const G4Step *) |
int | getNumberOfHits () |
double | getResponseWt (const G4Track *) |
virtual int | getTrackID (const G4Track *) |
G4bool | hitExists () |
void | resetForNewPrimary (const G4ThreeVector &, double) |
G4ThreeVector | setToGlobal (const G4ThreeVector &, const G4VTouchable *) |
G4ThreeVector | setToLocal (const G4ThreeVector &, const G4VTouchable *) |
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 | |
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 | |
int | checkHits |
double | correctT |
bool | corrTOFBeam |
CaloG4Hit * | currentHit |
CaloHitID | currentID |
float | edepositEM |
float | edepositHAD |
double | eminHit |
double | eminHitD |
G4int | emPDG |
double | energyCut |
G4ThreeVector | entranceLocal |
G4ThreeVector | entrancePoint |
G4int | epPDG |
bool | forceSave |
G4int | gammaPDG |
float | incidentEnergy |
double | kmaxIon |
double | kmaxNeutron |
double | kmaxProton |
const SimTrackManager * | m_trackManager |
G4ThreeVector | posGlobal |
G4StepPoint * | preStepPoint |
CaloHitID | previousID |
int | primIDSaved |
bool | runInit |
bool | suppressHeavy |
G4Track * | theTrack |
double | tmaxHit |
bool | useMap |
|
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 getStepInfo(), initRun(), ProcessHits(), and setDetUnitId().
|
private |
Returns the total energy due to Cherenkov radiation.
Definition at line 295 of file DreamSD.cc.
References beta, ALCARECOTkAlJpsiMuMu_cff::charge, funct::cos(), reco::dp, getAverageNumberOfPhotons_(), getPhotonEnergyDeposit_(), LogDebug, materialPropertiesTable, nphotons_, ntuple_, phi, dataAnalyzerFineBiningParameters_cff::Pmax, px_, py_, pz_, funct::sin(), mathSSE::sqrt(), x_, y_, and z_.
Referenced by getStepInfo().
|
private |
Definition at line 272 of file DreamSD.cc.
References xtalLMap.
Referenced by curve_LY(), and getPhotonEnergyDeposit_().
|
private |
Definition at line 282 of file DreamSD.cc.
References ApeEstimator_cff::width, and xtalLMap.
Referenced by getPhotonEnergyDeposit_().
|
private |
Definition at line 241 of file DreamSD.cc.
References crystalLength(), LogDebug, CaloSD::setToLocal(), slopeLY, and mps_merge::weight.
Referenced by getStepInfo().
|
private |
Returns average number of photons created by track.
Definition at line 427 of file DreamSD.cc.
References beta, chAngleIntegrals_, reco::dp, LogDebug, and dataAnalyzerFineBiningParameters_cff::Pmax.
Referenced by cherenkovDeposit_().
|
private |
Returns energy deposit for a given photon.
Definition at line 561 of file DreamSD.cc.
References crystalLength(), crystalWidth(), PMTResponse::getEfficiency(), LogDebug, and y.
Referenced by cherenkovDeposit_().
|
overrideprotectedvirtual |
Reimplemented from CaloSD.
Definition at line 101 of file DreamSD.cc.
References birk1, birk2, birk3, cherenkovDeposit_(), CaloSD::currentID, curve_LY(), TauDecayModes::dec, doCherenkov_, CaloSD::edepositEM, CaloSD::edepositHAD, RemoveAddSevLevel::flag, CaloSD::getAttenuation(), TrackInformation::getIDonCaloSurface(), LogDebug, MeV, CaloSD::preStepPoint, setDetUnitId(), CaloHitID::setID(), side, CaloSD::theTrack, ntuplemaker::time, CaloHitID::unitID(), useBirk, and mps_merge::weight.
Referenced by ProcessHits(), and ~DreamSD().
|
private |
Definition at line 196 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 167 of file DreamSD.cc.
References materialPropertiesTable, setPbWO2MaterialProperties_(), and xtalLMap.
Referenced by ~DreamSD().
|
overridevirtual |
Reimplemented from CaloSD.
Definition at line 79 of file DreamSD.cc.
References CaloSD::createNewHit(), CaloSD::currentHit, CaloSD::edepositEM, CaloSD::edepositHAD, getStepInfo(), CaloSD::hitExists(), readBothSide_, and side.
Referenced by ~DreamSD().
|
overridevirtual |
Implements CaloSD.
Definition at line 187 of file DreamSD.cc.
References triggerObjects_cff::id, and LogDebug.
Referenced by getStepInfo(), and ~DreamSD().
|
private |
Sets material properties at run-time...
Definition at line 499 of file DreamSD.cc.
References chAngleIntegrals_, diffTreeTool::index, LogDebug, and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by initRun().
|
private |
Definition at line 59 of file DreamSD.h.
Referenced by DreamSD(), and getStepInfo().
|
private |
Definition at line 59 of file DreamSD.h.
Referenced by DreamSD(), and getStepInfo().
|
private |
Definition at line 59 of file DreamSD.h.
Referenced by DreamSD(), and getStepInfo().
|
private |
Table of Cherenkov angle integrals vs photon momentum.
Definition at line 66 of file DreamSD.h.
Referenced by DreamSD(), getAverageNumberOfPhotons_(), and setPbWO2MaterialProperties_().
|
private |
Definition at line 58 of file DreamSD.h.
Referenced by DreamSD(), and getStepInfo().
|
private |
Definition at line 67 of file DreamSD.h.
Referenced by cherenkovDeposit_(), and initRun().
|
private |
Definition at line 70 of file DreamSD.h.
Referenced by cherenkovDeposit_(), and DreamSD().
|
private |
Definition at line 69 of file DreamSD.h.
Referenced by cherenkovDeposit_(), and DreamSD().
|
private |
Definition at line 71 of file DreamSD.h.
Referenced by cherenkovDeposit_(), and DreamSD().
|
private |
Definition at line 71 of file DreamSD.h.
Referenced by cherenkovDeposit_(), and DreamSD().
|
private |
Definition at line 71 of file DreamSD.h.
Referenced by cherenkovDeposit_(), and DreamSD().
|
private |
Definition at line 58 of file DreamSD.h.
Referenced by DreamSD(), and ProcessHits().
|
private |
Definition at line 63 of file DreamSD.h.
Referenced by getStepInfo(), and ProcessHits().
|
private |
Definition at line 60 of file DreamSD.h.
Referenced by curve_LY(), and DreamSD().
|
private |
Definition at line 58 of file DreamSD.h.
Referenced by DreamSD(), and getStepInfo().
|
private |
Definition at line 72 of file DreamSD.h.
Referenced by cherenkovDeposit_(), and DreamSD().
|
private |
Definition at line 61 of file DreamSD.h.
Referenced by crystalLength(), crystalWidth(), initMap(), and initRun().
|
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().