|
ATLAS Offline Software
|
#include <PRDHandle_Pixel.h>
Definition at line 14 of file PRDHandle_Pixel.h.
◆ PRDHandle_Pixel()
◆ ~PRDHandle_Pixel()
virtual PRDHandle_Pixel::~PRDHandle_Pixel |
( |
| ) |
|
|
inlinevirtual |
◆ buildShapes()
void PRDHandle_Pixel::buildShapes |
( |
SoNode *& |
shape_simple, |
|
|
SoNode *& |
shape_detailed |
|
) |
| |
|
virtual |
Implements PRDHandleBase.
Definition at line 30 of file PRDHandle_Pixel.cxx.
32 SoSeparator * errSimple =
new SoSeparator;
33 SoSeparator * errDetailed =
new SoSeparator;
36 std::cerr<<
"isSane check failed for PRD: "<<*
m_cluster<<std::endl;
39 errSimple->addChild(
common()->nodeManager()->getShapeNode_Point());
43 SoTranslation * localtrans0 =
new SoTranslation;
48 if (xdiff!=xdiff || ydiff!=ydiff) {
49 std::cerr<<
"NaN is in local pos calc"<<std::endl;
50 if (xdiff!=xdiff) std::cerr<<
"X diff"<<std::endl;
51 if (ydiff!=ydiff) std::cerr<<
"Y diff"<<std::endl;
52 std::cerr<<
"localposHIT:"<<localposHIT<<std::endl;
53 std::cerr<<
"localpos:"<<localpos<<std::endl;
54 std::cerr<<
"localposHIT[Trk::locX]-localpos[Trk::locX]:"<<xdiff<<std::endl;
55 std::cerr<<
"localposHIT[Trk::locY]-localpos[Trk::locY]:"<<ydiff<<std::endl;
63 if (rdolist.size() == 1 || !
collHandle()->drawRDOs())
65 errDetailed->addChild(localtrans0);
70 SoTranslation * localtransBack =
new SoTranslation;
71 localtransBack->translation.setValue(-(localtrans0->translation.getValue()));
72 errDetailed->addChild(localtransBack);
74 SoSeparator * rdos =
new SoSeparator;
75 rdos->addChild(localtrans0);
81 rdos->addChild( transparent );
90 SoTranslation * localtrans =
new SoTranslation;
94 rdos->addChild(localtrans);
101 localposOLD = localposRDO;
103 errDetailed->addChild(rdos);
106 const double settingsSIGMASCALE=3.0;
110 if (
gr->getNumChildren()==0) {
112 std::cerr<<
"Something seems to have gone wrong: no error added. Dumping PRD: "<<*
m_cluster<<std::endl;
114 errSimple->addChild(
gr );
115 errDetailed->addChild(
gr );
120 SoMaterial *
mat =
new SoMaterial;
121 mat->diffuseColor.setValue(1.0,0,0);
122 errDetailed->addChild(
mat);
123 errDetailed->addChild(
common()->nodeManager()->getShapeNode_Cross(0.1));
125 shape_simple = errSimple;
126 shape_detailed = errDetailed;
◆ center()
◆ clicked()
QStringList PRDHandleBase::clicked |
( |
| ) |
const |
|
virtualinherited |
◆ cluster()
◆ collHandle()
◆ common()
◆ createErrorAtPixelCluster()
SoGroup * PRDHandle_Pixel::createErrorAtPixelCluster |
( |
const double & |
sigmaScale, |
|
|
const int & |
numPoints |
|
) |
| const |
|
private |
◆ createTransform()
SoTransform * PRDHandleBase::createTransform |
( |
| ) |
const |
|
virtualinherited |
Reimplemented in PRDHandle_sTGC, and PRDHandle_TGC.
Definition at line 371 of file PRDHandleBase.cxx.
376 std::cerr<<
"PRDHandleBase::createTransform() No prd!"<<std::endl;
377 return new SoTransform;
390 if ((theHitGPos)[0]!=(theHitGPos)[0] || (theHitGPos)[1]!=(theHitGPos)[1] || (theHitGPos)[2]!=(theHitGPos)[2]){
391 std::cerr<<
"PRDHandleBase::createTransform() NaN in globalposition"<<std::endl;
393 theHitTransform->translation.setValue((theHitGPos)[0], (theHitGPos)[1], (theHitGPos)[2]);
394 return theHitTransform;
◆ getPRD()
◆ getSecondPRD()
◆ getTransform_CLHEP()
Definition at line 322 of file PRDHandleBase.cxx.
330 transform->translation.getValue().getValue(
tx,ty,tz);
333 transform->rotation.getValue().getValue(so_rotaxis, so_rotangle);
335 so_rotaxis.getValue(rx,ry,rz);
343 std::cout<<
"VP1 PRDHandleBase Warning: getTransform_CLHEP called at inopportune moment!!"<<std::endl;
349 return Amg::Transform3D::Identity();
◆ highLight()
virtual bool PRDHandleBase::highLight |
( |
| ) |
const |
|
inlinevirtualinherited |
◆ inMuonChamber()
virtual bool PRDHandleBase::inMuonChamber |
( |
| ) |
const |
|
inlinevirtualinherited |
◆ isBarrel()
bool PRDHandle_Pixel::isBarrel |
( |
| ) |
const |
|
inline |
◆ isPositiveZ()
bool PRDHandle_Pixel::isPositiveZ |
( |
| ) |
const |
|
inline |
◆ isSane()
bool PRDHandle_Pixel::isSane |
( |
| ) |
const |
|
virtual |
returns false if anything seems weird about the Pixelcluster
Reimplemented from PRDHandleBase.
Definition at line 153 of file PRDHandle_Pixel.cxx.
157 if (!prd)
return false;
160 std::cerr<<
"For pixel cluster with Id="<<prd->
identify()<<
", localposition is not sane:"<<(prd->
localPosition())<<std::endl;
166 if ( etaNan || phiNan || thickNan){
167 std::cerr<<
"For pixel cluster with Id="<<prd->
identify()<<
", NaN is in detectorElement pitches "<<std::endl;
◆ parentMuonChamberPV()
virtual GeoPVConstLink PRDHandleBase::parentMuonChamberPV |
( |
| ) |
const |
|
inlinevirtualinherited |
◆ positionPRD()
◆ positionSecondPRD()
◆ regionIndex()
int PRDHandle_Pixel::regionIndex |
( |
| ) |
|
|
virtual |
◆ sepDetailed()
SoSeparator * PRDHandleBase::sepDetailed |
( |
| ) |
const |
|
inherited |
◆ sepSimple()
SoSeparator * PRDHandleBase::sepSimple |
( |
| ) |
const |
|
inherited |
◆ setVisible()
void PRDHandleBase::setVisible |
( |
bool |
vis | ) |
|
|
inherited |
◆ transformUsesSurfacePositionOnly()
virtual bool PRDHandleBase::transformUsesSurfacePositionOnly |
( |
| ) |
const |
|
inlinevirtualinherited |
◆ update3DObjects()
void PRDHandleBase::update3DObjects |
( |
| ) |
|
|
inherited |
◆ updateMaterial()
void PRDHandleBase::updateMaterial |
( |
| ) |
|
|
inherited |
◆ visible()
bool PRDHandleBase::visible |
( |
| ) |
const |
|
inlineinherited |
◆ m_cluster
◆ m_common
◆ m_d
◆ m_visible
bool PRDHandleBase::m_visible |
|
privateinherited |
The documentation for this class was generated from the following files:
void rebuild3DObjects(PRDHandleBase *)
Eigen::Quaternion< double > Rotation3D
static Amg::Vector3D positionPRD(const Trk::PrepRawData *prd)
void incrementNumberOfObjectsForPV(const GeoPVConstLink &chamberPV)
static void addRotatedErrorEllipse(SoGroup *gr, const AmgSymMatrix(5)&covmat, const double &sigmaScale, int numNodes=12, const double &translate=0.0, const bool &symmetric=false)
TouchedMuonChamberHelper * touchedMuonChamberHelper() const
SoSeparator * sepDetailed
Eigen::Matrix< double, 2, 1 > Vector2D
virtual const Amg::Vector3D & center() const override final
Center in global coordinates.
PRDCollHandleBase * collHandle() const
const Amg::MatrixX & localCovariance() const
return const ref to the error matrix
Amg::Vector3D positionPRD() const
const std::vector< Identifier > & rdoList() const
return the List of rdo identifiers (pointers)
const Amg::Vector3D & center() const
Returns the center position of the Surface.
void attach3DObjects(PRDHandleBase *)
PRDSysCommonData * common() const
double etaPitch() const
Pitch (inline methods)
SoMaterial * currentmaterial
void decrementNShownHandles()
double phiPitch() const
Pitch (inline methods)
Amg::Vector3D getTranslationVectorFromTransform(const Amg::Transform3D &tr)
Get the Translation vector out of a Transformation.
SoGroup * createErrorAtPixelCluster(const double &sigmaScale, const int &numPoints) const
Amg::Rotation3D getRotation3DfromAngleAxis(double angle, Amg::Vector3D &axis)
get a AngleAxis from an angle and an axis.
virtual const Trk::PrepRawData * getSecondPRD() const
PRDCollHandleBase * colhandle
virtual GeoPVConstLink parentMuonChamberPV() const
Eigen::Affine3d Transform3D
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
virtual const Surface & surface() const =0
Return surface associated with this detector element.
virtual const InDetDD::SiDetectorElement * detectorElement() const override final
return the detector element corresponding to this PRD The pointer will be zero if the det el is not d...
virtual bool transformUsesSurfacePositionOnly() const
Identifier identify() const
return the identifier
virtual const Trk::PrepRawData * getPRD() const =0
const Amg::Vector2D & localPosition() const
return the local position reference
Eigen::Matrix< double, 3, 1 > Vector3D
bool isSane() const
returns false if anything seems weird about the Pixelcluster
void decrementNumberOfObjectsForPV(const GeoPVConstLink &chamberPV)
Amg::Vector2D rawLocalPositionOfCell(const SiCellId &cellId) const
Returns position (center) of cell.
Eigen::Translation< double, 3 > Translation3D
const InDet::PixelCluster * cluster() const
SoMaterial * determineMaterial(PRDHandleBase *)
void incrementNShownHandles()
const InDet::PixelCluster * m_cluster
virtual bool inMuonChamber() const
const Amg::Transform3D & transform() const
Returns HepGeom::Transform3D by reference.
static SoTransform * toSoTransform(const HepGeom::Transform3D &, SoTransform *t=0)
PRDSysCommonData * m_common
PRDHandleBase(PRDCollHandleBase *)
virtual void localToGlobal(const Amg::Vector2D &locp, const Amg::Vector3D &mom, Amg::Vector3D &glob) const =0
Specified by each surface type: LocalToGlobal method without dynamic memory allocation.
virtual const TrkDetElementBase * detectorElement() const =0
return the detector element corresponding to this PRD The pointer will be zero if the det el is not d...