CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
PPSPixelSD Class Reference

#include <SimG4CMS/PPS/interface/PPSPixelSD.h>

Inheritance diagram for PPSPixelSD:
SensitiveTkDetector Observer< const BeginOfEvent * > Observer< const EndOfEvent * > SensitiveDetector

Public Member Functions

void clear () override
 
void DrawAll () override
 
void EndOfEvent (G4HCofThisEvent *eventHC) override
 
void fillHits (edm::PSimHitContainer &, const std::string &) override
 
void Initialize (G4HCofThisEvent *HCE) override
 
 PPSPixelSD (const std::string &, const edm::EventSetup &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, SimTrackManager const *)
 
void PrintAll () override
 
bool ProcessHits (G4Step *, G4TouchableHistory *) override
 
uint32_t setDetUnitId (const G4Step *) override
 
 ~PPSPixelSD () override
 
- Public Member Functions inherited from SensitiveTkDetector
 SensitiveTkDetector (const std::string &iname, const edm::EventSetup &es, 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
 
bool isCaloSD () const
 
 SensitiveDetector (const std::string &iname, const edm::EventSetup &es, const SensitiveDetectorCatalog &, edm::ParameterSet const &p, bool calo)
 
 ~SensitiveDetector () override
 
- Public Member Functions inherited from Observer< const BeginOfEvent * >
 Observer ()
 
void slotForUpdate (const BeginOfEvent * iT)
 
virtual ~Observer ()
 
- Public Member Functions inherited from Observer< const EndOfEvent * >
 Observer ()
 
void slotForUpdate (const EndOfEvent * iT)
 
virtual ~Observer ()
 

Private Member Functions

void clearHits () override
 
void createNewHit ()
 
bool hitExists ()
 
void resetForNewPrimary ()
 
G4ThreeVector setToLocal (const G4ThreeVector &globalPoint)
 
void stepInfo (const G4Step *aStep)
 
void storeHit (PPSPixelG4Hit *)
 
void summarize ()
 
void update (const ::EndOfEvent *) override
 
void update (const BeginOfEvent *) override
 This routine will be called when the appropriate signal arrives. More...
 
void updateHit ()
 

Private Attributes

PPSPixelG4HitcurrentHit_
 
G4VPhysicalVolume * currentPV_
 
float edeposit_
 
float Eloss_
 
G4ThreeVector entrancePoint_
 
int eventno_
 
G4int hcID_
 
G4ThreeVector hitPoint_
 
float incidentEnergy_
 
std::string name_
 
std::unique_ptr< PPSVDetectorOrganizationnumberingScheme_
 
float Pabs_
 
int ParentId_
 
short ParticleType_
 
float PhiAtEntry_
 
G4ThreeVector position_
 
G4StepPoint * postStepPoint_
 
G4StepPoint * preStepPoint_
 
uint32_t previousUnitID_
 
int primaryID_
 
G4int primID_
 
std::unique_ptr< TrackingSlaveSDslave_
 
G4ThreeVector theEntryPoint_
 
G4ThreeVector theExitPoint_
 
PPSPixelG4HitCollectiontheHC_
 
const SimTrackManagertheManager_
 
float ThetaAtEntry_
 
G4Track * theTrack_
 
float Tof_
 
int tsID_
 
double tSlice_
 
int tSliceID_
 
uint32_t unitID_
 
float Vx_
 
float Vy_
 
float Vz_
 

Static Private Attributes

static constexpr unsigned int maxPixelHits_ = 15000
 

Additional Inherited Members

- Protected Types inherited from SensitiveDetector
enum  coordinates { WorldCoordinates, LocalCoordinates }
 
- Protected Member Functions inherited from SensitiveDetector
TrackInformationcmsTrackInformation (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 > &)
 
- 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...
 

Detailed Description

Description: Stores hits of PPSPixel in appropriate container

Usage: Used in sensitive detector builder

Definition at line 43 of file PPSPixelSD.h.

Constructor & Destructor Documentation

◆ PPSPixelSD()

PPSPixelSD::PPSPixelSD ( const std::string &  name_,
const edm::EventSetup es,
const SensitiveDetectorCatalog clg,
edm::ParameterSet const &  p,
SimTrackManager const *  manager 
)

Definition at line 37 of file PPSPixelSD.cc.

42  : SensitiveTkDetector(name_, es, clg, p),
43  numberingScheme_(nullptr),
44  hcID_(-1),
45  theHC_(nullptr),
46  theManager_(manager),
47  currentHit_(nullptr),
48  theTrack_(nullptr),
49  currentPV_(nullptr),
50  unitID_(0),
51  previousUnitID_(0),
52  preStepPoint_(nullptr),
53  postStepPoint_(nullptr),
54  eventno_(0) {
55  //Add PPS Sentitive Detector Names
56  collectionName.insert(name_);
57 
58  //Parameters
59  edm::ParameterSet m_p = p.getParameter<edm::ParameterSet>("PPSPixelSD");
60  int verbn = m_p.getUntrackedParameter<int>("Verbosity");
61  SetVerboseLevel(verbn);
62  slave_ = std::make_unique<TrackingSlaveSD>(name_);
63  if (name_ == "CTPPSPixelHits") {
64  numberingScheme_ = std::make_unique<PPSPixelNumberingScheme>();
65  } else {
66  edm::LogWarning("PPSSim") << "PPSPixelSD: ReadoutName not supported\n";
67  }
68 
69  edm::LogInfo("PPSSim") << "PPSPixelSD: Instantiation completed";
70 }

References bysipixelclustmulteventfilter_cfi::collectionName, edm::ParameterSet::getUntrackedParameter(), name_, numberingScheme_, AlCaHLTBitMon_ParallelJobs::p, and slave_.

◆ ~PPSPixelSD()

PPSPixelSD::~PPSPixelSD ( )
override

Definition at line 72 of file PPSPixelSD.cc.

72 {}

Member Function Documentation

◆ clear()

void PPSPixelSD::clear ( void  )
override

Definition at line 130 of file PPSPixelSD.cc.

130 {}

◆ clearHits()

void PPSPixelSD::clearHits ( )
overrideprivatevirtual

Implements SensitiveDetector.

Definition at line 153 of file PPSPixelSD.cc.

153 { slave_->Initialize(); }

References slave_.

Referenced by update().

◆ createNewHit()

void PPSPixelSD::createNewHit ( )
private

Definition at line 247 of file PPSPixelSD.cc.

247  {
248 #ifdef debug
249  LogDebug("PPSSim") << "PPSPixelSD CreateNewHit for"
250  << " PV " << currentPV_->GetName() << " PVid = " << currentPV_->GetCopyNo()
251  << " MVid = " << currentPV_->GetMother()->GetCopyNo() << " Unit " << unitID_ << "\n"
252  << " primary " << primaryID_ << " time slice " << tSliceID_ << " For Track "
253  << theTrack_->GetTrackID() << " which is a " << theTrack_->GetDefinition()->GetParticleName();
254 
255  if (theTrack_->GetTrackID() == 1) {
256  LogDebug("PPSSim") << " of energy " << theTrack_->GetTotalEnergy();
257  } else {
258  LogDebug("PPSSim") << " daughter of part. " << theTrack_->GetParentID();
259  }
260 
261  if (theTrack_->GetCreatorProcess() != NULL)
262  LogDebug("PPSSim") << theTrack_->GetCreatorProcess()->GetProcessName();
263  else
264  LogDebug("PPSSim") << "NO process";
265 #endif
266 
272 
279 
283 
288 
289  updateHit();
290 
292 }

References currentHit_, currentPV_, Eloss_, incidentEnergy_, LogDebug, NULL, Pabs_, ParentId_, ParticleType_, PhiAtEntry_, position_, primaryID_, PPSPixelG4Hit::setEnergyLoss(), PPSPixelG4Hit::setEntryPoint(), PPSPixelG4Hit::setExitPoint(), PPSPixelG4Hit::setIncidentEnergy(), PPSPixelG4Hit::setMeanPosition(), PPSPixelG4Hit::setP(), PPSPixelG4Hit::setParentId(), PPSPixelG4Hit::setParticleType(), PPSPixelG4Hit::setPhiAtEntry(), PPSPixelG4Hit::setThetaAtEntry(), PPSPixelG4Hit::setTimeSlice(), PPSPixelG4Hit::setTof(), PPSPixelG4Hit::setTrackID(), PPSPixelG4Hit::setUnitID(), PPSPixelG4Hit::setVx(), PPSPixelG4Hit::setVy(), PPSPixelG4Hit::setVz(), storeHit(), theEntryPoint_, theExitPoint_, ThetaAtEntry_, theTrack_, Tof_, tSlice_, tSliceID_, unitID_, updateHit(), Vx_, Vy_, and Vz_.

Referenced by ProcessHits().

◆ DrawAll()

void PPSPixelSD::DrawAll ( )
override

Definition at line 132 of file PPSPixelSD.cc.

132 {}

◆ EndOfEvent()

void PPSPixelSD::EndOfEvent ( G4HCofThisEvent *  eventHC)
override

Definition at line 102 of file PPSPixelSD.cc.

102  {
103  // here we loop over transient hits and make them persistent
104  for (unsigned int j = 0; j < (unsigned int)theHC_->entries() && j < maxPixelHits_; j++) {
105  PPSPixelG4Hit* aHit = (*theHC_)[j];
106 #ifdef debug
107  LogDebug("PPSSim") << "HIT NUMERO " << j << "unit ID = " << aHit->unitID() << "\n"
108  << " "
109  << "enrty z " << aHit->entry().z() << "\n"
110  << " "
111  << "theta " << aHit->thetaAtEntry() << "\n";
112 #endif
113 
114  Local3DPoint Enter(aHit->entryPoint().x(), aHit->entryPoint().y(), aHit->entryPoint().z());
115  Local3DPoint Exit(aHit->exitPoint().x(), aHit->exitPoint().y(), aHit->exitPoint().z());
116  slave_->processHits(PSimHit(Enter,
117  Exit,
118  aHit->p(),
119  aHit->tof(),
120  aHit->energyLoss(),
121  aHit->particleType(),
122  aHit->unitID(),
123  aHit->trackID(),
124  aHit->thetaAtEntry(),
125  aHit->phiAtEntry()));
126  }
127  summarize();
128 }

References PPSPixelG4Hit::energyLoss(), PPSPixelG4Hit::entryPoint(), PPSPixelG4Hit::exitPoint(), createfilelist::int, dqmiolumiharvest::j, LogDebug, maxPixelHits_, PPSPixelG4Hit::p(), PPSPixelG4Hit::particleType(), PPSPixelG4Hit::phiAtEntry(), slave_, summarize(), theHC_, PPSPixelG4Hit::thetaAtEntry(), PPSPixelG4Hit::tof(), PPSPixelG4Hit::trackID(), PPSPixelG4Hit::unitID(), and PPSPixelG4Hit::z().

◆ fillHits()

void PPSPixelSD::fillHits ( edm::PSimHitContainer c,
const std::string &  n 
)
overridevirtual

Implements SensitiveTkDetector.

Definition at line 139 of file PPSPixelSD.cc.

139  {
140  if (slave_->name() == n) {
141  c = slave_->hits();
142  }
143 }

References HltBtagPostValidation_cff::c, dqmiodumpmetadata::n, and slave_.

◆ hitExists()

bool PPSPixelSD::hitExists ( )
private

Definition at line 212 of file PPSPixelSD.cc.

212  {
213  if (primaryID_ < 1) {
214  edm::LogWarning("PPSSim") << "***** PPSPixelSD error: primaryID = " << primaryID_ << " maybe detector name changed";
215  }
216 
217  // Update if in the same detector, time-slice and for same track
218  if (tSliceID_ == tsID_ && unitID_ == previousUnitID_) {
219  updateHit();
220  return true;
221  }
222 
223  // Reset entry point for new primary
224  if (primaryID_ != primID_)
226 
227  //look in the HitContainer whether a hit with the same primID_, unitID_,
228  //tSliceID_ already exists:
229  bool found = false;
230  int nhits = theHC_->entries();
231  for (int j = 0; j < nhits && !found; j++) {
232  PPSPixelG4Hit* aPreviousHit = (*theHC_)[j];
233  if (aPreviousHit->trackID() == primaryID_ && aPreviousHit->timeSliceID() == tSliceID_ &&
234  aPreviousHit->unitID() == unitID_) {
235  currentHit_ = aPreviousHit;
236  found = true;
237  }
238  }
239 
240  if (found) {
241  updateHit();
242  return true;
243  }
244  return false;
245 }

References currentHit_, newFWLiteAna::found, dqmiolumiharvest::j, nhits, previousUnitID_, primaryID_, primID_, resetForNewPrimary(), theHC_, PPSPixelG4Hit::timeSliceID(), PPSPixelG4Hit::trackID(), tsID_, tSliceID_, PPSPixelG4Hit::unitID(), unitID_, and updateHit().

Referenced by ProcessHits().

◆ Initialize()

void PPSPixelSD::Initialize ( G4HCofThisEvent *  HCE)
override

Definition at line 88 of file PPSPixelSD.cc.

88  {
89  LogDebug("PPSSim") << "PPSPixelSD : Initialize called for " << name_;
90 
91  theHC_ = new PPSPixelG4HitCollection(GetName(), collectionName[0]);
92  G4SDManager::GetSDMpointer()->AddNewCollection(name_, collectionName[0]);
93 
94  if (hcID_ < 0)
95  hcID_ = G4SDManager::GetSDMpointer()->GetCollectionID(collectionName[0]);
96  HCE->AddHitsCollection(hcID_, theHC_);
97 
98  tsID_ = -2;
99  primID_ = -2;
100 }

References bysipixelclustmulteventfilter_cfi::collectionName, hcID_, LogDebug, name_, primID_, theHC_, and tsID_.

◆ PrintAll()

void PPSPixelSD::PrintAll ( )
override

Definition at line 134 of file PPSPixelSD.cc.

134  {
135  LogDebug("PPSSim") << "PPSPixelSD: Collection " << theHC_->GetName();
136  theHC_->PrintAllHits();
137 }

References LogDebug, and theHC_.

◆ ProcessHits()

bool PPSPixelSD::ProcessHits ( G4Step *  aStep,
G4TouchableHistory *   
)
overridevirtual

Implements SensitiveDetector.

Definition at line 74 of file PPSPixelSD.cc.

74  {
75  if (!aStep)
76  return true;
77 
78  stepInfo(aStep);
79  if (!hitExists() && edeposit_ > 0.)
80  createNewHit();
81  return true;
82 }

References createNewHit(), edeposit_, hitExists(), and stepInfo().

◆ resetForNewPrimary()

void PPSPixelSD::resetForNewPrimary ( )
private

Definition at line 319 of file PPSPixelSD.cc.

319  {
321 
322  incidentEnergy_ = preStepPoint_->GetKineticEnergy();
323 }

References entrancePoint_, hitPoint_, incidentEnergy_, preStepPoint_, and setToLocal().

Referenced by hitExists().

◆ setDetUnitId()

uint32_t PPSPixelSD::setDetUnitId ( const G4Step *  aStep)
overridevirtual

Implements SensitiveDetector.

Definition at line 84 of file PPSPixelSD.cc.

84  {
85  return (numberingScheme_ == nullptr ? 0 : numberingScheme_->unitID(aStep));
86 }

References numberingScheme_.

Referenced by stepInfo().

◆ setToLocal()

G4ThreeVector PPSPixelSD::setToLocal ( const G4ThreeVector &  globalPoint)
private

Definition at line 155 of file PPSPixelSD.cc.

155  {
156  G4ThreeVector localPoint;
157  const G4VTouchable* touch = preStepPoint_->GetTouchable();
158  localPoint = touch->GetHistory()->GetTopTransform().TransformPoint(global);
159  return localPoint;
160 }

References preStepPoint_.

Referenced by resetForNewPrimary().

◆ stepInfo()

void PPSPixelSD::stepInfo ( const G4Step *  aStep)
private

Definition at line 162 of file PPSPixelSD.cc.

162  {
163  preStepPoint_ = aStep->GetPreStepPoint();
164  postStepPoint_ = aStep->GetPostStepPoint();
165  theTrack_ = aStep->GetTrack();
168 
169 #ifdef _PRINT_HITS_
170  LogDebug("PPSSim") << "theEntryPoint_ " << TheEntryPoint << "\n";
171  LogDebug("PPSSim") << "position " << preStepPoint_->GetPosition() << "\n";
172 #endif
173  hitPoint_ = preStepPoint_->GetPosition();
174  currentPV_ = preStepPoint_->GetPhysicalVolume();
175 
176  G4String name_ = currentPV_->GetName();
177  name_.assign(name_, 0, 4);
178  G4String particleType = theTrack_->GetDefinition()->GetParticleName();
179  edeposit_ = aStep->GetTotalEnergyDeposit();
180 
181  tSlice_ = (postStepPoint_->GetGlobalTime()) / nanosecond;
182  tSliceID_ = (int)tSlice_;
183  unitID_ = setDetUnitId(aStep);
184 #ifdef debug
185  LogDebug("PPSSim") << "UNIT ID " << unitID_;
186 #endif
187  primaryID_ = theTrack_->GetTrackID();
188 
189  theEntryPoint_.setX(TheEntryPoint.x());
190  theEntryPoint_.setY(TheEntryPoint.y());
191  theEntryPoint_.setZ(TheEntryPoint.z());
192  theExitPoint_.setX(TheExitPoint.x());
193  theExitPoint_.setY(TheExitPoint.y());
194  theExitPoint_.setZ(TheExitPoint.z());
195 
197  Pabs_ = aStep->GetPreStepPoint()->GetMomentum().mag() / GeV;
198  Tof_ = aStep->GetPostStepPoint()->GetGlobalTime() / nanosecond;
199 
200  Eloss_ = aStep->GetTotalEnergyDeposit() / GeV;
201  ParticleType_ = theTrack_->GetDefinition()->GetPDGEncoding();
202 
203  ThetaAtEntry_ = aStep->GetPreStepPoint()->GetPosition().theta();
204  PhiAtEntry_ = aStep->GetPreStepPoint()->GetPosition().phi();
205 
206  ParentId_ = theTrack_->GetParentID();
207  Vx_ = theTrack_->GetVertexPosition().x();
208  Vy_ = theTrack_->GetVertexPosition().y();
209  Vz_ = theTrack_->GetVertexPosition().z();
210 }

References currentPV_, edeposit_, Eloss_, SensitiveDetector::FinalStepPosition(), GeV, hitPoint_, SensitiveDetector::InitialStepPosition(), createfilelist::int, SensitiveDetector::LocalCoordinates, LogDebug, name_, Pabs_, ParentId_, PbPb_ZMuSkimMuonDPG_cff::particleType, ParticleType_, PhiAtEntry_, position_, postStepPoint_, preStepPoint_, primaryID_, setDetUnitId(), theEntryPoint_, theExitPoint_, ThetaAtEntry_, theTrack_, Tof_, tSlice_, tSliceID_, unitID_, Vx_, Vy_, Vz_, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by ProcessHits().

◆ storeHit()

void PPSPixelSD::storeHit ( PPSPixelG4Hit hit)
private

Definition at line 308 of file PPSPixelSD.cc.

308  {
309  if (primID_ < 0)
310  return;
311  if (hit == nullptr) {
312  edm::LogWarning("PPSSim") << "PPSPixelSD: hit to be stored is NULL !!";
313  return;
314  }
315 
316  theHC_->insert(hit);
317 }

References primID_, and theHC_.

Referenced by createNewHit().

◆ summarize()

void PPSPixelSD::summarize ( )
private

Definition at line 325 of file PPSPixelSD.cc.

325 {}

Referenced by EndOfEvent().

◆ update() [1/2]

void PPSPixelSD::update ( const ::EndOfEvent )
overrideprivate

◆ update() [2/2]

void PPSPixelSD::update ( const BeginOfEvent )
overrideprivatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const BeginOfEvent * >.

Definition at line 145 of file PPSPixelSD.cc.

145  {
146  LogDebug("PPSSim") << " Dispatched BeginOfEvent for " << GetName() << " !";
147  clearHits();
148  eventno_ = (*i)()->GetEventID();
149 }

References clearHits(), eventno_, and LogDebug.

Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), progressbar.ProgressBar::finish(), and MatrixUtil.Steps::overwrite().

◆ updateHit()

void PPSPixelSD::updateHit ( )
private

Definition at line 294 of file PPSPixelSD.cc.

294  {
295  if (Eloss_ > 0.) {
296 #ifdef debug
297  LogDebug("PPSSim") << "G4PPSPixelSD updateHit: add eloss " << Eloss_ << "\nCurrentHit=" << currentHit_
298  << ", PostStepPoint=" << postStepPoint_->GetPosition();
299 #endif
301  }
302  // buffer for next steps:
303  tsID_ = tSliceID_;
306 }

References currentHit_, Eloss_, LogDebug, postStepPoint_, previousUnitID_, primaryID_, primID_, PPSPixelG4Hit::setEnergyLoss(), tsID_, tSliceID_, and unitID_.

Referenced by createNewHit(), and hitExists().

Member Data Documentation

◆ currentHit_

PPSPixelG4Hit* PPSPixelSD::currentHit_
private

Definition at line 100 of file PPSPixelSD.h.

Referenced by createNewHit(), hitExists(), and updateHit().

◆ currentPV_

G4VPhysicalVolume* PPSPixelSD::currentPV_
private

Definition at line 102 of file PPSPixelSD.h.

Referenced by createNewHit(), and stepInfo().

◆ edeposit_

float PPSPixelSD::edeposit_
private

Definition at line 109 of file PPSPixelSD.h.

Referenced by ProcessHits(), and stepInfo().

◆ Eloss_

float PPSPixelSD::Eloss_
private

Definition at line 117 of file PPSPixelSD.h.

Referenced by createNewHit(), stepInfo(), and updateHit().

◆ entrancePoint_

G4ThreeVector PPSPixelSD::entrancePoint_
private

Definition at line 90 of file PPSPixelSD.h.

Referenced by resetForNewPrimary().

◆ eventno_

int PPSPixelSD::eventno_
private

Definition at line 126 of file PPSPixelSD.h.

Referenced by update().

◆ hcID_

G4int PPSPixelSD::hcID_
private

Definition at line 95 of file PPSPixelSD.h.

Referenced by Initialize().

◆ hitPoint_

G4ThreeVector PPSPixelSD::hitPoint_
private

Definition at line 110 of file PPSPixelSD.h.

Referenced by resetForNewPrimary(), and stepInfo().

◆ incidentEnergy_

float PPSPixelSD::incidentEnergy_
private

Definition at line 91 of file PPSPixelSD.h.

Referenced by createNewHit(), and resetForNewPrimary().

◆ maxPixelHits_

constexpr unsigned int PPSPixelSD::maxPixelHits_ = 15000
staticconstexprprivate

Definition at line 71 of file PPSPixelSD.h.

Referenced by EndOfEvent().

◆ name_

std::string PPSPixelSD::name_
private

Definition at line 94 of file PPSPixelSD.h.

Referenced by Initialize(), PPSPixelSD(), and stepInfo().

◆ numberingScheme_

std::unique_ptr<PPSVDetectorOrganization> PPSPixelSD::numberingScheme_
private

Definition at line 83 of file PPSPixelSD.h.

Referenced by PPSPixelSD(), and setDetUnitId().

◆ Pabs_

float PPSPixelSD::Pabs_
private

Definition at line 115 of file PPSPixelSD.h.

Referenced by createNewHit(), and stepInfo().

◆ ParentId_

int PPSPixelSD::ParentId_
private

Definition at line 123 of file PPSPixelSD.h.

Referenced by createNewHit(), and stepInfo().

◆ ParticleType_

short PPSPixelSD::ParticleType_
private

Definition at line 118 of file PPSPixelSD.h.

Referenced by createNewHit(), and stepInfo().

◆ PhiAtEntry_

float PPSPixelSD::PhiAtEntry_
private

Definition at line 121 of file PPSPixelSD.h.

Referenced by createNewHit(), and stepInfo().

◆ position_

G4ThreeVector PPSPixelSD::position_
private

Definition at line 112 of file PPSPixelSD.h.

Referenced by createNewHit(), and stepInfo().

◆ postStepPoint_

G4StepPoint* PPSPixelSD::postStepPoint_
private

Definition at line 108 of file PPSPixelSD.h.

Referenced by stepInfo(), and updateHit().

◆ preStepPoint_

G4StepPoint* PPSPixelSD::preStepPoint_
private

Definition at line 107 of file PPSPixelSD.h.

Referenced by resetForNewPrimary(), setToLocal(), and stepInfo().

◆ previousUnitID_

uint32_t PPSPixelSD::previousUnitID_
private

Definition at line 103 of file PPSPixelSD.h.

Referenced by hitExists(), and updateHit().

◆ primaryID_

int PPSPixelSD::primaryID_
private

Definition at line 104 of file PPSPixelSD.h.

Referenced by createNewHit(), hitExists(), stepInfo(), and updateHit().

◆ primID_

G4int PPSPixelSD::primID_
private

Definition at line 92 of file PPSPixelSD.h.

Referenced by hitExists(), Initialize(), storeHit(), and updateHit().

◆ slave_

std::unique_ptr<TrackingSlaveSD> PPSPixelSD::slave_
private

Definition at line 82 of file PPSPixelSD.h.

Referenced by clearHits(), EndOfEvent(), fillHits(), and PPSPixelSD().

◆ theEntryPoint_

G4ThreeVector PPSPixelSD::theEntryPoint_
private

Definition at line 113 of file PPSPixelSD.h.

Referenced by createNewHit(), and stepInfo().

◆ theExitPoint_

G4ThreeVector PPSPixelSD::theExitPoint_
private

Definition at line 114 of file PPSPixelSD.h.

Referenced by createNewHit(), and stepInfo().

◆ theHC_

PPSPixelG4HitCollection* PPSPixelSD::theHC_
private

Definition at line 96 of file PPSPixelSD.h.

Referenced by EndOfEvent(), hitExists(), Initialize(), PrintAll(), and storeHit().

◆ theManager_

const SimTrackManager* PPSPixelSD::theManager_
private

Definition at line 97 of file PPSPixelSD.h.

◆ ThetaAtEntry_

float PPSPixelSD::ThetaAtEntry_
private

Definition at line 120 of file PPSPixelSD.h.

Referenced by createNewHit(), and stepInfo().

◆ theTrack_

G4Track* PPSPixelSD::theTrack_
private

Definition at line 101 of file PPSPixelSD.h.

Referenced by createNewHit(), and stepInfo().

◆ Tof_

float PPSPixelSD::Tof_
private

Definition at line 116 of file PPSPixelSD.h.

Referenced by createNewHit(), and stepInfo().

◆ tsID_

int PPSPixelSD::tsID_
private

Definition at line 99 of file PPSPixelSD.h.

Referenced by hitExists(), Initialize(), and updateHit().

◆ tSlice_

double PPSPixelSD::tSlice_
private

Definition at line 105 of file PPSPixelSD.h.

Referenced by createNewHit(), and stepInfo().

◆ tSliceID_

int PPSPixelSD::tSliceID_
private

Definition at line 104 of file PPSPixelSD.h.

Referenced by createNewHit(), hitExists(), stepInfo(), and updateHit().

◆ unitID_

uint32_t PPSPixelSD::unitID_
private

Definition at line 103 of file PPSPixelSD.h.

Referenced by createNewHit(), hitExists(), stepInfo(), and updateHit().

◆ Vx_

float PPSPixelSD::Vx_
private

Definition at line 124 of file PPSPixelSD.h.

Referenced by createNewHit(), and stepInfo().

◆ Vy_

float PPSPixelSD::Vy_
private

Definition at line 124 of file PPSPixelSD.h.

Referenced by createNewHit(), and stepInfo().

◆ Vz_

float PPSPixelSD::Vz_
private

Definition at line 124 of file PPSPixelSD.h.

Referenced by createNewHit(), and stepInfo().

PPSPixelG4Hit::setTrackID
void setTrackID(int i)
Definition: PPSPixelG4Hit.cc:147
PPSPixelG4Hit::setParentId
void setParentId(int p)
Definition: PPSPixelG4Hit.cc:201
PPSPixelG4Hit::setTimeSlice
void setTimeSlice(double d)
Definition: PPSPixelG4Hit.cc:153
PPSPixelSD::ParticleType_
short ParticleType_
Definition: PPSPixelSD.h:118
PPSPixelSD::storeHit
void storeHit(PPSPixelG4Hit *)
Definition: PPSPixelSD.cc:308
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
PPSPixelSD::currentHit_
PPSPixelG4Hit * currentHit_
Definition: PPSPixelSD.h:100
PPSPixelG4Hit::setThetaAtEntry
void setThetaAtEntry(float t)
Definition: PPSPixelG4Hit.cc:188
PPSPixelG4Hit::setVz
void setVz(float p)
Definition: PPSPixelG4Hit.cc:210
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
PPSPixelG4Hit::energyLoss
float energyLoss() const
Definition: PPSPixelG4Hit.cc:165
PPSPixelG4Hit
Definition: PPSPixelG4Hit.h:38
PPSPixelSD::primaryID_
int primaryID_
Definition: PPSPixelSD.h:104
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
PPSPixelG4Hit::tof
float tof() const
Definition: PPSPixelG4Hit.cc:164
PPSPixelSD::eventno_
int eventno_
Definition: PPSPixelSD.h:126
PPSPixelSD::primID_
G4int primID_
Definition: PPSPixelSD.h:92
PPSPixelSD::hitPoint_
G4ThreeVector hitPoint_
Definition: PPSPixelSD.h:110
PPSPixelG4Hit::thetaAtEntry
float thetaAtEntry() const
Definition: PPSPixelG4Hit.cc:185
PPSPixelSD::hitExists
bool hitExists()
Definition: PPSPixelSD.cc:212
PPSPixelSD::postStepPoint_
G4StepPoint * postStepPoint_
Definition: PPSPixelSD.h:108
PPSPixelSD::summarize
void summarize()
Definition: PPSPixelSD.cc:325
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
PPSPixelSD::tSlice_
double tSlice_
Definition: PPSPixelSD.h:105
PPSPixelSD::edeposit_
float edeposit_
Definition: PPSPixelSD.h:109
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
PPSPixelSD::updateHit
void updateHit()
Definition: PPSPixelSD.cc:294
PPSPixelG4Hit::setUnitID
void setUnitID(uint32_t i)
Definition: PPSPixelG4Hit.cc:150
newFWLiteAna.found
found
Definition: newFWLiteAna.py:118
PPSPixelG4Hit::setParticleType
void setParticleType(short i)
Definition: PPSPixelG4Hit.cc:183
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
PPSPixelG4Hit::setVy
void setVy(float p)
Definition: PPSPixelG4Hit.cc:207
PPSPixelSD::ThetaAtEntry_
float ThetaAtEntry_
Definition: PPSPixelSD.h:120
PPSPixelSD::Vz_
float Vz_
Definition: PPSPixelSD.h:124
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
PPSPixelSD::numberingScheme_
std::unique_ptr< PPSVDetectorOrganization > numberingScheme_
Definition: PPSPixelSD.h:83
PPSPixelG4Hit::exitPoint
const G4ThreeVector & exitPoint() const
Definition: PPSPixelG4Hit.cc:133
PPSPixelG4Hit::unitID
uint32_t unitID() const
Definition: PPSPixelG4Hit.cc:149
PPSPixelSD::previousUnitID_
uint32_t previousUnitID_
Definition: PPSPixelSD.h:103
PPSPixelSD::stepInfo
void stepInfo(const G4Step *aStep)
Definition: PPSPixelSD.cc:162
PPSPixelSD::PhiAtEntry_
float PhiAtEntry_
Definition: PPSPixelSD.h:121
SensitiveTkDetector::SensitiveTkDetector
SensitiveTkDetector(const std::string &iname, const edm::EventSetup &es, const SensitiveDetectorCatalog &clg, edm::ParameterSet const &p)
Definition: SensitiveTkDetector.h:10
PPSPixelSD::hcID_
G4int hcID_
Definition: PPSPixelSD.h:95
PPSPixelG4Hit::setMeanPosition
void setMeanPosition(const G4ThreeVector &a)
Definition: PPSPixelG4Hit.h:54
PPSPixelSD::theEntryPoint_
G4ThreeVector theEntryPoint_
Definition: PPSPixelSD.h:113
PPSPixelG4Hit::setExitPoint
void setExitPoint(const G4ThreeVector &)
Definition: PPSPixelG4Hit.cc:135
PPSPixelSD::Pabs_
float Pabs_
Definition: PPSPixelSD.h:115
PPSPixelSD::theExitPoint_
G4ThreeVector theExitPoint_
Definition: PPSPixelSD.h:114
Point3DBase< float, LocalTag >
bysipixelclustmulteventfilter_cfi.collectionName
collectionName
Definition: bysipixelclustmulteventfilter_cfi.py:5
nhits
Definition: HIMultiTrackSelector.h:42
SensitiveDetector::FinalStepPosition
Local3DPoint FinalStepPosition(const G4Step *step, coordinates) const
Definition: SensitiveDetector.cc:70
PPSPixelSD::position_
G4ThreeVector position_
Definition: PPSPixelSD.h:112
SensitiveDetector::InitialStepPosition
Local3DPoint InitialStepPosition(const G4Step *step, coordinates) const
Definition: SensitiveDetector.cc:58
PPSPixelG4HitCollection
G4THitsCollection< PPSPixelG4Hit > PPSPixelG4HitCollection
Definition: PPSPixelG4HitCollection.h:26
PPSPixelG4Hit::phiAtEntry
float phiAtEntry() const
Definition: PPSPixelG4Hit.cc:186
PPSPixelSD::tSliceID_
int tSliceID_
Definition: PPSPixelSD.h:104
PPSPixelG4Hit::z
float z() const
Definition: PPSPixelG4Hit.cc:197
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:223
edm::ParameterSet
Definition: ParameterSet.h:47
PPSPixelSD::maxPixelHits_
static constexpr unsigned int maxPixelHits_
Definition: PPSPixelSD.h:71
PPSPixelG4Hit::particleType
int particleType() const
Definition: PPSPixelG4Hit.cc:166
PPSPixelSD::Vy_
float Vy_
Definition: PPSPixelSD.h:124
GeV
const double GeV
Definition: MathUtil.h:16
PPSPixelSD::entrancePoint_
G4ThreeVector entrancePoint_
Definition: PPSPixelSD.h:90
PPSPixelSD::createNewHit
void createNewHit()
Definition: PPSPixelSD.cc:247
PPSPixelG4Hit::setIncidentEnergy
void setIncidentEnergy(double e)
Definition: PPSPixelG4Hit.cc:144
PPSPixelG4Hit::timeSliceID
int timeSliceID() const
Definition: PPSPixelG4Hit.cc:154
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
SensitiveDetector::LocalCoordinates
Definition: SensitiveDetector.h:48
createfilelist.int
int
Definition: createfilelist.py:10
PPSPixelSD::unitID_
uint32_t unitID_
Definition: PPSPixelSD.h:103
PPSPixelG4Hit::setEnergyLoss
void setEnergyLoss(float e)
Definition: PPSPixelG4Hit.cc:182
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
PPSPixelSD::ParentId_
int ParentId_
Definition: PPSPixelSD.h:123
PPSPixelG4Hit::p
float p() const
Definition: PPSPixelG4Hit.cc:163
NULL
#define NULL
Definition: scimark2.h:8
PPSPixelSD::theTrack_
G4Track * theTrack_
Definition: PPSPixelSD.h:101
PPSPixelG4Hit::entryPoint
const G4ThreeVector & entryPoint() const
Definition: PPSPixelG4Hit.cc:129
PPSPixelSD::Vx_
float Vx_
Definition: PPSPixelSD.h:124
PPSPixelSD::tsID_
int tsID_
Definition: PPSPixelSD.h:99
PPSPixelSD::setDetUnitId
uint32_t setDetUnitId(const G4Step *) override
Definition: PPSPixelSD.cc:84
PPSPixelSD::resetForNewPrimary
void resetForNewPrimary()
Definition: PPSPixelSD.cc:319
PPSPixelSD::Tof_
float Tof_
Definition: PPSPixelSD.h:116
PPSPixelG4Hit::trackID
int trackID() const
Definition: PPSPixelG4Hit.cc:146
PPSPixelSD::clearHits
void clearHits() override
Definition: PPSPixelSD.cc:153
PPSPixelG4Hit::setP
void setP(float e)
Definition: PPSPixelG4Hit.cc:174
PPSPixelSD::setToLocal
G4ThreeVector setToLocal(const G4ThreeVector &globalPoint)
Definition: PPSPixelSD.cc:155
PPSPixelG4Hit::setTof
void setTof(float e)
Definition: PPSPixelG4Hit.cc:181
PPSPixelSD::incidentEnergy_
float incidentEnergy_
Definition: PPSPixelSD.h:91
PPSPixelSD::theManager_
const SimTrackManager * theManager_
Definition: PPSPixelSD.h:97
PPSPixelSD::Eloss_
float Eloss_
Definition: PPSPixelSD.h:117
PPSPixelSD::slave_
std::unique_ptr< TrackingSlaveSD > slave_
Definition: PPSPixelSD.h:82
PPSPixelSD::preStepPoint_
G4StepPoint * preStepPoint_
Definition: PPSPixelSD.h:107
PPSPixelSD::name_
std::string name_
Definition: PPSPixelSD.h:94
PPSPixelG4Hit::setEntryPoint
void setEntryPoint(const G4ThreeVector &)
Definition: PPSPixelG4Hit.cc:131
PSimHit
Definition: PSimHit.h:15
PbPb_ZMuSkimMuonDPG_cff.particleType
particleType
Definition: PbPb_ZMuSkimMuonDPG_cff.py:27
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
PPSPixelSD::theHC_
PPSPixelG4HitCollection * theHC_
Definition: PPSPixelSD.h:96
PPSPixelSD::currentPV_
G4VPhysicalVolume * currentPV_
Definition: PPSPixelSD.h:102
hit
Definition: SiStripHitEffFromCalibTree.cc:88
PPSPixelG4Hit::setPhiAtEntry
void setPhiAtEntry(float f)
Definition: PPSPixelG4Hit.cc:189
PPSPixelG4Hit::setVx
void setVx(float p)
Definition: PPSPixelG4Hit.cc:204