|
| HGCSD (const std::string &, const HGCalTBDDDConstants *, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *) |
|
uint32_t | setDetUnitId (const G4Step *step) override |
|
| ~HGCSD () override=default |
|
| CaloSD (const std::string &aSDname, const SensitiveDetectorCatalog &clg, edm::ParameterSet const &p, const SimTrackManager *, float timeSlice=1., bool ignoreTkID=false, const std::string &newcolname="") |
|
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 | newCollection (const std::string &name, edm::ParameterSet const &p) |
|
void | PrintAll () override |
|
G4bool | ProcessHits (G4Step *step, G4TouchableHistory *) override |
|
bool | ProcessHits (G4GFlashSpot *aSpot, G4TouchableHistory *) override |
|
void | reset () override |
|
| ~CaloSD () override |
|
| SensitiveCaloDetector (const std::string &iname, const SensitiveDetectorCatalog &clg, const std::string &newcollname="") |
|
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, const std::string &newcollname="") |
|
| ~SensitiveDetector () override |
|
| Observer () |
|
void | slotForUpdate (const BeginOfRun * iT) |
|
virtual | ~Observer () |
|
| Observer () |
|
void | slotForUpdate (const BeginOfEvent * iT) |
|
virtual | ~Observer () |
|
| Observer () |
|
void | slotForUpdate (const BeginOfTrack * iT) |
|
virtual | ~Observer () |
|
| Observer () |
|
void | slotForUpdate (const EndOfTrack * iT) |
|
virtual | ~Observer () |
|
| Observer () |
|
void | slotForUpdate (const EndOfEvent * iT) |
|
virtual | ~Observer () |
|
| Observer () |
|
void | slotForUpdate (const BeginOfJob * iT) |
|
virtual | ~Observer () |
|
|
void | endEvent () override |
|
bool | filterHit (CaloG4Hit *, double) override |
|
double | getEnergyDeposit (const G4Step *) override |
|
void | initEvent (const BeginOfEvent *) override |
|
void | initRun () override |
|
void | update (const BeginOfRun *) override |
|
void | update (const BeginOfTrack *trk) override |
|
void | update (const EndOfTrack *trk) override |
|
void | update (const BeginOfEvent *) override |
|
void | update (const ::EndOfEvent *) override |
|
void | update (const BeginOfJob *) override |
| This routine will be called when the appropriate signal arrives. More...
|
|
bool | checkHit (int k=0) |
|
CaloG4Hit * | createNewHit (const G4Step *, const G4Track *, int k) |
|
virtual double | EnergyCorrected (const G4Step &step, const G4Track *) |
|
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 (int k=0) |
|
double | getResponseWt (const G4Track *, int k=0) |
|
virtual int | getTrackID (const G4Track *) |
|
bool | hitExists (const G4Step *, int k) |
|
void | ignoreRejection () |
|
void | printDetectorLevels (const G4VTouchable *) const |
|
void | processHit (const G4Step *step) |
|
virtual void | processSecondHit (const G4Step *, const G4Track *) |
|
void | resetForNewPrimary (const G4Step *) |
|
void | setNumberCheckedHits (int val, int k=0) |
|
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 *, int k) |
|
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 > &) |
|
virtual void | update (const EndOfEvent *)=0 |
| This routine will be called when the appropriate signal arrives. More...
|
|
Definition at line 26 of file HGCSD.h.
Definition at line 31 of file HGCSD.cc.
References angles_, dd4hep_, CaloSD::eminHit, eminHit_, ForwardEmpty, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), HGCEE, HGCHEB, HGCHEF, mouseBite_, mouseBiteCut_, myFwdSubdet_, mergeVDriftHistosByStation::name, nameX_, numberingScheme_, AlCaHLTBitMon_ParallelJobs::p, rejectMB_, CaloSD::setNumberCheckedHits(), CaloSD::setUseMap(), storeAllG4Hits_, funct::tan(), and waferRot_.
60 dd4hep_ =
p.getParameter<
bool>(
"g4GeometryDD4hepSource");
67 G4String myName =
name;
70 if (myName.find(
"HitsEE") != std::string::npos) {
72 nameX_ =
"HGCalEESensitive";
73 }
else if (myName.find(
"HitsHEfront") != std::string::npos) {
75 nameX_ =
"HGCalHESiliconSensitive";
76 }
else if (myName.find(
"HitsHEback") != std::string::npos) {
78 nameX_ =
"HGCalHEScintillatorSensitive";
82 edm::LogVerbatim(
"HGCSim") <<
"**************************************************" 86 <<
"* Constructing a HGCSD with name " <<
name <<
"\n" 89 <<
"**************************************************";
Log< level::Info, true > LogVerbatim
T getParameter(std::string const &) const
void setNumberCheckedHits(int val, int k=0)
std::vector< double > angles_
T getUntrackedParameter(std::string const &, T const &) const
std::unique_ptr< HGCMouseBite > mouseBite_
Tan< T >::type tan(const T &t)
std::unique_ptr< HGCNumberingScheme > numberingScheme_
CaloSD(const std::string &aSDname, const SensitiveDetectorCatalog &clg, edm::ParameterSet const &p, const SimTrackManager *, float timeSlice=1., bool ignoreTkID=false, const std::string &newcolname="")
const HGCalTBDDDConstants * hgcons_
ForwardSubdetector myFwdSubdet_
double HGCSD::getEnergyDeposit |
( |
const G4Step * |
aStep | ) |
|
|
overrideprotectedvirtual |
Reimplemented from CaloSD.
Definition at line 99 of file HGCSD.cc.
References funct::abs(), angle(), CaloSD::getResponseWt(), nano_mu_digi_cff::layer, levelT_, alignCSCRings::r, slopeMin_, t_Angle_, t_dEStep1_, t_dEStep2_, t_Layer_, t_Parcode_, t_TrackE_, and z.
100 double r = aStep->GetPreStepPoint()->GetPosition().perp();
101 double z =
std::abs(aStep->GetPreStepPoint()->GetPosition().z());
104 G4int parCode = aStep->GetTrack()->GetDefinition()->GetPDGEncoding();
105 G4LogicalVolume* lv = aStep->GetPreStepPoint()->GetPhysicalVolume()->GetLogicalVolume();
106 edm::LogVerbatim(
"HGCSim") <<
"HGCSD: Hit from standard path from " << lv->GetName() <<
" for Track " 107 << aStep->GetTrack()->GetTrackID() <<
" (" 108 << aStep->GetTrack()->GetDefinition()->GetParticleName() <<
":" << parCode <<
") R = " <<
r 109 <<
" Z = " <<
z <<
" slope = " <<
r /
z <<
":" <<
slopeMin_;
118 double wt2 = aStep->GetTrack()->GetWeight();
119 double destep = wt1 * aStep->GetTotalEnergyDeposit();
124 const G4VTouchable* touch = aStep->GetPreStepPoint()->GetTouchable();
125 G4double tmptrackE = aStep->GetTrack()->GetKineticEnergy();
126 G4int parCodex = aStep->GetTrack()->GetDefinition()->GetPDGEncoding();
127 G4double
angle = (aStep->GetTrack()->GetMomentumDirection().theta()) / CLHEP::deg;
128 G4int
layer = ((touch->GetHistoryDepth() ==
levelT_) ? touch->GetReplicaNumber(0) : touch->GetReplicaNumber(2));
129 G4int ilayer = (
layer - 1) / 3;
130 if (aStep->GetTotalEnergyDeposit() > 0) {
133 t_dEStep1_.emplace_back(aStep->GetTotalEnergyDeposit());
std::vector< double > t_TrackE_
Log< level::Info, true > LogVerbatim
std::vector< double > t_dEStep1_
std::vector< double > t_dEStep2_
std::vector< int > t_Layer_
double getResponseWt(const G4Track *, int k=0)
Abs< T >::type abs(const T &t)
std::vector< int > t_Parcode_
std::vector< double > t_Angle_
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
This routine will be called when the appropriate signal arrives.
Implements Observer< const BeginOfJob *>.
Definition at line 206 of file HGCSD.cc.
References angles_, dd4hep_, Exception, geom_mode_, HGCalTBDDDConstants::geomMode(), hgcons_, levelT_, HGCalTBDDDConstants::levelTop(), HGCalTBDDDConstants::minSlope(), mouseBite_, mouseBiteCut_, nameX_, numberingScheme_, rejectMB_, slopeMin_, and waferRot_.
Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), progressbar.ProgressBar::finish(), and MatrixUtil.Steps::overwrite().
218 throw cms::Exception(
"Unknown",
"HGCSD") <<
"Cannot find HGCalTBDDDConstants for " <<
nameX_ <<
"\n";
Log< level::Info, true > LogVerbatim
int levelTop(int ind=0) const
std::vector< double > angles_
Log< level::Error, false > LogError
HGCalGeometryMode::GeometryMode geom_mode_
std::unique_ptr< HGCMouseBite > mouseBite_
std::unique_ptr< HGCNumberingScheme > numberingScheme_
const HGCalTBDDDConstants * hgcons_
HGCalGeometryMode::GeometryMode geomMode() const