CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
HGCSD Class Reference

#include <HGCSD.h>

Inheritance diagram for HGCSD:
CaloSD Observer< const BeginOfJob * > SensitiveCaloDetector Observer< const BeginOfRun * > Observer< const BeginOfEvent * > Observer< const BeginOfTrack * > Observer< const EndOfTrack * > Observer< const EndOfEvent * > SensitiveDetector

Public Member Functions

double getEnergyDeposit (G4Step *) override
 
 HGCSD (G4String, const DDCompactView &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
 
bool ProcessHits (G4Step *, G4TouchableHistory *) override
 
uint32_t setDetUnitId (G4Step *step) override
 
 ~HGCSD () override
 
- Public Member Functions inherited from CaloSD
 CaloSD (G4String aSDname, const DDCompactView &cpv, const SensitiveDetectorCatalog &clg, edm::ParameterSet const &p, const SimTrackManager *, float timeSlice=1., bool ignoreTkID=false)
 
void clear () override
 
void DrawAll () override
 
void EndOfEvent (G4HCofThisEvent *eventHC) override
 
void fillHits (edm::PCaloHitContainer &, std::string n) override
 
void Initialize (G4HCofThisEvent *HCE) override
 
void PrintAll () override
 
bool ProcessHits (G4GFlashSpot *aSpot, G4TouchableHistory *) override
 
 ~CaloSD () override
 
- Public Member Functions inherited from SensitiveCaloDetector
 SensitiveCaloDetector (std::string &iname, const DDCompactView &cpv, const SensitiveDetectorCatalog &clg, edm::ParameterSet const &p)
 
- Public Member Functions inherited from SensitiveDetector
virtual void AssignSD (const std::string &vname)
 
Local3DPoint ConvertToLocal3DPoint (const G4ThreeVector &point)
 
void EndOfEvent (G4HCofThisEvent *eventHC) override
 
Local3DPoint FinalStepPosition (G4Step *s, coordinates)
 
virtual std::vector< std::string > getNames ()
 
void Initialize (G4HCofThisEvent *eventHC) override
 
Local3DPoint InitialStepPosition (G4Step *s, coordinates)
 
std::string nameOfSD ()
 
void NaNTrap (G4Step *step)
 
void Register ()
 
 SensitiveDetector (std::string &iname, const DDCompactView &cpv, const SensitiveDetectorCatalog &, edm::ParameterSet const &p)
 
 ~SensitiveDetector () override
 
- Public Member Functions inherited from Observer< const BeginOfRun * >
 Observer ()
 
void slotForUpdate (const BeginOfRun * iT)
 
virtual ~Observer ()
 
- Public Member Functions inherited from Observer< const BeginOfEvent * >
 Observer ()
 
void slotForUpdate (const BeginOfEvent * iT)
 
virtual ~Observer ()
 
- Public Member Functions inherited from Observer< const BeginOfTrack * >
 Observer ()
 
void slotForUpdate (const BeginOfTrack * iT)
 
virtual ~Observer ()
 
- Public Member Functions inherited from Observer< const EndOfTrack * >
 Observer ()
 
void slotForUpdate (const EndOfTrack * iT)
 
virtual ~Observer ()
 
- Public Member Functions inherited from Observer< const EndOfEvent * >
 Observer ()
 
void slotForUpdate (const EndOfEvent * iT)
 
virtual ~Observer ()
 
- Public Member Functions inherited from Observer< const BeginOfJob * >
 Observer ()
 
void slotForUpdate (const BeginOfJob * iT)
 
virtual ~Observer ()
 

Protected Member Functions

bool filterHit (CaloG4Hit *, double) override
 
void initRun () override
 
void update (const BeginOfJob *) override
 This routine will be called when the appropriate signal arrives. More...
 
- Protected Member Functions inherited from CaloSD
G4bool checkHit ()
 
void clearHits () override
 
CaloG4HitcreateNewHit ()
 
double getAttenuation (G4Step *aStep, double birk1, double birk2, double birk3)
 
virtual uint16_t getDepth (G4Step *)
 
int getNumberOfHits ()
 
double getResponseWt (G4Track *)
 
virtual G4bool getStepInfo (G4Step *aStep)
 
virtual int getTrackID (G4Track *)
 
G4bool hitExists ()
 
void resetForNewPrimary (const G4ThreeVector &, double)
 
G4ThreeVector setToGlobal (const G4ThreeVector &, const G4VTouchable *)
 
G4ThreeVector setToLocal (const G4ThreeVector &, const G4VTouchable *)
 
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 *)
 
- 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...
 

Private Member Functions

bool isItinFidVolume (G4ThreeVector &)
 
uint32_t setDetUnitId (ForwardSubdetector &, int, int, int, int, G4ThreeVector &)
 
int setTrackID (G4Step *step)
 

Private Attributes

std::vector< double > angles_
 
double eminHit
 
int levelT_
 
HGCalGeometryMode::GeometryMode m_mode
 
HGCMouseBitemouseBite_
 
double mouseBiteCut_
 
G4int mumPDG
 
G4int mupPDG
 
ForwardSubdetector myFwdSubdet_
 
std::string nameX
 
HGCNumberingSchemenumberingScheme
 
bool rejectMB_
 
double slopeMin_
 
bool storeAllG4Hits_
 
bool waferRot_
 

Additional Inherited Members

- Public Types inherited from SensitiveDetector
enum  coordinates { WorldCoordinates, LocalCoordinates }
 
- Protected Attributes inherited from CaloSD
int checkHits
 
double correctT
 
bool corrTOFBeam
 
CaloG4HitcurrentHit
 
CaloHitID currentID
 
float edepositEM
 
float edepositHAD
 
double eminHit
 
double eminHitD
 
G4int emPDG
 
double energyCut
 
G4ThreeVector entranceLocal
 
G4ThreeVector entrancePoint
 
G4int epPDG
 
bool forceSave
 
G4int gammaPDG
 
float incidentEnergy
 
double kmaxIon
 
double kmaxNeutron
 
double kmaxProton
 
const SimTrackManagerm_trackManager
 
G4ThreeVector posGlobal
 
G4StepPoint * preStepPoint
 
CaloHitID previousID
 
int primIDSaved
 
bool runInit
 
bool suppressHeavy
 
G4Track * theTrack
 
double tmaxHit
 
bool useMap
 

Detailed Description

Definition at line 26 of file HGCSD.h.

Constructor & Destructor Documentation

HGCSD::HGCSD ( G4String  name,
const DDCompactView cpv,
const SensitiveDetectorCatalog clg,
edm::ParameterSet const &  p,
const SimTrackManager manager 
)

Definition at line 36 of file HGCSD.cc.

References angles_, eminHit, ForwardEmpty, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), HGCEE, HGCHEB, HGCHEF, MeV, mouseBiteCut_, myFwdSubdet_, SensitiveDetector::nameOfSD(), nameX, rejectMB_, storeAllG4Hits_, funct::tan(), and waferRot_.

38  :
39  CaloSD(name, cpv, clg, p, manager,
40  (float)(p.getParameter<edm::ParameterSet>("HGCSD").getParameter<double>("TimeSliceUnit")),
41  p.getParameter<edm::ParameterSet>("HGCSD").getParameter<bool>("IgnoreTrackID")),
42  numberingScheme(nullptr), mouseBite_(nullptr), slopeMin_(0), levelT_(99) {
43 
44  edm::ParameterSet m_HGC = p.getParameter<edm::ParameterSet>("HGCSD");
45  eminHit = m_HGC.getParameter<double>("EminHit")*CLHEP::MeV;
46  storeAllG4Hits_ = m_HGC.getParameter<bool>("StoreAllG4Hits");
47  rejectMB_ = m_HGC.getParameter<bool>("RejectMouseBite");
48  waferRot_ = m_HGC.getParameter<bool>("RotatedWafer");
49  angles_ = m_HGC.getUntrackedParameter<std::vector<double>>("WaferAngles");
50  double waferSize = m_HGC.getUntrackedParameter<double>("WaferSize")*CLHEP::mm;
51  double mouseBite = m_HGC.getUntrackedParameter<double>("MouseBite")*CLHEP::mm;
52  mouseBiteCut_ = waferSize*tan(30.0*CLHEP::deg) - mouseBite;
53 
54  //this is defined in the hgcsens.xml
55  G4String myName(this->nameOfSD());
57  nameX = "HGCal";
58  if (myName.find("HitsEE")!=std::string::npos) {
60  nameX = "HGCalEESensitive";
61  } else if (myName.find("HitsHEfront")!=std::string::npos) {
63  nameX = "HGCalHESiliconSensitive";
64  } else if (myName.find("HitsHEback")!=std::string::npos) {
66  nameX = "HGCalHEScintillatorSensitive";
67  }
68 
69 #ifdef EDM_ML_DEBUG
70  edm::LogInfo("HGCSim")<< "**************************************************"
71  << "\n"
72  << "* *"
73  << "\n"
74  << "* Constructing a HGCSD with name " << name << "\n"
75  << "* *"
76  << "\n"
77  << "**************************************************";
78 #endif
79  edm::LogInfo("HGCSim") << "HGCSD:: Threshold for storing hits: " << eminHit
80  << " for " << nameX << " subdet " << myFwdSubdet_;
81  edm::LogInfo("HGCSim") << "Flag for storing individual Geant4 Hits "
82  << storeAllG4Hits_;
83  edm::LogInfo("HGCSim") << "Reject MosueBite Flag: " << rejectMB_
84  << " Size of wafer " << waferSize << " Mouse Bite "
85  << mouseBite << ":" << mouseBiteCut_ << " along "
86  << angles_.size() << " axes";
87 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
std::string nameOfSD()
int levelT_
Definition: HGCSD.h:59
HGCNumberingScheme * numberingScheme
Definition: HGCSD.h:53
double mouseBiteCut_
Definition: HGCSD.h:61
std::vector< double > angles_
Definition: HGCSD.h:62
bool storeAllG4Hits_
Definition: HGCSD.h:60
bool waferRot_
Definition: HGCSD.h:60
CaloSD(G4String aSDname, const DDCompactView &cpv, const SensitiveDetectorCatalog &clg, edm::ParameterSet const &p, const SimTrackManager *, float timeSlice=1., bool ignoreTkID=false)
Definition: CaloSD.cc:24
double eminHit
Definition: HGCSD.h:56
const double MeV
double slopeMin_
Definition: HGCSD.h:58
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
bool rejectMB_
Definition: HGCSD.h:60
std::string nameX
Definition: HGCSD.h:50
ForwardSubdetector myFwdSubdet_
Definition: HGCSD.h:57
HGCMouseBite * mouseBite_
Definition: HGCSD.h:54
HGCSD::~HGCSD ( )
override

Definition at line 89 of file HGCSD.cc.

References mouseBite_, and numberingScheme.

89  {
90  if (numberingScheme) delete numberingScheme;
91  if (mouseBite_) delete mouseBite_;
92 }
HGCNumberingScheme * numberingScheme
Definition: HGCSD.h:53
HGCMouseBite * mouseBite_
Definition: HGCSD.h:54

Member Function Documentation

bool HGCSD::filterHit ( CaloG4Hit aHit,
double  time 
)
overrideprotectedvirtual

Reimplemented from CaloSD.

Definition at line 235 of file HGCSD.cc.

References eminHit, CaloG4Hit::getEnergyDeposit(), and CaloSD::tmaxHit.

235  {
236  return ((time <= tmaxHit) && (aHit->getEnergyDeposit() > eminHit));
237 }
double eminHit
Definition: HGCSD.h:56
double tmaxHit
Definition: CaloSD.h:123
double getEnergyDeposit() const
Definition: CaloG4Hit.h:81
double HGCSD::getEnergyDeposit ( G4Step *  aStep)
overridevirtual

Reimplemented from CaloSD.

Definition at line 126 of file HGCSD.cc.

References CaloSD::getResponseWt().

126  {
127  double wt1 = getResponseWt(aStep->GetTrack());
128  double wt2 = aStep->GetTrack()->GetWeight();
129  double destep = wt1*(aStep->GetTotalEnergyDeposit());
130  if (wt2 > 0) destep *= wt2;
131  return destep;
132 }
double getResponseWt(G4Track *)
Definition: CaloSD.cc:607
void HGCSD::initRun ( void  )
overrideprotectedvirtual

Reimplemented from CaloSD.

Definition at line 224 of file HGCSD.cc.

References mumPDG, mupPDG, and HiggsValidation_cfi::particleName.

224  {
225  G4ParticleTable * theParticleTable = G4ParticleTable::GetParticleTable();
226  G4String particleName;
227  mumPDG = theParticleTable->FindParticle(particleName="mu-")->GetPDGEncoding();
228  mupPDG = theParticleTable->FindParticle(particleName="mu+")->GetPDGEncoding();
229 #ifdef EDM_ML_DEBUG
230  edm::LogInfo("HGCSim") << "HGCSD: Particle code for mu- = " << mumPDG
231  << " for mu+ = " << mupPDG;
232 #endif
233 }
G4int mupPDG
Definition: HGCSD.h:55
G4int mumPDG
Definition: HGCSD.h:55
bool HGCSD::isItinFidVolume ( G4ThreeVector &  )
inlineprivate

Definition at line 47 of file HGCSD.h.

References setTrackID().

47 {return true;}
bool HGCSD::ProcessHits ( G4Step *  aStep,
G4TouchableHistory *   
)
overridevirtual

Reimplemented from CaloSD.

Definition at line 94 of file HGCSD.cc.

References funct::abs(), CaloSD::createNewHit(), CaloSD::currentHit, CaloSD::edepositEM, CaloSD::edepositHAD, CaloSD::getStepInfo(), CaloSD::hitExists(), mumPDG, mupPDG, SensitiveDetector::NaNTrap(), alignCSCRings::r, slopeMin_, storeAllG4Hits_, and z.

94  {
95 
96  NaNTrap( aStep ) ;
97 
98  if (aStep == nullptr) {
99  return true;
100  } else {
101  double r = aStep->GetPreStepPoint()->GetPosition().perp();
102  double z = std::abs(aStep->GetPreStepPoint()->GetPosition().z());
103 #ifdef EDM_ML_DEBUG
104  G4int parCode = aStep->GetTrack()->GetDefinition()->GetPDGEncoding();
105  bool notaMuon = (parCode == mupPDG || parCode == mumPDG ) ? false : true;
106  G4LogicalVolume* lv =
107  aStep->GetPreStepPoint()->GetPhysicalVolume()->GetLogicalVolume();
108  edm::LogInfo("HGCSim") << "HGCSD: Hit from standard path from "
109  << lv->GetName() << " for Track "
110  << aStep->GetTrack()->GetTrackID() << " ("
111  << aStep->GetTrack()->GetDefinition()->GetParticleName()
112  << ":" << notaMuon << ") R = " << r << " Z = " << z
113  << " slope = " << r/z << ":" << slopeMin_;
114 #endif
115  // Apply fiducial cuts
116  if (r/z >= slopeMin_) {
117  if (getStepInfo(aStep)) {
118  if ((storeAllG4Hits_ || (hitExists() == false)) &&
120  }
121  }
122  return true;
123  }
124 }
float edepositEM
Definition: CaloSD.h:121
bool storeAllG4Hits_
Definition: HGCSD.h:60
G4int mupPDG
Definition: HGCSD.h:55
double slopeMin_
Definition: HGCSD.h:58
float edepositHAD
Definition: CaloSD.h:121
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
CaloG4Hit * currentHit
Definition: CaloSD.h:128
void NaNTrap(G4Step *step)
virtual G4bool getStepInfo(G4Step *aStep)
Definition: CaloSD.cc:250
G4bool hitExists()
Definition: CaloSD.cc:310
CaloG4Hit * createNewHit()
Definition: CaloSD.cc:363
G4int mumPDG
Definition: HGCSD.h:55
uint32_t HGCSD::setDetUnitId ( G4Step *  step)
overridevirtual

Implements CaloSD.

Definition at line 134 of file HGCSD.cc.

References TauDecayModes::dec, HGCMouseBite::exclude(), triggerObjects_cff::id, levelT_, m_mode, python.rootplot.argparse::module, mouseBite_, myFwdSubdet_, CaloSD::preStepPoint, rejectMB_, HGCalGeometryMode::Square, HGCalTestNumbering::unpackHexagonIndex(), and z.

134  {
135 
136  G4StepPoint* preStepPoint = aStep->GetPreStepPoint();
137  const G4VTouchable* touch = preStepPoint->GetTouchable();
138 
139  //determine the exact position in global coordinates in the mass geometry
140  G4ThreeVector hitPoint = preStepPoint->GetPosition();
141  float globalZ=touch->GetTranslation(0).z();
142  int iz( globalZ>0 ? 1 : -1);
143 
144  //convert to local coordinates (=local to the current volume):
145  G4ThreeVector localpos = touch->GetHistory()->GetTopTransform().TransformPoint(hitPoint);
146 
147  //get the det unit id with
149 
150  int layer(0), module(0), cell(0);
152  layer = touch->GetReplicaNumber(0);
153  module = touch->GetReplicaNumber(1);
154  } else {
155  if (touch->GetHistoryDepth() == levelT_) {
156  layer = touch->GetReplicaNumber(0);
157  module = -1;
158  cell = -1;
159 #ifdef EDM_ML_DEBUG
160  edm::LogInfo("HGCSim") << "Depths: " << touch->GetHistoryDepth()
161  << " name " << touch->GetVolume(0)->GetName()
162  << " layer:module:cell " << layer << ":"
163  << module << ":" << cell << std::endl;
164 #endif
165  } else {
166  layer = touch->GetReplicaNumber(2);
167  module = touch->GetReplicaNumber(1);
168  cell = touch->GetReplicaNumber(0);
169  }
170 #ifdef EDM_ML_DEBUG
171  edm::LogInfo("HGCSim") << "Depths: " << touch->GetHistoryDepth() <<" name "
172  << touch->GetVolume(0)->GetName()
173  << ":" << touch->GetReplicaNumber(0) << " "
174  << touch->GetVolume(1)->GetName()
175  << ":" << touch->GetReplicaNumber(1) << " "
176  << touch->GetVolume(2)->GetName()
177  << ":" << touch->GetReplicaNumber(2) << " "
178  << " layer:module:cell " << layer << ":" << module
179  << ":" << cell <<" Material " << mat->GetName()<<":"
180  << aStep->GetPreStepPoint()->GetMaterial()->GetRadlen()
181  << std::endl;
182 #endif
183  if (aStep->GetPreStepPoint()->GetMaterial()->GetRadlen() > 100000.) return 0;
184  }
185 
186  uint32_t id = setDetUnitId (subdet, layer, module, cell, iz, localpos);
187  if (rejectMB_ && m_mode != HGCalGeometryMode::Square && id != 0) {
188  int det, z, lay, wafer, type, ic;
189  HGCalTestNumbering::unpackHexagonIndex(id, det, z, lay, wafer, type, ic);
190 #ifdef EDM_ML_DEBUG
191  edm::LogInfo("HGCSim") << "ID " << std::hex << id << std::dec << " Decode "
192  << det << ":" << z << ":" << lay << ":" << wafer
193  << ":" << type << ":" << ic << std::endl;
194 #endif
195  if (mouseBite_->exclude(hitPoint, z, wafer)) id = 0;
196  }
197  return id;
198 }
type
Definition: HCALResponse.h:21
HGCalGeometryMode::GeometryMode m_mode
Definition: HGCSD.h:52
int levelT_
Definition: HGCSD.h:59
ForwardSubdetector
bool exclude(G4ThreeVector &point, int zside, int wafer)
Definition: HGCMouseBite.cc:25
G4StepPoint * preStepPoint
Definition: CaloSD.h:120
bool rejectMB_
Definition: HGCSD.h:60
uint32_t setDetUnitId(G4Step *step) override
Definition: HGCSD.cc:134
ForwardSubdetector myFwdSubdet_
Definition: HGCSD.h:57
Definition: vlib.h:208
static void unpackHexagonIndex(const uint32_t &idx, int &subdet, int &z, int &lay, int &wafer, int &celltyp, int &cell)
HGCMouseBite * mouseBite_
Definition: HGCSD.h:54
uint32_t HGCSD::setDetUnitId ( ForwardSubdetector subdet,
int  layer,
int  module,
int  cell,
int  iz,
G4ThreeVector &  pos 
)
private

Definition at line 239 of file HGCSD.cc.

References HGCNumberingScheme::getUnitID(), triggerObjects_cff::id, and numberingScheme.

240  {
241  uint32_t id = numberingScheme ?
242  numberingScheme->getUnitID(subdet, layer, module, cell, iz, pos) : 0;
243  return id;
244 }
HGCNumberingScheme * numberingScheme
Definition: HGCSD.h:53
uint32_t getUnitID(ForwardSubdetector subdet, int layer, int module, int cell, int iz, const G4ThreeVector &pos)
assigns the det id to a hit
Definition: vlib.h:208
int HGCSD::setTrackID ( G4Step *  step)
private

Definition at line 246 of file HGCSD.cc.

References TrackInformation::getIDonCaloSurface(), CaloSD::preStepPoint, CaloSD::previousID, CaloSD::resetForNewPrimary(), CaloSD::theTrack, and CaloHitID::trackID().

Referenced by isItinFidVolume().

246  {
247  theTrack = aStep->GetTrack();
248 
249  double etrack = preStepPoint->GetKineticEnergy();
250  TrackInformation * trkInfo = (TrackInformation *)(theTrack->GetUserInformation());
251  int primaryID = trkInfo->getIDonCaloSurface();
252  if (primaryID == 0) {
253 #ifdef EDM_ML_DEBUG
254  edm::LogInfo("HGCSim") << "HGCSD: Problem with primaryID **** set by "
255  << "force to TkID **** " <<theTrack->GetTrackID();
256 #endif
257  primaryID = theTrack->GetTrackID();
258  }
259 
260  if (primaryID != previousID.trackID())
261  resetForNewPrimary(preStepPoint->GetPosition(), etrack);
262 
263  return primaryID;
264 }
int getIDonCaloSurface() const
void resetForNewPrimary(const G4ThreeVector &, double)
Definition: CaloSD.cc:454
int trackID() const
Definition: CaloHitID.h:25
CaloHitID previousID
Definition: CaloSD.h:117
G4Track * theTrack
Definition: CaloSD.h:118
G4StepPoint * preStepPoint
Definition: CaloSD.h:120
void HGCSD::update ( const BeginOfJob )
overrideprotectedvirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const BeginOfJob * >.

Definition at line 200 of file HGCSD.cc.

References angles_, Exception, HGCalDDDConstants::geomMode(), edm::EventSetup::get(), levelT_, HGCalDDDConstants::levelTop(), m_mode, HGCalDDDConstants::minSlope(), mouseBite_, mouseBiteCut_, nameX, numberingScheme, rejectMB_, slopeMin_, and waferRot_.

Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), progressbar.ProgressBar::finish(), Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), MatrixUtil.Steps::overwrite(), Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), Vispa.Gui.FindDialog.FindDialog::reset(), Vispa.Gui.PortConnection.PointToPointConnection::select(), Vispa.Gui.VispaWidget.VispaWidget::select(), Vispa.Views.LineDecayView.LineDecayContainer::select(), Vispa.Gui.VispaWidget.VispaWidget::setText(), Vispa.Gui.VispaWidget.VispaWidget::setTitle(), Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().

200  {
201 
202  const edm::EventSetup* es = (*job)();
204  es->get<IdealGeometryRecord>().get(nameX,hdc);
205  if (hdc.isValid()) {
206  const HGCalDDDConstants* hgcons = hdc.product();
207  m_mode = hgcons->geomMode();
208  slopeMin_ = hgcons->minSlope();
209  levelT_ = hgcons->levelTop();
212  } else {
213  edm::LogError("HGCSim") << "HCalSD : Cannot find HGCalDDDConstants for "
214  << nameX;
215  throw cms::Exception("Unknown", "HGCSD") << "Cannot find HGCalDDDConstants for " << nameX << "\n";
216  }
217 #ifdef EDM_ML_DEBUG
218  edm::LogInfo("HGCSim") << "HGCSD::Initialized with mode " << m_mode
219  << " Slope cut " << slopeMin_ << " top Level "
220  << levelT_ << std::endl;
221 #endif
222 }
HGCalGeometryMode::GeometryMode m_mode
Definition: HGCSD.h:52
int levelT_
Definition: HGCSD.h:59
HGCNumberingScheme * numberingScheme
Definition: HGCSD.h:53
double mouseBiteCut_
Definition: HGCSD.h:61
std::vector< double > angles_
Definition: HGCSD.h:62
bool waferRot_
Definition: HGCSD.h:60
double slopeMin_
Definition: HGCSD.h:58
double minSlope() const
HGCalGeometryMode::GeometryMode geomMode() const
bool rejectMB_
Definition: HGCSD.h:60
std::string nameX
Definition: HGCSD.h:50
const T & get() const
Definition: EventSetup.h:55
int levelTop() const
HGCMouseBite * mouseBite_
Definition: HGCSD.h:54

Member Data Documentation

std::vector<double> HGCSD::angles_
private

Definition at line 62 of file HGCSD.h.

Referenced by HGCSD(), and update().

double HGCSD::eminHit
private

Definition at line 56 of file HGCSD.h.

Referenced by filterHit(), and HGCSD().

int HGCSD::levelT_
private

Definition at line 59 of file HGCSD.h.

Referenced by setDetUnitId(), and update().

HGCalGeometryMode::GeometryMode HGCSD::m_mode
private

Definition at line 52 of file HGCSD.h.

Referenced by setDetUnitId(), and update().

HGCMouseBite* HGCSD::mouseBite_
private

Definition at line 54 of file HGCSD.h.

Referenced by setDetUnitId(), update(), and ~HGCSD().

double HGCSD::mouseBiteCut_
private

Definition at line 61 of file HGCSD.h.

Referenced by HGCSD(), and update().

G4int HGCSD::mumPDG
private

Definition at line 55 of file HGCSD.h.

Referenced by initRun(), and ProcessHits().

G4int HGCSD::mupPDG
private

Definition at line 55 of file HGCSD.h.

Referenced by initRun(), and ProcessHits().

ForwardSubdetector HGCSD::myFwdSubdet_
private

Definition at line 57 of file HGCSD.h.

Referenced by HGCSD(), and setDetUnitId().

std::string HGCSD::nameX
private

Definition at line 50 of file HGCSD.h.

Referenced by HGCSD(), and update().

HGCNumberingScheme* HGCSD::numberingScheme
private

Definition at line 53 of file HGCSD.h.

Referenced by setDetUnitId(), update(), and ~HGCSD().

bool HGCSD::rejectMB_
private

Definition at line 60 of file HGCSD.h.

Referenced by HGCSD(), setDetUnitId(), and update().

double HGCSD::slopeMin_
private

Definition at line 58 of file HGCSD.h.

Referenced by ProcessHits(), and update().

bool HGCSD::storeAllG4Hits_
private

Definition at line 60 of file HGCSD.h.

Referenced by HGCSD(), and ProcessHits().

bool HGCSD::waferRot_
private

Definition at line 60 of file HGCSD.h.

Referenced by HGCSD(), and update().