CMS 3D CMS Logo

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

#include <PPSDiamondSD.h>

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

Public Member Functions

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
 
- 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
 
G4bool hitExists ()
 
void importInfoToHit ()
 
bool isPrimary (const G4Track *track)
 
bool ProcessHits (G4Step *step, G4TouchableHistory *tHistory) override
 
void resetForNewPrimary ()
 
uint32_t setDetUnitId (const G4Step *step) override
 
void setNumberingScheme (PPSVDetectorOrganization *scheme)
 
G4ThreeVector setToLocal (const G4ThreeVector &globalPoint)
 
void stepInfo (const G4Step *aStep)
 
void storeHit (PPSDiamondG4Hit *)
 
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

PPSDiamondG4HitcurrentHit_
 
G4VPhysicalVolume * currentPV_
 
double Eloss_
 
G4ThreeVector entrancePoint_
 
int eventno_
 
G4ThreeVector exitPoint_
 
double Globaltimehit_
 
G4int hcID_
 
G4ThreeVector hitPoint_
 
double incidentEnergy_
 
G4String name_
 
std::unique_ptr< PPSVDetectorOrganizationnumberingScheme_
 
double Pabs_
 
int ParentId_
 
short ParticleType_
 
double PhiAtEntry_
 
G4StepPoint * postStepPoint_
 
G4StepPoint * preStepPoint_
 
G4int primaryID_
 
std::unique_ptr< TrackingSlaveSDslave_
 
double theglobaltimehit_
 
PPSDiamondG4HitCollectiontheHC_
 
G4ThreeVector theLocalEntryPoint_
 
G4ThreeVector theLocalExitPoint_
 
int theMPDebug_
 
double thePx_
 
double thePy_
 
double thePz_
 
double ThetaAtEntry_
 
G4Track * theTrack_
 
double Tof_
 
G4double tSlice_
 
G4int tSliceID_
 
unsigned int unitID_
 
int verbosity_
 
double Vx_
 
double Vy_
 
double Vz_
 

Static Private Attributes

static constexpr unsigned int maxDiamondHits_ = 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

Definition at line 28 of file PPSDiamondSD.h.

Constructor & Destructor Documentation

◆ PPSDiamondSD()

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

Definition at line 28 of file PPSDiamondSD.cc.

33  : SensitiveTkDetector(name_, es, clg, p),
34  numberingScheme_(nullptr),
35  hcID_(-1),
36  theHC_(nullptr),
37  currentHit_(nullptr),
38  theTrack_(nullptr),
39  currentPV_(nullptr),
40  unitID_(0),
41  preStepPoint_(nullptr),
42  postStepPoint_(nullptr),
43  eventno_(0) {
44  collectionName.insert(name_);
45  edm::ParameterSet m_Anal = p.getParameter<edm::ParameterSet>("PPSDiamondSD");
46  verbosity_ = m_Anal.getParameter<int>("Verbosity");
47 
48  LogDebug("PPSSimDiamond") << "*******************************************************\n"
49  << "* *\n"
50  << "* Constructing a PPSDiamondSD with name " << name_ << "\n"
51  << "* *\n"
52  << "*******************************************************"
53  << "\n";
54 
55  slave_ = std::make_unique<TrackingSlaveSD>(name_);
56 
57  if (name_ == "CTPPSTimingHits") {
58  numberingScheme_ = std::make_unique<PPSDiamondNumberingScheme>();
59  edm::LogInfo("PPSSimDiamond") << "Find CTPPSDiamondHits as name";
60  } else {
61  edm::LogWarning("PPSSimDiamond") << "PPSDiamondSD: ReadoutName not supported\n";
62  }
63 
64  edm::LogInfo("PPSSimDiamond") << "PPSDiamondSD: Instantiation completed";
65 }

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

◆ ~PPSDiamondSD()

PPSDiamondSD::~PPSDiamondSD ( )
override

Definition at line 67 of file PPSDiamondSD.cc.

67 {}

Member Function Documentation

◆ clear()

void PPSDiamondSD::clear ( void  )
override

Definition at line 263 of file PPSDiamondSD.cc.

263 {}

◆ clearHits()

void PPSDiamondSD::clearHits ( )
overrideprivatevirtual

Implements SensitiveDetector.

Definition at line 293 of file PPSDiamondSD.cc.

293 { slave_->Initialize(); }

References slave_.

Referenced by update().

◆ clearTrack()

void PPSDiamondSD::clearTrack ( G4Track *  Track)

Definition at line 291 of file PPSDiamondSD.cc.

291 { track->SetTrackStatus(fStopAndKill); }

References HLT_2018_cff::track.

◆ DrawAll()

void PPSDiamondSD::DrawAll ( )
override

Definition at line 265 of file PPSDiamondSD.cc.

265 {}

◆ EndOfEvent()

void PPSDiamondSD::EndOfEvent ( G4HCofThisEvent *  eventHC)
override

Definition at line 240 of file PPSDiamondSD.cc.

240  {
241  // here we loop over transient hits and make them persistent
242  for (unsigned int j = 0; j < (unsigned int)theHC_->entries() && j < maxDiamondHits_; j++) {
243  PPSDiamondG4Hit* aHit = (*theHC_)[j];
244 
245  Local3DPoint entry(aHit->localEntry().x(), aHit->localEntry().y(), aHit->localEntry().z());
246  Local3DPoint exit(aHit->localExit().x(), aHit->localExit().y(), aHit->localExit().z());
247  slave_->processHits(PSimHit(entry,
248  exit,
249  aHit->p(),
250  aHit->tof(),
251  aHit->energyLoss(),
252  aHit->particleType(),
253  aHit->unitID(),
254  aHit->trackID(),
255  aHit->thetaAtEntry(),
256  aHit->phiAtEntry()));
257  }
258  summarize();
259 }

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()

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

Implements SensitiveTkDetector.

Definition at line 272 of file PPSDiamondSD.cc.

272  {
273  if (slave_->name() == n)
274  c = slave_->hits();
275 }

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

◆ 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

Definition at line 69 of file PPSDiamondSD.cc.

69  {
70  LogDebug("PPSSimDiamond") << "PPSDiamondSD : Initialize called for " << name_;
71 
73  G4SDManager::GetSDMpointer()->AddNewCollection(name_, collectionName[0]);
74  if (hcID_ < 0)
75  hcID_ = G4SDManager::GetSDMpointer()->GetCollectionID(collectionName[0]);
76  HCE->AddHitsCollection(hcID_, theHC_);
77 }

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

◆ isPrimary()

bool PPSDiamondSD::isPrimary ( const G4Track *  track)
private

Definition at line 295 of file PPSDiamondSD.cc.

295  {
296  TrackInformation* info = dynamic_cast<TrackInformation*>(track->GetUserInformation());
297  return info && info->isPrimary();
298 }

References info(), and HLT_2018_cff::track.

Referenced by stepInfo().

◆ PrintAll()

void PPSDiamondSD::PrintAll ( )
override

Definition at line 267 of file PPSDiamondSD.cc.

267  {
268  LogDebug("PPSSimDiamond") << "PPSDiamond: Collection " << theHC_->GetName() << "\n";
269  theHC_->PrintAllHits();
270 }

References LogDebug, and theHC_.

◆ printHitInfo()

void PPSDiamondSD::printHitInfo ( )

Definition at line 79 of file PPSDiamondSD.cc.

79  {
80  LogDebug("PPSSimDiamond") << theTrack_->GetDefinition()->GetParticleName() << " PPS_Timing_SD CreateNewHit for"
81  << " PV " << currentPV_->GetName() << " PVid = " << currentPV_->GetCopyNo() << " Unit "
82  << unitID_ << "\n";
83  LogDebug("PPSSimDiamond") << " primary " << primaryID_ << " time slice " << tSliceID_ << " of energy "
84  << theTrack_->GetTotalEnergy() << " Eloss_ " << Eloss_ << " positions "
85  << "\n";
86  printf(" PreStepPoint(%10f,%10f,%10f)",
87  preStepPoint_->GetPosition().x(),
88  preStepPoint_->GetPosition().y(),
89  preStepPoint_->GetPosition().z());
90  printf(" PosStepPoint(%10f,%10f,%10f)\n",
91  postStepPoint_->GetPosition().x(),
92  postStepPoint_->GetPosition().y(),
93  postStepPoint_->GetPosition().z());
94  LogDebug("PPSSimDiamond") << " positions "
95  << "(" << postStepPoint_->GetPosition().x() << "," << postStepPoint_->GetPosition().y()
96  << "," << postStepPoint_->GetPosition().z() << ")"
97  << " For Track " << theTrack_->GetTrackID() << " which is a "
98  << theTrack_->GetDefinition()->GetParticleName() << " ParentID is "
99  << theTrack_->GetParentID() << "\n";
100 
101  if (theTrack_->GetTrackID() == 1) {
102  LogDebug("PPSSimDiamond") << " primary particle ";
103  } else {
104  LogDebug("PPSSimDiamond") << " daughter of part. " << theTrack_->GetParentID();
105  }
106 
107  LogDebug("PPSSimDiamond") << " and created by ";
108 
109  if (theTrack_->GetCreatorProcess() != nullptr)
110  LogDebug("PPSSimDiamond") << theTrack_->GetCreatorProcess()->GetProcessName();
111  else
112  LogDebug("PPSSimDiamond") << "NO process";
113 
114  LogDebug("PPSSimDiamond") << "\n";
115 }

References currentPV_, Eloss_, LogDebug, postStepPoint_, preStepPoint_, primaryID_, theTrack_, tSliceID_, and unitID_.

◆ ProcessHits()

bool PPSDiamondSD::ProcessHits ( G4Step *  step,
G4TouchableHistory *  tHistory 
)
overrideprivatevirtual

Implements SensitiveDetector.

Definition at line 117 of file PPSDiamondSD.cc.

117  {
118  if (aStep == nullptr) {
119  LogDebug("PPSSimDiamond") << " There is no hit to process ";
120  return true;
121  } else {
122  LogDebug("PPSSimDiamond") << "*******************************************************\n"
123  << "* *\n"
124  << "* PPS Diamond Hit initialized with name " << name_ << "\n"
125  << "* *\n"
126  << "*******************************************************"
127  << "\n";
128 
129  stepInfo(aStep);
130 
131  if (theTrack_->GetDefinition()->GetPDGEncoding() == 2212) {
132  importInfoToHit(); //in addtion to import info to hit it STORE hit as well
133  LogDebug("PPSSimDiamond") << " information imported to the hit ";
134  }
135 
136  return true;
137  }
138 }

References importInfoToHit(), LogDebug, name_, stepInfo(), and theTrack_.

◆ resetForNewPrimary()

void PPSDiamondSD::resetForNewPrimary ( )
private

◆ setDetUnitId()

uint32_t PPSDiamondSD::setDetUnitId ( const G4Step *  step)
overrideprivatevirtual

Implements SensitiveDetector.

Definition at line 188 of file PPSDiamondSD.cc.

188  {
189  return (numberingScheme_ == nullptr ? 0 : numberingScheme_->unitID(aStep));
190 }

References numberingScheme_.

Referenced by stepInfo().

◆ setNumberingScheme()

void PPSDiamondSD::setNumberingScheme ( PPSVDetectorOrganization scheme)
private

Definition at line 276 of file PPSDiamondSD.cc.

276  {
277  if (scheme) {
278  LogDebug("PPSDiamond") << "PPSDiamondSD: updates numbering scheme for " << GetName();
279  numberingScheme_.reset(scheme);
280  }
281 }

References LogDebug, numberingScheme_, and generator_cfi::scheme.

◆ setToLocal()

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

Definition at line 232 of file PPSDiamondSD.cc.

232  {
233  G4ThreeVector localPoint;
234  const G4VTouchable* touch = preStepPoint_->GetTouchable();
235  localPoint = touch->GetHistory()->GetTopTransform().TransformPoint(global);
236 
237  return localPoint;
238 }

References preStepPoint_.

Referenced by stepInfo().

◆ stepInfo()

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

Definition at line 140 of file PPSDiamondSD.cc.

140  {
141  theTrack_ = aStep->GetTrack();
142  preStepPoint_ = aStep->GetPreStepPoint();
143  postStepPoint_ = aStep->GetPostStepPoint();
144  hitPoint_ = preStepPoint_->GetPosition();
145  exitPoint_ = postStepPoint_->GetPosition();
146  currentPV_ = preStepPoint_->GetPhysicalVolume();
149  theglobaltimehit_ = preStepPoint_->GetGlobalTime() / nanosecond;
150  incidentEnergy_ = (aStep->GetPreStepPoint()->GetTotalEnergy() / eV);
151  tSlice_ = (postStepPoint_->GetGlobalTime()) / nanosecond;
152  tSliceID_ = (int)tSlice_;
153  unitID_ = setDetUnitId(aStep);
154 
155  if (verbosity_)
156  LogDebug("PPSSimDiamond") << "UNIT " << unitID_ << "\n";
157 
158  primaryID_ = theTrack_->GetTrackID();
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); //pps added
165  ParticleType_ = theTrack_->GetDefinition()->GetPDGEncoding();
166 
167  //corrected phi and theta treatment
168  G4ThreeVector gmd = aStep->GetPreStepPoint()->GetMomentumDirection();
169  // convert it to local frame
170  G4ThreeVector lmd = ((G4TouchableHistory*)(aStep->GetPreStepPoint()->GetTouchable()))
171  ->GetHistory()
172  ->GetTopTransform()
173  .TransformAxis(gmd);
175  ThetaAtEntry_ = lnmd.theta();
176  PhiAtEntry_ = lnmd.phi();
177 
178  if (isPrimary(theTrack_))
179  ParentId_ = 0;
180  else
181  ParentId_ = theTrack_->GetParentID();
182 
183  Vx_ = theTrack_->GetVertexPosition().x() / mm;
184  Vy_ = theTrack_->GetVertexPosition().y() / mm;
185  Vz_ = theTrack_->GetVertexPosition().z() / mm;
186 }

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()

void PPSDiamondSD::storeHit ( PPSDiamondG4Hit hit)
private

Definition at line 192 of file PPSDiamondSD.cc.

192  {
193  if (hit == nullptr) {
194  if (verbosity_)
195  LogDebug("PPSSimDiamond") << "PPSDiamond: hit to be stored is NULL !!"
196  << "\n";
197  return;
198  }
199 
200  theHC_->insert(hit);
201 }

References LogDebug, theHC_, and verbosity_.

Referenced by importInfoToHit().

◆ summarize()

void PPSDiamondSD::summarize ( )
private

Definition at line 261 of file PPSDiamondSD.cc.

261 {}

Referenced by EndOfEvent().

◆ update() [1/2]

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

◆ update() [2/2]

void PPSDiamondSD::update ( const BeginOfEvent )
overrideprivatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const BeginOfEvent * >.

Definition at line 282 of file PPSDiamondSD.cc.

282  {
283  LogDebug("PPSSimDiamond") << " Dispatched BeginOfEvent !"
284  << "\n";
285  clearHits();
286  eventno_ = (*i)()->GetEventID();
287 }

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 PPSDiamondSD::updateHit ( )
private

Member Data Documentation

◆ currentHit_

PPSDiamondG4Hit* PPSDiamondSD::currentHit_
private

Definition at line 79 of file PPSDiamondSD.h.

Referenced by importInfoToHit().

◆ currentPV_

G4VPhysicalVolume* PPSDiamondSD::currentPV_
private

Definition at line 81 of file PPSDiamondSD.h.

Referenced by printHitInfo(), and stepInfo().

◆ Eloss_

double PPSDiamondSD::Eloss_
private

Definition at line 95 of file PPSDiamondSD.h.

Referenced by importInfoToHit(), printHitInfo(), and stepInfo().

◆ entrancePoint_

G4ThreeVector PPSDiamondSD::entrancePoint_
private

Definition at line 74 of file PPSDiamondSD.h.

◆ eventno_

int PPSDiamondSD::eventno_
private

Definition at line 103 of file PPSDiamondSD.h.

Referenced by update().

◆ exitPoint_

G4ThreeVector PPSDiamondSD::exitPoint_
private

Definition at line 89 of file PPSDiamondSD.h.

Referenced by importInfoToHit(), and stepInfo().

◆ Globaltimehit_

double PPSDiamondSD::Globaltimehit_
private

Definition at line 101 of file PPSDiamondSD.h.

Referenced by importInfoToHit().

◆ hcID_

G4int PPSDiamondSD::hcID_
private

Definition at line 77 of file PPSDiamondSD.h.

Referenced by Initialize().

◆ hitPoint_

G4ThreeVector PPSDiamondSD::hitPoint_
private

Definition at line 88 of file PPSDiamondSD.h.

Referenced by importInfoToHit(), and stepInfo().

◆ incidentEnergy_

double PPSDiamondSD::incidentEnergy_
private

Definition at line 75 of file PPSDiamondSD.h.

Referenced by importInfoToHit(), and stepInfo().

◆ maxDiamondHits_

constexpr unsigned int PPSDiamondSD::maxDiamondHits_ = 15000
staticconstexprprivate

Definition at line 49 of file PPSDiamondSD.h.

Referenced by EndOfEvent().

◆ name_

G4String PPSDiamondSD::name_
private

Definition at line 76 of file PPSDiamondSD.h.

Referenced by Initialize(), PPSDiamondSD(), and ProcessHits().

◆ numberingScheme_

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

Definition at line 59 of file PPSDiamondSD.h.

Referenced by PPSDiamondSD(), setDetUnitId(), and setNumberingScheme().

◆ Pabs_

double PPSDiamondSD::Pabs_
private

Definition at line 92 of file PPSDiamondSD.h.

Referenced by importInfoToHit(), and stepInfo().

◆ ParentId_

int PPSDiamondSD::ParentId_
private

Definition at line 99 of file PPSDiamondSD.h.

Referenced by importInfoToHit(), and stepInfo().

◆ ParticleType_

short PPSDiamondSD::ParticleType_
private

Definition at line 96 of file PPSDiamondSD.h.

Referenced by importInfoToHit(), and stepInfo().

◆ PhiAtEntry_

double PPSDiamondSD::PhiAtEntry_
private

Definition at line 98 of file PPSDiamondSD.h.

Referenced by importInfoToHit(), and stepInfo().

◆ postStepPoint_

G4StepPoint* PPSDiamondSD::postStepPoint_
private

Definition at line 87 of file PPSDiamondSD.h.

Referenced by printHitInfo(), and stepInfo().

◆ preStepPoint_

G4StepPoint* PPSDiamondSD::preStepPoint_
private

Definition at line 86 of file PPSDiamondSD.h.

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

◆ primaryID_

G4int PPSDiamondSD::primaryID_
private

Definition at line 83 of file PPSDiamondSD.h.

Referenced by importInfoToHit(), printHitInfo(), and stepInfo().

◆ slave_

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

Definition at line 58 of file PPSDiamondSD.h.

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

◆ theglobaltimehit_

double PPSDiamondSD::theglobaltimehit_
private

Definition at line 102 of file PPSDiamondSD.h.

Referenced by stepInfo().

◆ theHC_

PPSDiamondG4HitCollection* PPSDiamondSD::theHC_
private

Definition at line 78 of file PPSDiamondSD.h.

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

◆ theLocalEntryPoint_

G4ThreeVector PPSDiamondSD::theLocalEntryPoint_
private

Definition at line 90 of file PPSDiamondSD.h.

Referenced by importInfoToHit(), and stepInfo().

◆ theLocalExitPoint_

G4ThreeVector PPSDiamondSD::theLocalExitPoint_
private

Definition at line 91 of file PPSDiamondSD.h.

Referenced by importInfoToHit(), and stepInfo().

◆ theMPDebug_

int PPSDiamondSD::theMPDebug_
private

Definition at line 62 of file PPSDiamondSD.h.

◆ thePx_

double PPSDiamondSD::thePx_
private

Definition at line 93 of file PPSDiamondSD.h.

Referenced by importInfoToHit(), and stepInfo().

◆ thePy_

double PPSDiamondSD::thePy_
private

Definition at line 93 of file PPSDiamondSD.h.

Referenced by importInfoToHit(), and stepInfo().

◆ thePz_

double PPSDiamondSD::thePz_
private

Definition at line 93 of file PPSDiamondSD.h.

Referenced by importInfoToHit(), and stepInfo().

◆ ThetaAtEntry_

double PPSDiamondSD::ThetaAtEntry_
private

Definition at line 97 of file PPSDiamondSD.h.

Referenced by importInfoToHit(), and stepInfo().

◆ theTrack_

G4Track* PPSDiamondSD::theTrack_
private

Definition at line 80 of file PPSDiamondSD.h.

Referenced by printHitInfo(), ProcessHits(), and stepInfo().

◆ Tof_

double PPSDiamondSD::Tof_
private

Definition at line 94 of file PPSDiamondSD.h.

Referenced by importInfoToHit(), and stepInfo().

◆ tSlice_

G4double PPSDiamondSD::tSlice_
private

Definition at line 84 of file PPSDiamondSD.h.

Referenced by importInfoToHit(), and stepInfo().

◆ tSliceID_

G4int PPSDiamondSD::tSliceID_
private

Definition at line 83 of file PPSDiamondSD.h.

Referenced by printHitInfo(), and stepInfo().

◆ unitID_

unsigned int PPSDiamondSD::unitID_
private

Definition at line 82 of file PPSDiamondSD.h.

Referenced by importInfoToHit(), printHitInfo(), and stepInfo().

◆ verbosity_

int PPSDiamondSD::verbosity_
private

Definition at line 61 of file PPSDiamondSD.h.

Referenced by PPSDiamondSD(), stepInfo(), and storeHit().

◆ Vx_

double PPSDiamondSD::Vx_
private

Definition at line 100 of file PPSDiamondSD.h.

Referenced by importInfoToHit(), and stepInfo().

◆ Vy_

double PPSDiamondSD::Vy_
private

Definition at line 100 of file PPSDiamondSD.h.

Referenced by importInfoToHit(), and stepInfo().

◆ Vz_

double PPSDiamondSD::Vz_
private

Definition at line 100 of file PPSDiamondSD.h.

Referenced by importInfoToHit(), and stepInfo().

PPSDiamondSD::storeHit
void storeHit(PPSDiamondG4Hit *)
Definition: PPSDiamondSD.cc:192
PPSDiamondG4Hit::thetaAtEntry
double thetaAtEntry() const
Definition: PPSDiamondG4Hit.cc:127
PPSDiamondG4Hit::setTimeSlice
void setTimeSlice(double d)
Definition: PPSDiamondG4Hit.cc:113
PPSDiamondG4Hit::setTof
void setTof(double e)
Definition: PPSDiamondG4Hit.cc:122
PPSDiamondSD::incidentEnergy_
double incidentEnergy_
Definition: PPSDiamondSD.h:75
PPSDiamondSD::theTrack_
G4Track * theTrack_
Definition: PPSDiamondSD.h:80
PPSDiamondG4Hit::setVz
void setVz(double p)
Definition: PPSDiamondG4Hit.cc:152
PPSDiamondG4HitCollection
G4THitsCollection< PPSDiamondG4Hit > PPSDiamondG4HitCollection
Definition: PPSDiamondG4HitCollection.h:12
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
PPSDiamondG4Hit::energyLoss
double energyLoss() const
Definition: PPSDiamondG4Hit.cc:118
PPSDiamondSD::stepInfo
void stepInfo(const G4Step *aStep)
Definition: PPSDiamondSD.cc:140
PPSDiamondSD::maxDiamondHits_
static constexpr unsigned int maxDiamondHits_
Definition: PPSDiamondSD.h:49
mps_splice.entry
entry
Definition: mps_splice.py:68
PPSDiamondSD::ParentId_
int ParentId_
Definition: PPSDiamondSD.h:99
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
PPSDiamondG4Hit::trackID
unsigned int trackID() const
Definition: PPSDiamondG4Hit.cc:106
PV3DBase::theta
Geom::Theta< T > theta() const
Definition: PV3DBase.h:72
PPSDiamondG4Hit::unitID
int unitID() const
Definition: PPSDiamondG4Hit.cc:109
PPSDiamondSD::hcID_
G4int hcID_
Definition: PPSDiamondSD.h:77
edm::LogInfo
Definition: MessageLogger.h:254
PPSDiamondSD::Eloss_
double Eloss_
Definition: PPSDiamondSD.h:95
PPSDiamondG4Hit::p
double p() const
Definition: PPSDiamondG4Hit.cc:116
PPSDiamondG4Hit::setEnergyLoss
void setEnergyLoss(double e)
Definition: PPSDiamondG4Hit.cc:123
info
static const TGPicture * info(bool iBackgroundIsBlack)
Definition: FWCollectionSummaryWidget.cc:152
PPSDiamondSD::PhiAtEntry_
double PhiAtEntry_
Definition: PPSDiamondSD.h:98
PPSDiamondSD::thePz_
double thePz_
Definition: PPSDiamondSD.h:93
PPSDiamondSD::thePy_
double thePy_
Definition: PPSDiamondSD.h:93
PPSDiamondSD::Globaltimehit_
double Globaltimehit_
Definition: PPSDiamondSD.h:101
PPSDiamondSD::theLocalExitPoint_
G4ThreeVector theLocalExitPoint_
Definition: PPSDiamondSD.h:91
PPSDiamondG4Hit::setVx
void setVx(double p)
Definition: PPSDiamondG4Hit.cc:146
PPSDiamondSD::theLocalEntryPoint_
G4ThreeVector theLocalEntryPoint_
Definition: PPSDiamondSD.h:90
PPSDiamondG4Hit::localEntry
const G4ThreeVector & localEntry() const
Definition: PPSDiamondG4Hit.cc:98
PPSDiamondG4Hit::setParentId
void setParentId(int p)
Definition: PPSDiamondG4Hit.cc:143
PPSDiamondSD::currentHit_
PPSDiamondG4Hit * currentHit_
Definition: PPSDiamondSD.h:79
PPSDiamondSD::eventno_
int eventno_
Definition: PPSDiamondSD.h:103
PPSDiamondG4Hit::localExit
const G4ThreeVector & localExit() const
Definition: PPSDiamondG4Hit.cc:100
PPSDiamondG4Hit::tof
double tof() const
Definition: PPSDiamondG4Hit.cc:117
PPSDiamondSD::setToLocal
G4ThreeVector setToLocal(const G4ThreeVector &globalPoint)
Definition: PPSDiamondSD.cc:232
PPSDiamondSD::tSliceID_
G4int tSliceID_
Definition: PPSDiamondSD.h:83
PPSDiamondSD::exitPoint_
G4ThreeVector exitPoint_
Definition: PPSDiamondSD.h:89
SensitiveTkDetector::SensitiveTkDetector
SensitiveTkDetector(const std::string &iname, const edm::EventSetup &es, const SensitiveDetectorCatalog &clg, edm::ParameterSet const &p)
Definition: SensitiveTkDetector.h:10
PPSDiamondSD::Vz_
double Vz_
Definition: PPSDiamondSD.h:100
PPSDiamondSD::numberingScheme_
std::unique_ptr< PPSVDetectorOrganization > numberingScheme_
Definition: PPSDiamondSD.h:59
PPSDiamondG4Hit::setExit
void setExit(const G4ThreeVector &xyz)
Definition: PPSDiamondG4Hit.cc:96
PPSDiamondSD::primaryID_
G4int primaryID_
Definition: PPSDiamondSD.h:83
Point3DBase< float, LocalTag >
bysipixelclustmulteventfilter_cfi.collectionName
collectionName
Definition: bysipixelclustmulteventfilter_cfi.py:5
PPSDiamondSD::preStepPoint_
G4StepPoint * preStepPoint_
Definition: PPSDiamondSD.h:86
PPSDiamondG4Hit::phiAtEntry
double phiAtEntry() const
Definition: PPSDiamondG4Hit.cc:128
PPSDiamondSD::theHC_
PPSDiamondG4HitCollection * theHC_
Definition: PPSDiamondSD.h:78
PPSDiamondSD::unitID_
unsigned int unitID_
Definition: PPSDiamondSD.h:82
edm::LogWarning
Definition: MessageLogger.h:141
PPSDiamondSD::Tof_
double Tof_
Definition: PPSDiamondSD.h:94
PPSDiamondG4Hit::setEntry
void setEntry(const G4ThreeVector &xyz)
Definition: PPSDiamondG4Hit.cc:93
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
edm::ParameterSet
Definition: ParameterSet.h:36
PPSDiamondSD::Vx_
double Vx_
Definition: PPSDiamondSD.h:100
PPSDiamondG4Hit::setLocalEntry
void setLocalEntry(const G4ThreeVector &theLocalEntryPoint)
Definition: PPSDiamondG4Hit.cc:99
PPSDiamondG4Hit
Definition: PPSDiamondG4Hit.h:13
GeV
const double GeV
Definition: MathUtil.h:16
PPSDiamondSD::isPrimary
bool isPrimary(const G4Track *track)
Definition: PPSDiamondSD.cc:295
PPSDiamondSD::Pabs_
double Pabs_
Definition: PPSDiamondSD.h:92
PPSDiamondG4Hit::setTrackID
void setTrackID(int i)
Definition: PPSDiamondG4Hit.cc:107
PPSDiamondSD::currentPV_
G4VPhysicalVolume * currentPV_
Definition: PPSDiamondSD.h:81
SensitiveDetector::ConvertToLocal3DPoint
Local3DPoint ConvertToLocal3DPoint(const G4ThreeVector &point) const
Definition: SensitiveDetector.h:56
TrackInformation
Definition: TrackInformation.h:8
createfilelist.int
int
Definition: createfilelist.py:10
PPSDiamondSD::Vy_
double Vy_
Definition: PPSDiamondSD.h:100
PPSDiamondG4Hit::setP
void setP(double e)
Definition: PPSDiamondG4Hit.cc:121
PPSDiamondG4Hit::setThetaAtEntry
void setThetaAtEntry(double t)
Definition: PPSDiamondG4Hit.cc:130
PPSDiamondG4Hit::setUnitID
void setUnitID(unsigned int i)
Definition: PPSDiamondG4Hit.cc:110
PPSDiamondG4Hit::setIncidentEnergy
void setIncidentEnergy(double e)
Definition: PPSDiamondG4Hit.cc:104
PPSDiamondSD::verbosity_
int verbosity_
Definition: PPSDiamondSD.h:61
PPSDiamondG4Hit::setPy
void setPy(double p)
Definition: PPSDiamondG4Hit.cc:155
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
PPSDiamondG4Hit::particleType
int particleType() const
Definition: PPSDiamondG4Hit.cc:119
PPSDiamondSD::ParticleType_
short ParticleType_
Definition: PPSDiamondSD.h:96
PPSDiamondG4Hit::setParticleType
void setParticleType(short i)
Definition: PPSDiamondG4Hit.cc:125
PPSDiamondSD::name_
G4String name_
Definition: PPSDiamondSD.h:76
generator_cfi.scheme
scheme
Definition: generator_cfi.py:22
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
PPSDiamondG4Hit::setPz
void setPz(double p)
Definition: PPSDiamondG4Hit.cc:156
PPSDiamondSD::hitPoint_
G4ThreeVector hitPoint_
Definition: PPSDiamondSD.h:88
PPSDiamondSD::theglobaltimehit_
double theglobaltimehit_
Definition: PPSDiamondSD.h:102
PPSDiamondSD::thePx_
double thePx_
Definition: PPSDiamondSD.h:93
PPSDiamondSD::slave_
std::unique_ptr< TrackingSlaveSD > slave_
Definition: PPSDiamondSD.h:58
PPSDiamondSD::summarize
void summarize()
Definition: PPSDiamondSD.cc:261
HLT_2018_cff.track
track
Definition: HLT_2018_cff.py:10352
beamvalidation.exit
def exit(msg="")
Definition: beamvalidation.py:53
PPSDiamondG4Hit::setPx
void setPx(double p)
Definition: PPSDiamondG4Hit.cc:154
PSimHit
Definition: PSimHit.h:15
PPSDiamondSD::postStepPoint_
G4StepPoint * postStepPoint_
Definition: PPSDiamondSD.h:87
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
PPSDiamondSD::ThetaAtEntry_
double ThetaAtEntry_
Definition: PPSDiamondSD.h:97
PPSDiamondSD::setDetUnitId
uint32_t setDetUnitId(const G4Step *step) override
Definition: PPSDiamondSD.cc:188
PPSDiamondG4Hit::setLocalExit
void setLocalExit(const G4ThreeVector &theLocalExitPoint)
Definition: PPSDiamondG4Hit.cc:101
PPSDiamondG4Hit::setPhiAtEntry
void setPhiAtEntry(double f)
Definition: PPSDiamondG4Hit.cc:131
PV3DBase::phi
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
PPSDiamondG4Hit::setVy
void setVy(double p)
Definition: PPSDiamondG4Hit.cc:149
PPSDiamondG4Hit::setGlobalTimehit
void setGlobalTimehit(double h)
Definition: PPSDiamondG4Hit.cc:163
hit
Definition: SiStripHitEffFromCalibTree.cc:88
PPSDiamondSD::tSlice_
G4double tSlice_
Definition: PPSDiamondSD.h:84
PPSDiamondSD::importInfoToHit
void importInfoToHit()
Definition: PPSDiamondSD.cc:203
PPSDiamondSD::clearHits
void clearHits() override
Definition: PPSDiamondSD.cc:293