![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
#include <InDetTestPixelLayerTool.h>
|
| InDetTestPixelLayerTool (const std::string &name, const std::string &n, const IInterface *p) |
|
virtual StatusCode | initialize () override final |
|
virtual bool | expectHitInPixelLayer (const EventContext &ctx, const Trk::TrackParticleBase *, int pixel_layer) const override final |
|
virtual bool | expectHitInPixelLayer (const EventContext &ctx, const Trk::Track *, int pixel_layer, bool checkBarrelOnly=false) const override final |
|
virtual bool | expectHitInPixelLayer (const EventContext &ctx, const Trk::TrackParameters *trackpar, int pixel_layer, bool checkBarrelOnly=false) const override final |
|
virtual bool | expectHit (const Trk::TrackParameters *trackpar) const override final |
|
virtual bool | getTrackStateOnPixelLayerInfo (const Trk::TrackParticleBase *, std::vector< TrackStateOnPixelLayerInfo > &infoList) const override final |
|
virtual bool | getTrackStateOnPixelLayerInfo (const Trk::Track *, std::vector< TrackStateOnPixelLayerInfo > &infoList) const override final |
|
virtual bool | getTrackStateOnPixelLayerInfo (const Trk::TrackParameters *trackpar, std::vector< TrackStateOnPixelLayerInfo > &infoList, int pixel_layer=-1, bool checkBarrelOnly=false) const override final |
|
virtual double | getFracGood (const Trk::TrackParticleBase *trackpar, int pixel_layer) const override final |
|
virtual double | getFracGood (const Trk::TrackParameters *trackpar, int pixel_layer) const override final |
|
bool | expectHitInInnermostPixelLayer (const EventContext &ctx, const Trk::Track *track) const |
|
bool | expectHitInInnermostPixelLayer (const Trk::Track *track) const |
|
bool | expectHitInInnermostPixelLayer (const Trk::TrackParameters *trackpar) const |
|
bool | expectHitInNextToInnermostPixelLayer (const EventContext &ctx, const Trk::Track *track) const |
|
bool | expectHitInNextToInnermostPixelLayer (const Trk::Track *track) const |
|
bool | expectHitInNextToInnermostPixelLayer (const Trk::TrackParameters *trackpar) const |
|
bool | getTrackStateOnInnermostPixelLayerInfo (const Trk::TrackParameters *trackpar, std::vector< TrackStateOnPixelLayerInfo > &infoList) const |
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
bool | isActive (const Trk::TrackParameters *trackpar) const |
|
bool | getPixelLayerParameters (const EventContext &ctx, const Trk::TrackParameters *trackpar, std::vector< std::unique_ptr< const Trk::TrackParameters >> &pixelLayerParam) const |
|
bool | getPixelLayerParameters (const Trk::TrackParameters *trackpar, std::vector< std::unique_ptr< const Trk::TrackParameters >> &pixelLayerParam) const |
|
double | getFracGood (const Trk::TrackParameters *trackpar, double phiRegionSize, double etaRegionSize, const InDet::SiDetectorElementStatus *pixelDetElStatus) const |
|
SG::ReadHandle< InDet::SiDetectorElementStatus > | getPixelDetElStatus (const EventContext &ctx) const |
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
Definition at line 46 of file InDetTestPixelLayerTool.h.
◆ StoreGateSvc_t
◆ InDetTestPixelLayerTool()
InDet::InDetTestPixelLayerTool::InDetTestPixelLayerTool |
( |
const std::string & |
name, |
|
|
const std::string & |
n, |
|
|
const IInterface * |
p |
|
) |
| |
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ expectHit()
will be set to true if at least one good module is passed
pass good module -> hit is expected on pixelLayer
check dead regions
pass good module -> hit is expected on pixelLayer
Implements InDet::IInDetTestPixelLayerTool.
Definition at line 210 of file InDetTestPixelLayerTool.cxx.
220 const EventContext& ctx = Gaudi::Hive::currentContext();
239 ATH_MSG_DEBUG(
"b-layer in dead region: fracGood = " << fracGood);
243 ATH_MSG_DEBUG(
"Condition Summary: not checking dead regions");
◆ expectHitInInnermostPixelLayer() [1/3]
bool InDet::IInDetTestPixelLayerTool::expectHitInInnermostPixelLayer |
( |
const EventContext & |
ctx, |
|
|
const Trk::Track * |
track |
|
) |
| const |
|
inlineinherited |
◆ expectHitInInnermostPixelLayer() [2/3]
bool InDet::IInDetTestPixelLayerTool::expectHitInInnermostPixelLayer |
( |
const Trk::Track * |
track | ) |
const |
|
inlineinherited |
◆ expectHitInInnermostPixelLayer() [3/3]
◆ expectHitInNextToInnermostPixelLayer() [1/3]
bool InDet::IInDetTestPixelLayerTool::expectHitInNextToInnermostPixelLayer |
( |
const EventContext & |
ctx, |
|
|
const Trk::Track * |
track |
|
) |
| const |
|
inlineinherited |
◆ expectHitInNextToInnermostPixelLayer() [2/3]
bool InDet::IInDetTestPixelLayerTool::expectHitInNextToInnermostPixelLayer |
( |
const Trk::Track * |
track | ) |
const |
|
inlineinherited |
◆ expectHitInNextToInnermostPixelLayer() [3/3]
◆ expectHitInPixelLayer() [1/3]
bool InDet::InDetTestPixelLayerTool::expectHitInPixelLayer |
( |
const EventContext & |
ctx, |
|
|
const Trk::Track * |
track, |
|
|
int |
pixel_layer, |
|
|
bool |
checkBarrelOnly = false |
|
) |
| const |
|
finaloverridevirtual |
◆ expectHitInPixelLayer() [2/3]
bool InDet::InDetTestPixelLayerTool::expectHitInPixelLayer |
( |
const EventContext & |
ctx, |
|
|
const Trk::TrackParameters * |
trackpar, |
|
|
int |
pixel_layer, |
|
|
bool |
checkBarrelOnly = false |
|
) |
| const |
|
finaloverridevirtual |
will be set to true if at least one good module is passed
pass good module -> hit is expected on pixelLayer
check dead regions
pass good module -> hit is expected on pixelLayer
check active area (check edges)
pass good module -> hit is expected on pixelLayer
pixelLayer param
Implements InDet::IInDetTestPixelLayerTool.
Definition at line 131 of file InDetTestPixelLayerTool.cxx.
137 bool expect_hit =
false;
139 std::vector<std::unique_ptr<const Trk::TrackParameters>> pixelLayerParam;
146 for (std::unique_ptr<const Trk::TrackParameters>&
p : pixelLayerParam) {
148 if (!(
p->associatedSurface().associatedDetectorElement()))
151 p->associatedSurface().associatedDetectorElement()->identify();
157 pixelDetElStatus->isGood(
p->associatedSurface().associatedDetectorElement()->identifyHash()),
161 pixelDetElStatus->isGood(
p->associatedSurface().associatedDetectorElement()->identifyHash())) ||
179 ATH_MSG_DEBUG(
"b-layer in dead region: fracGood = " << fracGood);
183 ATH_MSG_DEBUG(
"Condition Summary: not checking dead regions");
190 "Condition Summary: b-layer good but outside active area");
196 "Condition Summary: b-layer good, active areas not checked");
◆ expectHitInPixelLayer() [3/3]
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ getFracGood() [1/3]
not exactly on the edge
not exactly on the edge
Definition at line 611 of file InDetTestPixelLayerTool.cxx.
619 trkParam->associatedSurface().associatedDetectorElement()->identify();
622 const EventContext& ctx = Gaudi::Hive::currentContext();
624 bool is_good ( ( pixelDetElStatus && pixelDetElStatus->
isGood(id_hash))
632 double error_locx = -9999;
633 double error_locy = -9999;
635 if (trkParam->covariance()) {
644 if (trkParam->covariance()) {
645 phitol = phiRegionSize * error_locx;
646 etatol = etaRegionSize * error_locy;
653 trkParam->associatedSurface().associatedDetectorElement());
657 "Failed to cast TrackParameters associated surface to SiDetectorElement");
668 "could not get pixel module design, returning 0 for getFracGood");
674 double startLocX = locx - phitol;
675 double startLocY = locy - etatol;
677 double endLocX = locx + phitol;
678 double endLocY = locy + etatol;
683 double etaDist = -9999;
684 double phiDist = -9999;
689 locx += (std::abs(phiDist) + 1
e-6);
691 locy += (std::abs(etaDist) + 1
e-6);
694 startLocX += (std::abs(phiDist) + 1
e-6);
696 startLocY += (std::abs(etaDist) + 1
e-6);
699 endLocX -= (std::abs(phiDist) + 1
e-6);
701 endLocY -= (std::abs(etaDist) + 1
e-6);
739 if (pixelDetElStatus) {
◆ getFracGood() [2/3]
pixelLayer param
Implements InDet::IInDetTestPixelLayerTool.
Definition at line 271 of file InDetTestPixelLayerTool.cxx.
275 std::vector<std::unique_ptr<const Trk::TrackParameters>> pixelLayerParam;
280 bool found_layer =
false;
281 for (std::unique_ptr<const Trk::TrackParameters>&
p : pixelLayerParam) {
282 if (!(
p->associatedSurface().associatedDetectorElement()))
285 p->associatedSurface().associatedDetectorElement()->identify();
298 const EventContext& ctx = Gaudi::Hive::currentContext();
301 for (std::unique_ptr<const Trk::TrackParameters>&
p : pixelLayerParam) {
303 if (!(
p->associatedSurface().associatedDetectorElement()))
306 p->associatedSurface().associatedDetectorElement()->identify();
316 pixelDetElStatus->isGood(
p->associatedSurface().associatedDetectorElement()->identifyHash())) ||
326 "Condition Summary: b-layer good but outside active area");
◆ getFracGood() [3/3]
◆ getPixelDetElStatus()
◆ getPixelLayerParameters() [1/2]
all params
Definition at line 552 of file InDetTestPixelLayerTool.cxx.
561 if(std::abs(trackpar->
position().z())>10000.){
562 ATH_MSG_DEBUG(
"Pathological track parameter well outside of detector");
563 ATH_MSG_DEBUG(
"Propagator might have issue with this, discarding");
569 surfTrans.setIdentity();
573 std::vector<std::unique_ptr<Trk::TrackParameters>> paramList =
577 if (paramList.empty()) {
584 " Number of generated parameters by propagator: " << paramList.size());
587 for (std::unique_ptr<Trk::TrackParameters>&
p : paramList) {
591 if (!(
p->associatedSurface().associatedDetectorElement() !=
nullptr &&
592 p->associatedSurface().associatedDetectorElement()->identify() !=
597 id =
p->associatedSurface().associatedDetectorElement()->identify();
604 pixelLayerParam.push_back(std::move(
p));
◆ getPixelLayerParameters() [2/2]
◆ getTrackStateOnInnermostPixelLayerInfo()
◆ getTrackStateOnPixelLayerInfo() [1/3]
Implements InDet::IInDetTestPixelLayerTool.
Definition at line 379 of file InDetTestPixelLayerTool.cxx.
384 std::unique_ptr<const Trk::TrackParameters> startParameters =
nullptr;
386 if (
track->perigeeParameters()) {
387 startParameters =
track->perigeeParameters()->uniqueClone();
388 }
else if (
track->trackParameters()->front()) {
391 Gaudi::Hive::currentContext(),
392 *(
track->trackParameters()->front()),
398 if (!startParameters) {
399 ATH_MSG_WARNING(
"Found Track with no perigee parameters: no b-layer info "
◆ getTrackStateOnPixelLayerInfo() [2/3]
pixelLayer param
Implements InDet::IInDetTestPixelLayerTool.
Definition at line 426 of file InDetTestPixelLayerTool.cxx.
435 std::vector<std::unique_ptr<const Trk::TrackParameters>> pixelLayerParam;
439 const EventContext& ctx = Gaudi::Hive::currentContext();
442 for (std::unique_ptr<const Trk::TrackParameters>& trkParam :
444 TrackStateOnPixelLayerInfo pixelLayerInfo;
450 pixelLayerInfo.goodFraction(fracGood);
453 trkParam->associatedSurface().associatedDetectorElement()->identify();
454 pixelLayerInfo.moduleId(
id);
461 trkParam->associatedSurface().associatedDetectorElement());
464 ATH_MSG_WARNING(
"Failed to cast TrackParameters associated surface to "
465 "SiDetectorElement");
471 pixelLayerInfo.pixelId(holeId_c);
473 double etaDist = -9999;
474 double phiDist = -9999;
485 <<
", returning false for getTrackStateOnPixelLayerInfo");
488 pixelLayerInfo.distToModuleEdgePhi(phiDist);
489 pixelLayerInfo.distToModuleEdgeEta(etaDist);
491 pixelLayerInfo.globalPosition(trkParam->position());
493 pixelLayerInfo.localX(locPos[
Trk::locX]);
494 pixelLayerInfo.localY(locPos[
Trk::locY]);
496 pixelLayerInfo.theta(trkParam->parameters()[
Trk::theta]);
497 pixelLayerInfo.phi(trkParam->parameters()[
Trk::phi0]);
499 float error_locx = -9999;
500 float error_locy = -9999;
502 if (trkParam->covariance()) {
510 pixelLayerInfo.errLocalX(error_locx);
511 pixelLayerInfo.errLocalY(error_locy);
515 pixelDetElStatus->isGood(trkParam->associatedSurface().associatedDetectorElement()->identifyHash()),
519 pixelDetElStatus->isGood(trkParam->associatedSurface().associatedDetectorElement()->identifyHash())) ||
525 if (trkParam->covariance()) {
531 bool isIn = siIn.
in();
545 infoList.push_back(pixelLayerInfo);
◆ getTrackStateOnPixelLayerInfo() [3/3]
◆ initialize()
StatusCode InDet::InDetTestPixelLayerTool::initialize |
( |
| ) |
|
|
finaloverridevirtual |
Definition at line 48 of file InDetTestPixelLayerTool.cxx.
54 return StatusCode::FAILURE;
59 return StatusCode::FAILURE;
64 return StatusCode::FAILURE;
69 !m_pixelDetElStatus.empty() && !VALIDATE_STATUS_ARRAY_ACTIVATED }));
75 return StatusCode::SUCCESS;
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ interfaceID()
static const InterfaceID& InDet::IInDetTestPixelLayerTool::interfaceID |
( |
| ) |
|
|
inlinestaticinherited |
◆ isActive()
checking active material
Definition at line 339 of file InDetTestPixelLayerTool.cxx.
346 if (siElement ==
nullptr) {
348 ATH_MSG_DEBUG(
"TrackParameters do not belong to a Si Element");
353 if (trackpar->covariance()) {
361 msg(
MSG::DEBUG) <<
"---> extrapolation on bond gap within " << etatol
364 }
else if (!siIn.
in()) {
367 <<
"---> extrapolation not inside (active?) detector within "
368 << phitol <<
" " << etatol <<
", return" <<
endmsg;
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ renounce()
◆ renounceArray()
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_checkActiveAreas
bool InDet::InDetTestPixelLayerTool::m_checkActiveAreas |
|
private |
◆ m_checkDeadRegions
bool InDet::InDetTestPixelLayerTool::m_checkDeadRegions |
|
private |
◆ m_checkDisabledFEs
bool InDet::InDetTestPixelLayerTool::m_checkDisabledFEs |
|
private |
◆ m_detStore
◆ m_etaRegionSize
double InDet::InDetTestPixelLayerTool::m_etaRegionSize |
|
private |
◆ m_evtStore
◆ m_extrapolator
Initial value:{
this,
"Extrapolator",
"Trk::Extrapolator/InDetExtrapolator",
"Extrapolator used to extrapolate to layers"
}
Pointer to Extrapolator AlgTool.
Definition at line 119 of file InDetTestPixelLayerTool.h.
◆ m_goodFracCut
double InDet::InDetTestPixelLayerTool::m_goodFracCut |
|
private |
◆ m_idHelper
◆ m_outerRadius
double InDet::InDetTestPixelLayerTool::m_outerRadius |
|
private |
◆ m_phiRegionSize
double InDet::InDetTestPixelLayerTool::m_phiRegionSize |
|
private |
◆ m_pixelCondSummaryTool
Initial value:{
this,
"PixelSummaryTool",
"PixelConditionsSummaryTool/InDetPixelConditionsSummaryTool",
"Tool to retrieve Pixel Conditions summary"
}
Handles to IConditionsSummaryServices for Pixels.
Definition at line 127 of file InDetTestPixelLayerTool.h.
◆ m_pixelDetElStatus
◆ m_pixelId
◆ m_pixelReadout
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
bool is_pixel(Identifier id) const
Identifier identifierOfPosition(const Amg::Vector2D &localPos) const
Full identifier of the cell for a given position: assumes a raw local position (no Lorentz shift)
const TrkDetElementBase * associatedDetectorElement() const
return associated Detector Element
SiIntersect inDetector(const Amg::Vector2D &localPosition, double phiTol, double etaTol) const
Test that it is in the active region.
bool isChipGood(IdentifierHash hash, unsigned int chip) const
const Amg::Vector3D & position() const
Access method for the position.
Eigen::Matrix< double, 2, 1 > Vector2D
virtual const Surface & associatedSurface() const override=0
Access to the Surface associated to the Parameters.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool msgLvl(const MSG::Level lvl) const
virtual Identifier identify() const =0
Identifier.
#define ATH_MSG_VERBOSE(x)
const std::string & key() const
Return the StoreGate ID for the referenced object.
bool empty() const
Test if the key is blank.
bool is_valid() const
Check if id is in a valid state.
Identifier wafer_id(int barrel_ec, int layer_disk, int phi_module, int eta_module) const
For a single crystal.
virtual double etaPitch() const
Pitch in eta direction.
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
virtual double phiPitch() const
Pitch in phi direction.
bool is_barrel(const Identifier &id) const
Test for barrel - WARNING: id MUST be pixel id, otherwise answer is not accurate. Use SiliconID for g...
IdentifierHash wafer_hash(Identifier wafer_id) const
wafer hash from id
#define VALIDATE_STATUS_ARRAY(use_info, info_val, summary_val)
virtual void distanceToDetectorEdge(const SiLocalPosition &localPosition, double &etaDist, double &phiDist) const
Returns distance to nearest detector active edge +ve = inside -ve = outside.
Eigen::Affine3d Transform3D
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Amg::Vector2D localPosition() const
Access method for the local coordinates, local parameter definitions differ for each surface type.
int layer_disk(const Identifier &id) const
bool isGood(IdentifierHash hash) const
std::string show_to_string(Identifier id, const IdContext *context=0, char sep='.') const
or provide the printout in string form
#define ATH_MSG_WARNING(x)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
virtual IdentifierHash identifyHash() const =0
Identifier hash.
bool nearBondGap(const Amg::Vector2D &localPosition, double etaTol) const
Test if near bond gap within tolerances.
virtual const SiDetectorDesign & design() const override final
access to the local description (inline):
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
double getGoodFraction(const InDet::SiDetectorElementStatus &pixelDetElStatus, const InDetDD::IPixelReadoutManager &pixelReadout, const PixelID &pixelID, const Identifier &moduleId, const IdentifierHash &moudlIdHash, const Identifier &startId, const Identifier &endId)
Get The fraction of good chips the pixel of a pixel array is connected to.