|
ATLAS Offline Software
|
#include <PRDHandle_TGC.h>
Definition at line 12 of file PRDHandle_TGC.h.
◆ PRDHandle_TGC()
◆ ~PRDHandle_TGC()
virtual PRDHandle_TGC::~PRDHandle_TGC |
( |
| ) |
|
|
inlinevirtual |
◆ buildShapes()
void PRDHandle_TGC::buildShapes |
( |
SoNode *& |
shape_simple, |
|
|
SoNode *& |
shape_detailed |
|
) |
| |
|
virtual |
Implements PRDHandleBase.
Definition at line 97 of file PRDHandle_TGC.cxx.
105 int plane = idhelper->
gasGap(
id );
109 double striplength =0.0, stripWidth = 0.0;
120 striplength += 300.0;
124 const bool settingsShowRDOs =
true;
125 SoSeparator * errDetailed =
new SoSeparator;
126 const std::vector<Identifier> rdolist =
m_tgc->
rdoList();
127 if (rdolist.size() == 1 || !settingsShowRDOs)
129 errDetailed->addChild(
common()->nodeManager()->getShapeNode_Strip(striplength,
134 VP1Msg::message(
"Warning: TGC has additional elements in rdoList: THIS HAS NEVER BEEN TESTED");
135 SoSeparator * rdos =
new SoSeparator;
144 localposHIT.emplace();
145 localposHIT->setZero();
149 rdos->addChild(
common()->nodeManager()->getShapeNode_Strip(striplength,
155 rdos->addChild( transparent );
169 SoTranslation * localtrans =
new SoTranslation;
171 rdos->addChild(localtrans);
173 rdos->addChild(
common()->nodeManager()->getShapeNode_Strip(striplength,
177 localposOLD = *localposRDO;
179 errDetailed->addChild(rdos);
181 shape_detailed = errDetailed;
◆ center()
◆ clicked()
QStringList PRDHandleBase::clicked |
( |
| ) |
const |
|
virtualinherited |
◆ collHandle()
◆ common()
◆ createTransform()
SoTransform * PRDHandle_TGC::createTransform |
( |
| ) |
const |
|
virtual |
Reimplemented from PRDHandleBase.
Definition at line 31 of file PRDHandle_TGC.cxx.
35 if (!prd || !idhelper) {
36 return new SoTransform;
40 SoTransform * theHitTransform =0;
52 shift * Amg::Vector3D::UnitY();
53 const double angle = (lposTGC - lposTgcShifted).
phi();
76 localRot*=theSurface.
transform().rotation ();
92 theHitTransform->translation.setValue((theHitGPos)[0], (theHitGPos)[1], (theHitGPos)[2]);
93 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()
bool PRDHandle_TGC::inMuonChamber |
( |
| ) |
const |
|
inlinevirtual |
◆ isSane()
virtual bool PRDHandleBase::isSane |
( |
| ) |
const |
|
inlinevirtualinherited |
◆ parentMuonChamberPV()
GeoPVConstLink PRDHandle_TGC::parentMuonChamberPV |
( |
| ) |
const |
|
inlinevirtual |
◆ positionPRD()
◆ positionSecondPRD()
◆ regionIndex()
int PRDHandle_TGC::regionIndex |
( |
| ) |
|
|
virtual |
◆ sepDetailed()
SoSeparator * PRDHandleBase::sepDetailed |
( |
| ) |
const |
|
inherited |
◆ sepSimple()
SoSeparator * PRDHandleBase::sepSimple |
( |
| ) |
const |
|
inherited |
◆ setVisible()
void PRDHandleBase::setVisible |
( |
bool |
vis | ) |
|
|
inherited |
◆ tgc()
◆ transformUsesSurfacePositionOnly()
virtual bool PRDHandleBase::transformUsesSurfacePositionOnly |
( |
| ) |
const |
|
inlinevirtualinherited |
◆ update3DObjects()
void PRDHandleBase::update3DObjects |
( |
| ) |
|
|
inherited |
◆ updateMaterial()
void PRDHandleBase::updateMaterial |
( |
| ) |
|
|
inherited |
◆ visible()
bool PRDHandleBase::visible |
( |
| ) |
const |
|
inlineinherited |
◆ m_common
◆ m_d
◆ m_tgc
◆ 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)
Scalar phi() const
phi method
int gasGap(const Identifier &id) const override
get the hashes
void incrementNumberOfObjectsForPV(const GeoPVConstLink &chamberPV)
TouchedMuonChamberHelper * touchedMuonChamberHelper() const
SoSeparator * sepDetailed
Eigen::Matrix< double, 2, 1 > Vector2D
PRDCollHandleBase * collHandle() const
Amg::Vector3D positionPRD() const
double stripCenterLocX(int gasGap, int strip, double radialPos) const
Returns the local X of the strip center at a given local radial position.
const std::vector< Identifier > & rdoList() const
return the List of rdo identifiers (pointers)
double stripLength() const
Returns the length of each strip which is equal to the height of the chamber.
virtual const MuonGM::TgcReadoutElement * detectorElement() const override final
Returns the detector element corresponding to this PRD The pointer will be zero if the det el is not ...
const Amg::Vector3D & center() const
Returns the center position of the Surface.
void attach3DObjects(PRDHandleBase *)
PRDSysCommonData * common() const
virtual const Trk::PlaneSurface & surface() const override
access to chamber surface (phi orientation), uses the first gas gap
Amg::RotationMatrix3D setPhi(Amg::RotationMatrix3D mat, double angle, int convention=0)
Amg::Vector3D channelPos(const Identifier &id) const
Returns the position of the active channel (wireGang or strip)
SoMaterial * currentmaterial
int channel(const Identifier &id) const override
void decrementNShownHandles()
HitsSoNodeManager * nodeManager() const
const Muon::TgcPrepData * tgc() const
static const TgcIdHelper * tgcIDHelper()
int getPhiIndex() const
a la AMDB
double stripWidth(int gasGap, int strip) const
Returns the width of a given strip in the gasGap i.
Amg::Vector3D getTranslationVectorFromTransform(const Amg::Transform3D &tr)
Get the Translation vector out of a Transformation.
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
double angle(const GeoTrf::Vector2D &a, const GeoTrf::Vector2D &b)
virtual GeoPVConstLink parentMuonChamberPV() const
double gangShortWidth(int gasGap, int gang) const
Returns the length of the most bottom wire in the gang.
const MuonStation * parentMuonStation() const
Eigen::Affine3d Transform3D
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
A TgcReadoutElement corresponds to a single TGC chamber; therefore typically a TGC station contains s...
SoNode * getShapeNode_Strip(double length, double width=0, double depth=0)
virtual const Surface & surface() const =0
Return surface associated with this detector element.
double gangRadialLength(int gasGap, int gang) const
Returns the length of the wire gang along the radial direction [pitch x N_{wire}^{gang}].
int isStrip(const Identifier &id) const
isStrip corresponds to measuresPhi
virtual bool transformUsesSurfacePositionOnly() const
Identifier identify() const
return the identifier
const Muon::TgcPrepData * m_tgc
virtual const Trk::PrepRawData * getPRD() const =0
const Amg::Vector2D & localPosition() const
return the local position reference
Eigen::Matrix< double, 3, 1 > Vector3D
T_ResultType project(ParameterMapping::type< N > parameter_map, const T_Matrix &matrix)
void decrementNumberOfObjectsForPV(const GeoPVConstLink &chamberPV)
static void message(const QString &, IVP1System *sys=0)
Eigen::Matrix< double, 3, 3 > RotationMatrix3D
int getEtaIndex() const
a la AMDB
Eigen::Translation< double, 3 > Translation3D
Class to represent TGC measurements.
SoMaterial * determineMaterial(PRDHandleBase *)
void incrementNShownHandles()
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
PVConstLink parentStationPV() const
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.
int getStationEta() const
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...