Go to the documentation of this file. 1 #ifndef SimG4CMS_DreamSD_h
2 #define SimG4CMS_DreamSD_h
7 #include "G4PhysicsOrderedFreeVector.hh"
9 #include <DD4hep/DD4hepUnits.h>
15 class G4LogicalVolume;
33 typedef std::pair<double, double>
Doubles;
38 double curve_LY(
const G4Step *,
int);
47 const G4Material *aMaterial,
48 const G4MaterialPropertyVector *rIndex);
std::unique_ptr< G4PhysicsOrderedFreeVector > chAngleIntegrals_
Table of Cherenkov angle integrals vs photon momentum.
std::pair< double, double > Doubles
std::map< G4LogicalVolume *, Doubles > DimensionMap
void fillMap(const std::string &, double, double)
static constexpr double k_ScaleFromDDDToG4
double cherenkovDeposit_(const G4Step *aStep)
Returns the total energy due to Cherenkov radiation.
double getPhotonEnergyDeposit_(const G4ParticleMomentum &p, const G4ThreeVector &x, const G4Step *aStep)
Returns energy deposit for a given photon.
double crystalWidth(G4LogicalVolume *) const
G4MaterialPropertiesTable * materialPropertiesTable_
uint32_t setDetUnitId(const G4Step *) override
void initMap(const std::string &, const edm::EventSetup &)
double getAverageNumberOfPhotons_(const double charge, const double beta, const G4Material *aMaterial, const G4MaterialPropertyVector *rIndex)
Returns average number of photons created by track.
bool setPbWO2MaterialProperties_(G4Material *aMaterial)
Sets material properties at run-time...
static constexpr double k_ScaleFromDD4HepToG4
double crystalLength(G4LogicalVolume *) const
double getEnergyDeposit(const G4Step *) override
double curve_LY(const G4Step *, int)
DreamSD(const std::string &, const edm::EventSetup &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)