|
|
#include <PPSDiamondSD.h>
|
void | clear () override |
|
void | clearTrack (G4Track *Track) |
|
void | DrawAll () override |
|
void | EndOfEvent (G4HCofThisEvent *eventHC) override |
|
void | fillHits (edm::PSimHitContainer &, const std::string &) override |
|
void | Initialize (G4HCofThisEvent *HCE) override |
|
| PPSDiamondSD (const std::string &, const edm::EventSetup &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *) |
|
void | PrintAll () override |
|
void | printHitInfo () |
|
| ~PPSDiamondSD () override |
|
| SensitiveTkDetector (const std::string &iname, const edm::EventSetup &es, const SensitiveDetectorCatalog &clg, edm::ParameterSet const &p) |
|
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 edm::EventSetup &es, const SensitiveDetectorCatalog &, edm::ParameterSet const &p, bool calo) |
|
| ~SensitiveDetector () override |
|
| Observer () |
|
void | slotForUpdate (const BeginOfEvent * iT) |
|
virtual | ~Observer () |
|
| Observer () |
|
void | slotForUpdate (const EndOfEvent * iT) |
|
virtual | ~Observer () |
|
Definition at line 28 of file PPSDiamondSD.h.
◆ PPSDiamondSD()
◆ ~PPSDiamondSD()
PPSDiamondSD::~PPSDiamondSD |
( |
| ) |
|
|
override |
◆ clear()
void PPSDiamondSD::clear |
( |
void |
| ) |
|
|
override |
◆ clearHits()
void PPSDiamondSD::clearHits |
( |
| ) |
|
|
overrideprivatevirtual |
◆ clearTrack()
void PPSDiamondSD::clearTrack |
( |
G4Track * |
Track | ) |
|
◆ DrawAll()
void PPSDiamondSD::DrawAll |
( |
| ) |
|
|
override |
◆ EndOfEvent()
void PPSDiamondSD::EndOfEvent |
( |
G4HCofThisEvent * |
eventHC | ) |
|
|
override |
Definition at line 240 of file PPSDiamondSD.cc.
References PPSDiamondG4Hit::energyLoss(), mps_splice::entry, beamvalidation::exit(), createfilelist::int, dqmiolumiharvest::j, PPSDiamondG4Hit::localEntry(), PPSDiamondG4Hit::localExit(), maxDiamondHits_, PPSDiamondG4Hit::p(), PPSDiamondG4Hit::particleType(), PPSDiamondG4Hit::phiAtEntry(), slave_, summarize(), theHC_, PPSDiamondG4Hit::thetaAtEntry(), PPSDiamondG4Hit::tof(), PPSDiamondG4Hit::trackID(), and PPSDiamondG4Hit::unitID().
◆ fillHits()
◆ hitExists()
G4bool PPSDiamondSD::hitExists |
( |
| ) |
|
|
private |
◆ importInfoToHit()
void PPSDiamondSD::importInfoToHit |
( |
| ) |
|
|
private |
Definition at line 203 of file PPSDiamondSD.cc.
References currentHit_, Eloss_, exitPoint_, Globaltimehit_, hitPoint_, incidentEnergy_, LogDebug, Pabs_, ParentId_, ParticleType_, PhiAtEntry_, primaryID_, PPSDiamondG4Hit::setEnergyLoss(), PPSDiamondG4Hit::setEntry(), PPSDiamondG4Hit::setExit(), PPSDiamondG4Hit::setGlobalTimehit(), PPSDiamondG4Hit::setIncidentEnergy(), PPSDiamondG4Hit::setLocalEntry(), PPSDiamondG4Hit::setLocalExit(), PPSDiamondG4Hit::setP(), PPSDiamondG4Hit::setParentId(), PPSDiamondG4Hit::setParticleType(), PPSDiamondG4Hit::setPhiAtEntry(), PPSDiamondG4Hit::setPx(), PPSDiamondG4Hit::setPy(), PPSDiamondG4Hit::setPz(), PPSDiamondG4Hit::setThetaAtEntry(), PPSDiamondG4Hit::setTimeSlice(), PPSDiamondG4Hit::setTof(), PPSDiamondG4Hit::setTrackID(), PPSDiamondG4Hit::setUnitID(), PPSDiamondG4Hit::setVx(), PPSDiamondG4Hit::setVy(), PPSDiamondG4Hit::setVz(), storeHit(), theLocalEntryPoint_, theLocalExitPoint_, thePx_, thePy_, thePz_, ThetaAtEntry_, Tof_, tSlice_, unitID_, Vx_, Vy_, and Vz_.
Referenced by ProcessHits().
◆ Initialize()
void PPSDiamondSD::Initialize |
( |
G4HCofThisEvent * |
HCE | ) |
|
|
override |
◆ isPrimary()
bool PPSDiamondSD::isPrimary |
( |
const G4Track * |
track | ) |
|
|
private |
◆ PrintAll()
void PPSDiamondSD::PrintAll |
( |
| ) |
|
|
override |
◆ printHitInfo()
void PPSDiamondSD::printHitInfo |
( |
| ) |
|
Definition at line 79 of file PPSDiamondSD.cc.
80 LogDebug(
"PPSSimDiamond") <<
theTrack_->GetDefinition()->GetParticleName() <<
" PPS_Timing_SD CreateNewHit for"
86 printf(
" PreStepPoint(%10f,%10f,%10f)",
90 printf(
" PosStepPoint(%10f,%10f,%10f)\n",
94 LogDebug(
"PPSSimDiamond") <<
" positions "
97 <<
" For Track " <<
theTrack_->GetTrackID() <<
" which is a "
98 <<
theTrack_->GetDefinition()->GetParticleName() <<
" ParentID is "
102 LogDebug(
"PPSSimDiamond") <<
" primary particle ";
107 LogDebug(
"PPSSimDiamond") <<
" and created by ";
109 if (
theTrack_->GetCreatorProcess() !=
nullptr)
112 LogDebug(
"PPSSimDiamond") <<
"NO process";
References currentPV_, Eloss_, LogDebug, postStepPoint_, preStepPoint_, primaryID_, theTrack_, tSliceID_, and unitID_.
◆ ProcessHits()
bool PPSDiamondSD::ProcessHits |
( |
G4Step * |
step, |
|
|
G4TouchableHistory * |
tHistory |
|
) |
| |
|
overrideprivatevirtual |
◆ resetForNewPrimary()
void PPSDiamondSD::resetForNewPrimary |
( |
| ) |
|
|
private |
◆ setDetUnitId()
uint32_t PPSDiamondSD::setDetUnitId |
( |
const G4Step * |
step | ) |
|
|
overrideprivatevirtual |
◆ setNumberingScheme()
◆ setToLocal()
G4ThreeVector PPSDiamondSD::setToLocal |
( |
const G4ThreeVector & |
globalPoint | ) |
|
|
private |
Definition at line 232 of file PPSDiamondSD.cc.
233 G4ThreeVector localPoint;
235 localPoint = touch->GetHistory()->GetTopTransform().TransformPoint(global);
References preStepPoint_.
Referenced by stepInfo().
◆ stepInfo()
void PPSDiamondSD::stepInfo |
( |
const G4Step * |
aStep | ) |
|
|
private |
Definition at line 140 of file PPSDiamondSD.cc.
159 Pabs_ = (aStep->GetPreStepPoint()->GetMomentum().mag()) /
GeV;
160 thePx_ = (aStep->GetPreStepPoint()->GetMomentum().x()) /
GeV;
161 thePy_ = (aStep->GetPreStepPoint()->GetMomentum().y()) /
GeV;
162 thePz_ = (aStep->GetPreStepPoint()->GetMomentum().z()) /
GeV;
163 Tof_ = aStep->GetPreStepPoint()->GetGlobalTime() / nanosecond;
164 Eloss_ = (aStep->GetPreStepPoint()->GetTotalEnergy() / eV);
168 G4ThreeVector gmd = aStep->GetPreStepPoint()->GetMomentumDirection();
170 G4ThreeVector lmd = ((G4TouchableHistory*)(aStep->GetPreStepPoint()->GetTouchable()))
References SensitiveDetector::ConvertToLocal3DPoint(), currentPV_, Eloss_, exitPoint_, GeV, hitPoint_, incidentEnergy_, createfilelist::int, isPrimary(), LogDebug, Pabs_, ParentId_, ParticleType_, PV3DBase< T, PVType, FrameType >::phi(), PhiAtEntry_, postStepPoint_, preStepPoint_, primaryID_, setDetUnitId(), setToLocal(), theglobaltimehit_, theLocalEntryPoint_, theLocalExitPoint_, thePx_, thePy_, thePz_, PV3DBase< T, PVType, FrameType >::theta(), ThetaAtEntry_, theTrack_, Tof_, tSlice_, tSliceID_, unitID_, verbosity_, Vx_, Vy_, and Vz_.
Referenced by ProcessHits().
◆ storeHit()
◆ summarize()
void PPSDiamondSD::summarize |
( |
| ) |
|
|
private |
◆ update() [1/2]
void PPSDiamondSD::update |
( |
const ::EndOfEvent * |
| ) |
|
|
overrideprivate |
◆ update() [2/2]
◆ updateHit()
void PPSDiamondSD::updateHit |
( |
| ) |
|
|
private |
◆ currentHit_
◆ currentPV_
G4VPhysicalVolume* PPSDiamondSD::currentPV_ |
|
private |
◆ Eloss_
double PPSDiamondSD::Eloss_ |
|
private |
◆ entrancePoint_
G4ThreeVector PPSDiamondSD::entrancePoint_ |
|
private |
◆ eventno_
int PPSDiamondSD::eventno_ |
|
private |
◆ exitPoint_
G4ThreeVector PPSDiamondSD::exitPoint_ |
|
private |
◆ Globaltimehit_
double PPSDiamondSD::Globaltimehit_ |
|
private |
◆ hcID_
G4int PPSDiamondSD::hcID_ |
|
private |
◆ hitPoint_
G4ThreeVector PPSDiamondSD::hitPoint_ |
|
private |
◆ incidentEnergy_
double PPSDiamondSD::incidentEnergy_ |
|
private |
◆ maxDiamondHits_
constexpr unsigned int PPSDiamondSD::maxDiamondHits_ = 15000 |
|
staticconstexprprivate |
◆ name_
G4String PPSDiamondSD::name_ |
|
private |
◆ numberingScheme_
◆ Pabs_
double PPSDiamondSD::Pabs_ |
|
private |
◆ ParentId_
int PPSDiamondSD::ParentId_ |
|
private |
◆ ParticleType_
short PPSDiamondSD::ParticleType_ |
|
private |
◆ PhiAtEntry_
double PPSDiamondSD::PhiAtEntry_ |
|
private |
◆ postStepPoint_
G4StepPoint* PPSDiamondSD::postStepPoint_ |
|
private |
◆ preStepPoint_
G4StepPoint* PPSDiamondSD::preStepPoint_ |
|
private |
◆ primaryID_
G4int PPSDiamondSD::primaryID_ |
|
private |
◆ slave_
◆ theglobaltimehit_
double PPSDiamondSD::theglobaltimehit_ |
|
private |
◆ theHC_
◆ theLocalEntryPoint_
G4ThreeVector PPSDiamondSD::theLocalEntryPoint_ |
|
private |
◆ theLocalExitPoint_
G4ThreeVector PPSDiamondSD::theLocalExitPoint_ |
|
private |
◆ theMPDebug_
int PPSDiamondSD::theMPDebug_ |
|
private |
◆ thePx_
double PPSDiamondSD::thePx_ |
|
private |
◆ thePy_
double PPSDiamondSD::thePy_ |
|
private |
◆ thePz_
double PPSDiamondSD::thePz_ |
|
private |
◆ ThetaAtEntry_
double PPSDiamondSD::ThetaAtEntry_ |
|
private |
◆ theTrack_
G4Track* PPSDiamondSD::theTrack_ |
|
private |
◆ Tof_
double PPSDiamondSD::Tof_ |
|
private |
◆ tSlice_
G4double PPSDiamondSD::tSlice_ |
|
private |
◆ tSliceID_
G4int PPSDiamondSD::tSliceID_ |
|
private |
◆ unitID_
unsigned int PPSDiamondSD::unitID_ |
|
private |
◆ verbosity_
int PPSDiamondSD::verbosity_ |
|
private |
◆ Vx_
◆ Vy_
◆ Vz_
void storeHit(PPSDiamondG4Hit *)
double thetaAtEntry() const
void setTimeSlice(double d)
G4THitsCollection< PPSDiamondG4Hit > PPSDiamondG4HitCollection
double energyLoss() const
void stepInfo(const G4Step *aStep)
static constexpr unsigned int maxDiamondHits_
unsigned int trackID() const
Geom::Theta< T > theta() const
void setEnergyLoss(double e)
Log< level::Info, false > LogInfo
G4ThreeVector theLocalExitPoint_
Log< level::Warning, false > LogWarning
G4ThreeVector theLocalEntryPoint_
const G4ThreeVector & localEntry() const
PPSDiamondG4Hit * currentHit_
const G4ThreeVector & localExit() const
G4ThreeVector setToLocal(const G4ThreeVector &globalPoint)
SensitiveTkDetector(const std::string &iname, const edm::EventSetup &es, const SensitiveDetectorCatalog &clg, edm::ParameterSet const &p)
std::unique_ptr< PPSVDetectorOrganization > numberingScheme_
void setExit(const G4ThreeVector &xyz)
G4StepPoint * preStepPoint_
double phiAtEntry() const
PPSDiamondG4HitCollection * theHC_
void setEntry(const G4ThreeVector &xyz)
void setLocalEntry(const G4ThreeVector &theLocalEntryPoint)
bool isPrimary(const G4Track *track)
G4VPhysicalVolume * currentPV_
Local3DPoint ConvertToLocal3DPoint(const G4ThreeVector &point) const
void setThetaAtEntry(double t)
void setUnitID(unsigned int i)
void setIncidentEnergy(double e)
void setParticleType(short i)
T getParameter(std::string const &) const
std::unique_ptr< TrackingSlaveSD > slave_
G4StepPoint * postStepPoint_
uint32_t setDetUnitId(const G4Step *step) override
void setLocalExit(const G4ThreeVector &theLocalExitPoint)
void setPhiAtEntry(double f)
Geom::Phi< T > phi() const
void setGlobalTimehit(double h)
void clearHits() override