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

virtual double getEnergyDeposit (G4Step *)
 
 HGCSD (G4String, const DDCompactView &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
 
virtual bool ProcessHits (G4Step *, G4TouchableHistory *)
 
virtual uint32_t setDetUnitId (G4Step *step)
 
virtual ~HGCSD ()
 
- 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)
 
virtual void clear ()
 
virtual void DrawAll ()
 
virtual void EndOfEvent (G4HCofThisEvent *eventHC)
 
void fillHits (edm::PCaloHitContainer &, std::string n)
 
virtual void Initialize (G4HCofThisEvent *HCE)
 
virtual void PrintAll ()
 
virtual bool ProcessHits (G4GFlashSpot *aSpot, G4TouchableHistory *)
 
virtual ~CaloSD ()
 
- 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)
 
Local3DPoint FinalStepPosition (G4Step *s, coordinates)
 
virtual std::vector< std::string > getNames ()
 
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)
 
virtual ~SensitiveDetector ()
 
- 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

virtual bool filterHit (CaloG4Hit *, double)
 
virtual void initRun ()
 
virtual void update (const BeginOfJob *)
 This routine will be called when the appropriate signal arrives. More...
 
- Protected Member Functions inherited from CaloSD
G4bool checkHit ()
 
virtual void clearHits ()
 
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 *)
 
virtual void update (const BeginOfRun *)
 This routine will be called when the appropriate signal arrives. More...
 
virtual void update (const BeginOfEvent *)
 This routine will be called when the appropriate signal arrives. More...
 
virtual void update (const BeginOfTrack *trk)
 This routine will be called when the appropriate signal arrives. More...
 
virtual void update (const EndOfTrack *trk)
 This routine will be called when the appropriate signal arrives. More...
 
virtual void update (const ::EndOfEvent *)
 
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 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_, 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")),
43 
44  edm::ParameterSet m_HGC = p.getParameter<edm::ParameterSet>("HGCSD");
45  eminHit = m_HGC.getParameter<double>("EminHit")*CLHEP::MeV;
46  rejectMB_ = m_HGC.getParameter<bool>("RejectMouseBite");
47  waferRot_ = m_HGC.getParameter<bool>("RotatedWafer");
48  angles_ = m_HGC.getUntrackedParameter<std::vector<double>>("WaferAngles");
49  double waferSize = m_HGC.getUntrackedParameter<double>("WaferSize")*CLHEP::mm;
50  double mouseBite = m_HGC.getUntrackedParameter<double>("MouseBite")*CLHEP::mm;
51  mouseBiteCut_ = waferSize*tan(30.0*CLHEP::deg) - mouseBite;
52 
53  //this is defined in the hgcsens.xml
54  G4String myName(this->nameOfSD());
56  nameX = "HGCal";
57  if (myName.find("HitsEE")!=std::string::npos) {
59  nameX = "HGCalEESensitive";
60  } else if (myName.find("HitsHEfront")!=std::string::npos) {
62  nameX = "HGCalHESiliconSensitive";
63  } else if (myName.find("HitsHEback")!=std::string::npos) {
65  nameX = "HGCalHEScintillatorSensitive";
66  }
67 
68 #ifdef EDM_ML_DEBUG
69  edm::LogInfo("HGCSim")<< "**************************************************"
70  << "\n"
71  << "* *"
72  << "\n"
73  << "* Constructing a HGCSD with name " << name << "\n"
74  << "* *"
75  << "\n"
76  << "**************************************************";
77 #endif
78  edm::LogInfo("HGCSim") << "HGCSD:: Threshold for storing hits: " << eminHit
79  << " for " << nameX << " subdet " << myFwdSubdet_;
80  edm::LogInfo("HGCSim") << "Reject MosueBite Flag: " << rejectMB_
81  << " Size of wafer " << waferSize << " Mouse Bite "
82  << mouseBite << ":" << mouseBiteCut_ << " along "
83  << angles_.size() << " axes";
84 }
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 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 ( )
virtual

Definition at line 86 of file HGCSD.cc.

References mouseBite_, and numberingScheme.

86  {
87  if (numberingScheme) delete numberingScheme;
88  if (mouseBite_) delete mouseBite_;
89 }
HGCNumberingScheme * numberingScheme
Definition: HGCSD.h:53
HGCMouseBite * mouseBite_
Definition: HGCSD.h:54

Member Function Documentation

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

Reimplemented from CaloSD.

Definition at line 232 of file HGCSD.cc.

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

232  {
233  return ((time <= tmaxHit) && (aHit->getEnergyDeposit() > eminHit));
234 }
double eminHit
Definition: HGCSD.h:56
double tmaxHit
Definition: CaloSD.h:123
double getEnergyDeposit() const
Definition: CaloG4Hit.h:81
double HGCSD::getEnergyDeposit ( G4Step *  aStep)
virtual

Reimplemented from CaloSD.

Definition at line 123 of file HGCSD.cc.

References CaloSD::getResponseWt().

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

Reimplemented from CaloSD.

Definition at line 221 of file HGCSD.cc.

References mumPDG, mupPDG, and HiggsValidation_cfi::particleName.

221  {
222  G4ParticleTable * theParticleTable = G4ParticleTable::GetParticleTable();
223  G4String particleName;
224  mumPDG = theParticleTable->FindParticle(particleName="mu-")->GetPDGEncoding();
225  mupPDG = theParticleTable->FindParticle(particleName="mu+")->GetPDGEncoding();
226 #ifdef EDM_ML_DEBUG
227  edm::LogInfo("HGCSim") << "HGCSD: Particle code for mu- = " << mumPDG
228  << " for mu+ = " << mupPDG;
229 #endif
230 }
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 *   
)
virtual

Reimplemented from CaloSD.

Definition at line 91 of file HGCSD.cc.

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

91  {
92 
93  NaNTrap( aStep ) ;
94 
95  if (aStep == NULL) {
96  return true;
97  } else {
98  double r = aStep->GetPreStepPoint()->GetPosition().perp();
99  double z = std::abs(aStep->GetPreStepPoint()->GetPosition().z());
100 #ifdef EDM_ML_DEBUG
101  G4int parCode = aStep->GetTrack()->GetDefinition()->GetPDGEncoding();
102  bool notaMuon = (parCode == mupPDG || parCode == mumPDG ) ? false : true;
103  G4LogicalVolume* lv =
104  aStep->GetPreStepPoint()->GetPhysicalVolume()->GetLogicalVolume();
105  edm::LogInfo("HGCSim") << "HGCSD: Hit from standard path from "
106  << lv->GetName() << " for Track "
107  << aStep->GetTrack()->GetTrackID() << " ("
108  << aStep->GetTrack()->GetDefinition()->GetParticleName()
109  << ":" << notaMuon << ") R = " << r << " Z = " << z
110  << " slope = " << r/z << ":" << slopeMin_;
111 #endif
112  // Apply fiducial cuts
113  if (r/z >= slopeMin_) {
114  if (getStepInfo(aStep)) {
115  if (hitExists() == false && edepositEM+edepositHAD>0.)
117  }
118  }
119  return true;
120  }
121 }
float edepositEM
Definition: CaloSD.h:121
#define NULL
Definition: scimark2.h:8
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)
virtual

Implements CaloSD.

Definition at line 131 of file HGCSD.cc.

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

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

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

237  {
238  uint32_t id = numberingScheme ?
239  numberingScheme->getUnitID(subdet, layer, module, cell, iz, pos) : 0;
240  return id;
241 }
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 243 of file HGCSD.cc.

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

Referenced by isItinFidVolume().

243  {
244  theTrack = aStep->GetTrack();
245 
246  double etrack = preStepPoint->GetKineticEnergy();
247  TrackInformation * trkInfo = (TrackInformation *)(theTrack->GetUserInformation());
248  int primaryID = trkInfo->getIDonCaloSurface();
249  if (primaryID == 0) {
250 #ifdef EDM_ML_DEBUG
251  edm::LogInfo("HGCSim") << "HGCSD: Problem with primaryID **** set by "
252  << "force to TkID **** " <<theTrack->GetTrackID();
253 #endif
254  primaryID = theTrack->GetTrackID();
255  }
256 
257  if (primaryID != previousID.trackID())
258  resetForNewPrimary(preStepPoint->GetPosition(), etrack);
259 
260  return primaryID;
261 }
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 )
protectedvirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const BeginOfJob * >.

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

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

Definition at line 60 of file HGCSD.h.

Referenced by HGCSD(), and update().