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 (const std::string &, const DDCompactView &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
 
bool ProcessHits (G4Step *, G4TouchableHistory *) override
 
uint32_t setDetUnitId (const G4Step *step) override
 
 ~HGCSD () override
 
- Public Member Functions inherited from CaloSD
 CaloSD (const std::string &aSDname, const DDCompactView &cpv, const SensitiveDetectorCatalog &clg, edm::ParameterSet const &p, const SimTrackManager *, float timeSlice=1., bool ignoreTkID=false)
 
void clear () override
 
void clearHits () override
 
void DrawAll () override
 
void EndOfEvent (G4HCofThisEvent *eventHC) override
 
void fillHits (edm::PCaloHitContainer &, const std::string &) override
 
void Initialize (G4HCofThisEvent *HCE) override
 
void PrintAll () override
 
bool ProcessHits (G4GFlashSpot *aSpot, G4TouchableHistory *) override
 
 ~CaloSD () override
 
- Public Member Functions inherited from SensitiveCaloDetector
 SensitiveCaloDetector (const std::string &iname, const DDCompactView &cpv, 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
 
 SensitiveDetector (const 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 ()
 
CaloG4HitcreateNewHit ()
 
double getAttenuation (const G4Step *aStep, double birk1, double birk2, double birk3)
 
virtual uint16_t getDepth (const G4Step *)
 
int getNumberOfHits ()
 
double getResponseWt (const G4Track *)
 
virtual G4bool getStepInfo (G4Step *aStep)
 
virtual int getTrackID (const 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 SensitiveDetector
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...
 

Private Member Functions

bool isItinFidVolume (const G4ThreeVector &)
 
uint32_t setDetUnitId (ForwardSubdetector &, int, int, int, int, G4ThreeVector &)
 
int setTrackID (const 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

- Protected 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 ( const std::string &  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_, dataset::name, 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 = name;
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
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
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
CaloSD(const std::string &aSDname, const DDCompactView &cpv, const SensitiveDetectorCatalog &clg, edm::ParameterSet const &p, const SimTrackManager *, float timeSlice=1., bool ignoreTkID=false)
Definition: CaloSD.cc:24
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 230 of file HGCSD.cc.

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

230  {
231  return ((time <= tmaxHit) && (aHit->getEnergyDeposit() > eminHit));
232 }
double eminHit
Definition: HGCSD.h:56
double tmaxHit
Definition: CaloSD.h:124
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(const G4Track *)
Definition: CaloSD.cc:581
void HGCSD::initRun ( )
overrideprotectedvirtual

Reimplemented from CaloSD.

Definition at line 219 of file HGCSD.cc.

References mumPDG, mupPDG, and HiggsValidation_cfi::particleName.

219  {
220  G4ParticleTable * theParticleTable = G4ParticleTable::GetParticleTable();
221  G4String particleName;
222  mumPDG = theParticleTable->FindParticle(particleName="mu-")->GetPDGEncoding();
223  mupPDG = theParticleTable->FindParticle(particleName="mu+")->GetPDGEncoding();
224 #ifdef EDM_ML_DEBUG
225  edm::LogInfo("HGCSim") << "HGCSD: Particle code for mu- = " << mumPDG
226  << " for mu+ = " << mupPDG;
227 #endif
228 }
G4int mupPDG
Definition: HGCSD.h:55
G4int mumPDG
Definition: HGCSD.h:55
bool HGCSD::isItinFidVolume ( const 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:122
bool storeAllG4Hits_
Definition: HGCSD.h:60
G4int mupPDG
Definition: HGCSD.h:55
double slopeMin_
Definition: HGCSD.h:58
float edepositHAD
Definition: CaloSD.h:122
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
CaloG4Hit * currentHit
Definition: CaloSD.h:129
virtual G4bool getStepInfo(G4Step *aStep)
Definition: CaloSD.cc:224
G4bool hitExists()
Definition: CaloSD.cc:284
CaloG4Hit * createNewHit()
Definition: CaloSD.cc:337
G4int mumPDG
Definition: HGCSD.h:55
void NaNTrap(const G4Step *step) const
uint32_t HGCSD::setDetUnitId ( const G4Step *  step)
overridevirtual

Implements CaloSD.

Definition at line 134 of file HGCSD.cc.

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

134  {
135 
136  const 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, module, cell;
151  if (touch->GetHistoryDepth() == levelT_) {
152  layer = touch->GetReplicaNumber(0);
153  module = -1;
154  cell = -1;
155 #ifdef EDM_ML_DEBUG
156  edm::LogInfo("HGCSim") << "Depths: " << touch->GetHistoryDepth()
157  << " name " << touch->GetVolume(0)->GetName()
158  << " layer:module:cell " << layer << ":"
159  << module << ":" << cell << std::endl;
160 #endif
161  } else {
162  layer = touch->GetReplicaNumber(2);
163  module = touch->GetReplicaNumber(1);
164  cell = touch->GetReplicaNumber(0);
165  }
166 #ifdef EDM_ML_DEBUG
167  edm::LogInfo("HGCSim") << "Depths: " << touch->GetHistoryDepth() <<" name "
168  << touch->GetVolume(0)->GetName()
169  << ":" << touch->GetReplicaNumber(0) << " "
170  << touch->GetVolume(1)->GetName()
171  << ":" << touch->GetReplicaNumber(1) << " "
172  << touch->GetVolume(2)->GetName()
173  << ":" << touch->GetReplicaNumber(2) << " "
174  << " layer:module:cell " << layer << ":" << module
175  << ":" << cell <<" Material " << mat->GetName()<<":"
176  << aStep->GetPreStepPoint()->GetMaterial()->GetRadlen();
177 #endif
178  // The following statement should be examined later before elimination
179  if (aStep->GetPreStepPoint()->GetMaterial()->GetRadlen() > 100000.) return 0;
180 
181  uint32_t id = setDetUnitId (subdet, layer, module, cell, iz, localpos);
182  if (rejectMB_ && id != 0) {
183  int det, z, lay, wafer, type, ic;
184  HGCalTestNumbering::unpackHexagonIndex(id, det, z, lay, wafer, type, ic);
185 #ifdef EDM_ML_DEBUG
186  edm::LogInfo("HGCSim") << "ID " << std::hex << id << std::dec << " Decode "
187  << det << ":" << z << ":" << lay << ":" << wafer
188  << ":" << type << ":" << ic << std::endl;
189 #endif
190  if (mouseBite_->exclude(hitPoint, z, wafer)) id = 0;
191  }
192  return id;
193 }
type
Definition: HCALResponse.h:21
int levelT_
Definition: HGCSD.h:59
ForwardSubdetector
bool exclude(G4ThreeVector &point, int zside, int wafer)
Definition: HGCMouseBite.cc:25
G4StepPoint * preStepPoint
Definition: CaloSD.h:121
bool rejectMB_
Definition: HGCSD.h:60
uint32_t setDetUnitId(const G4Step *step) override
Definition: HGCSD.cc:134
ForwardSubdetector myFwdSubdet_
Definition: HGCSD.h:57
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 234 of file HGCSD.cc.

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

235  {
236  uint32_t id = numberingScheme ?
237  numberingScheme->getUnitID(subdet, layer, module, cell, iz, pos) : 0;
238  return id;
239 }
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 ( const G4Step *  step)
private

Definition at line 241 of file HGCSD.cc.

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

Referenced by isItinFidVolume().

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

This routine will be called when the appropriate signal arrives.

Implements Observer< const BeginOfJob * >.

Definition at line 195 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().

195  {
196 
197  const edm::EventSetup* es = (*job)();
199  es->get<IdealGeometryRecord>().get(nameX,hdc);
200  if (hdc.isValid()) {
201  const HGCalDDDConstants* hgcons = hdc.product();
202  m_mode = hgcons->geomMode();
203  slopeMin_ = hgcons->minSlope();
204  levelT_ = hgcons->levelTop();
207  } else {
208  edm::LogError("HGCSim") << "HCalSD : Cannot find HGCalDDDConstants for "
209  << nameX;
210  throw cms::Exception("Unknown", "HGCSD") << "Cannot find HGCalDDDConstants for " << nameX << "\n";
211  }
212 #ifdef EDM_ML_DEBUG
213  edm::LogInfo("HGCSim") << "HGCSD::Initialized with mode " << m_mode
214  << " Slope cut " << slopeMin_ << " top Level "
215  << levelT_ << std::endl;
216 #endif
217 }
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:58
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 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().