#include <DreamSD.h>
Public Member Functions | |
DreamSD (G4String, const DDCompactView &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *) | |
virtual bool | ProcessHits (G4Step *step, G4TouchableHistory *tHistory) |
virtual uint32_t | setDetUnitId (G4Step *) |
virtual | ~DreamSD () |
Public Member Functions inherited from CaloSD | |
CaloSD (G4String aSDname, const DDCompactView &cpv, const SensitiveDetectorCatalog &clg, edm::ParameterSet const &p, const SimTrackManager *, int tSlice=1, bool ignoreTkID=false) | |
virtual void | clear () |
virtual void | DrawAll () |
virtual void | EndOfEvent (G4HCofThisEvent *eventHC) |
void | fillHits (edm::PCaloHitContainer &, std::string n) |
virtual double | getEnergyDeposit (G4Step *step) |
virtual void | Initialize (G4HCofThisEvent *HCE) |
virtual void | PrintAll () |
virtual bool | ProcessHits (G4GFlashSpot *aSpot, G4TouchableHistory *) |
virtual | ~CaloSD () |
Public Member Functions inherited from SensitiveCaloDetector | |
SensitiveCaloDetector (std::string &iname, const DDCompactView &cpv, const SensitiveDetectorCatalog &clg, edm::ParameterSet const &p) | |
Public Member Functions inherited from SensitiveDetector | |
virtual void | AssignSD (const std::string &vname) |
Local3DPoint | ConvertToLocal3DPoint (const G4ThreeVector &point) |
Local3DPoint | FinalStepPosition (G4Step *s, coordinates) |
virtual std::vector< std::string > | getNames () |
Local3DPoint | InitialStepPosition (G4Step *s, coordinates) |
std::string | nameOfSD () |
void | NaNTrap (G4Step *step) |
void | Register () |
SensitiveDetector (std::string &iname, const DDCompactView &cpv, const SensitiveDetectorCatalog &, edm::ParameterSet const &p) | |
virtual | ~SensitiveDetector () |
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 | |
virtual G4bool | getStepInfo (G4Step *aStep) |
virtual void | initRun () |
Protected Member Functions inherited from CaloSD | |
G4bool | checkHit () |
virtual void | clearHits () |
CaloG4Hit * | createNewHit () |
virtual bool | filterHit (CaloG4Hit *, double) |
double | getAttenuation (G4Step *aStep, double birk1, double birk2, double birk3) |
virtual uint16_t | getDepth (G4Step *) |
int | getNumberOfHits () |
double | getResponseWt (G4Track *) |
virtual int | getTrackID (G4Track *) |
G4bool | hitExists () |
void | resetForNewPrimary (const G4ThreeVector &, double) |
G4ThreeVector | setToGlobal (const G4ThreeVector &, const G4VTouchable *) |
G4ThreeVector | setToLocal (const G4ThreeVector &, const G4VTouchable *) |
virtual void | update (const BeginOfRun *) |
This routine will be called when the appropriate signal arrives. More... | |
virtual void | update (const BeginOfEvent *) |
This routine will be called when the appropriate signal arrives. More... | |
virtual void | update (const BeginOfTrack *trk) |
This routine will be called when the appropriate signal arrives. More... | |
virtual void | update (const EndOfTrack *trk) |
This routine will be called when the appropriate signal arrives. More... | |
virtual void | update (const ::EndOfEvent *) |
void | updateHit (CaloG4Hit *) |
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_ (G4Step *aStep) |
Returns the total energy due to Cherenkov radiation. More... | |
const double | crystalLength (G4LogicalVolume *) const |
const double | crystalWidth (G4LogicalVolume *) const |
double | curve_LY (G4Step *, int) |
double | getAverageNumberOfPhotons_ (const double charge, const double beta, const G4Material *aMaterial, 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 (G4String, const DDCompactView &) |
bool | setPbWO2MaterialProperties_ (G4Material *aMaterial) |
Sets material properties at run-time... More... | |
Private Attributes | |
double | birk1 |
double | birk2 |
double | birk3 |
std::auto_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 | |
Public 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 | ( | G4String | 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, doCherenkov_, g, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), initMap(), edm::Service< T >::isAvailable(), TFileService::make(), MeV, nphotons_, ntuple_, px_, py_, pz_, readBothSide_, slopeLY, useBirk, x_, y_, and z_.
|
private |
Returns the total energy due to Cherenkov radiation.
Definition at line 296 of file DreamSD.cc.
References beta, funct::cos(), getAverageNumberOfPhotons_(), getPhotonEnergyDeposit_(), LogDebug, materialPropertiesTable, nphotons_, ntuple_, NULL, phi, px_, py_, pz_, funct::sin(), mathSSE::sqrt(), x_, y_, and z_.
Referenced by getStepInfo().
|
private |
Definition at line 273 of file DreamSD.cc.
References xtalLMap.
Referenced by curve_LY(), and getPhotonEnergyDeposit_().
|
private |
Definition at line 283 of file DreamSD.cc.
References create_public_lumi_plots::width, and xtalLMap.
Referenced by getPhotonEnergyDeposit_().
|
private |
Definition at line 242 of file DreamSD.cc.
References crystalLength(), LogDebug, CaloSD::setToLocal(), slopeLY, and histoStyle::weight.
Referenced by getStepInfo().
|
private |
Returns average number of photons created by track.
Definition at line 428 of file DreamSD.cc.
References beta, chAngleIntegrals_, and LogDebug.
Referenced by cherenkovDeposit_().
|
private |
Returns energy deposit for a given photon.
Definition at line 563 of file DreamSD.cc.
References crystalLength(), crystalWidth(), relval_parameters_module::energy, PMTResponse::getEfficiency(), LogDebug, and detailsBasic3DVector::y.
Referenced by cherenkovDeposit_().
|
protectedvirtual |
Reimplemented from CaloSD.
Definition at line 99 of file DreamSD.cc.
References birk1, birk2, birk3, cherenkovDeposit_(), CaloSD::currentID, curve_LY(), TauDecayModes::dec, doCherenkov_, CaloSD::edepositEM, CaloSD::edepositHAD, archive::flag, CaloSD::getAttenuation(), TrackInformation::getIDonCaloSurface(), LogDebug, MeV, CaloSD::preStepPoint, setDetUnitId(), CaloHitID::setID(), side, CaloSD::theTrack, cond::rpcobgas::time, CaloHitID::unitID(), useBirk, and histoStyle::weight.
Referenced by ProcessHits().
|
private |
Definition at line 194 of file DreamSD.cc.
References DDFilteredView::addFilter(), DDSpecificsFilter::equals, alcazmumu_cfi::filter, DDFilteredView::firstChild(), i, LogDebug, DDFilteredView::logicalPart(), DDName::name(), SensitiveDetector::name, DDBase< N, C >::name(), DDFilteredView::next(), DDSolid::parameters(), DDSpecificsFilter::setCriteria(), DDSolid::shape(), DDLogicalPart::solid(), python.multivaluedict::sort(), create_public_lumi_plots::width, and xtalLMap.
Referenced by DreamSD().
|
protectedvirtual |
Reimplemented from CaloSD.
Definition at line 165 of file DreamSD.cc.
References materialPropertiesTable, setPbWO2MaterialProperties_(), and xtalLMap.
|
virtual |
Reimplemented from CaloSD.
Definition at line 77 of file DreamSD.cc.
References CaloSD::createNewHit(), CaloSD::currentHit, CaloSD::edepositEM, CaloSD::edepositHAD, getStepInfo(), CaloSD::hitExists(), NULL, readBothSide_, and side.
|
virtual |
Implements CaloSD.
Definition at line 185 of file DreamSD.cc.
References LogDebug.
Referenced by getStepInfo().
|
private |
Sets material properties at run-time...
Definition at line 500 of file DreamSD.cc.
References chAngleIntegrals_, cmsHarvester::index, LogDebug, AlCaHLTBitMon_QueryRunRegistry::string, and table.
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 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().