|
ATLAS Offline Software
|
#include <PRDHandle_TRT.h>
Definition at line 12 of file PRDHandle_TRT.h.
◆ PRDHandle_TRT()
◆ ~PRDHandle_TRT()
virtual PRDHandle_TRT::~PRDHandle_TRT |
( |
| ) |
|
|
inlinevirtual |
◆ buildShapes()
void PRDHandle_TRT::buildShapes |
( |
SoNode *& |
shape_simple, |
|
|
SoNode *& |
shape_detailed |
|
) |
| |
|
virtual |
Implements PRDHandleBase.
Definition at line 30 of file PRDHandle_TRT.cxx.
35 const double halflength = ccbo->halflengthZ();
36 const double mintuberadius = 0.1;
39 VP1Msg::message(
"Warning: TRT has additional elements in rdoList: NOT IMPLEMENTED");
43 if (trtcollhandle->project()) {
49 const InDetProjFlags::InDetProjPartsFlags projparts(trtcollhandle->appropriateProjections());
66 std::vector<Amg::Vector3D >
points;
111 if (npoints<1||npoints>2) {
112 collHandle()->
message(
"PRDHandle_TRT::buildShapes ERROR: Unexpected number of points in special endcap projections!!");
114 SoSeparator * sepsimple =
new SoSeparator;
118 sepsimple->addChild(transf1);
119 sepsimple->addChild(point);
120 SoTranslation * transf2(0);
122 transf2 =
new SoTranslation;
124 sepsimple->addChild(transf2);
125 sepsimple->addChild(point);
127 shape_simple = sepsimple;
129 if (
radius<mintuberadius) {
130 shape_detailed = shape_simple;
133 SoSeparator * sepdetailed =
new SoSeparator;
135 sepdetailed->addChild(transf1);
136 sepdetailed->addChild(disc);
138 sepdetailed->addChild(transf2);
139 sepdetailed->addChild(disc);
141 shape_detailed = sepdetailed;
144 inner =
false;outer =
false;
151 if (!inner&&!outer) {
152 collHandle()->
message(
"PRDHandle_TRT::buildShapes ERROR: Inconsistent projection settings! Won't project!");
157 shape_detailed = shape_simple;
170 shape_detailed = shape_simple;
◆ center()
◆ clicked()
QStringList PRDHandle_TRT::clicked |
( |
| ) |
const |
|
virtual |
Reimplemented from PRDHandleBase.
Definition at line 188 of file PRDHandle_TRT.cxx.
196 for (
i = 26;
i >=0;
i--)
198 if (
i!=26&&(
i+1)%9==0)
200 s += (
data & (0x1<<
i) ?
"1" :
"0");
204 l <<
"Raw data bits: "+
s;
207 std::ostringstream
os;
209 l << QString(
os.str().c_str());
◆ collHandle()
◆ common()
◆ 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;
◆ driftCircle()
◆ 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();
◆ highLevel()
bool PRDHandle_TRT::highLevel |
( |
| ) |
const |
|
inline |
◆ highLight()
bool PRDHandle_TRT::highLight |
( |
| ) |
const |
|
inlinevirtual |
◆ inMuonChamber()
virtual bool PRDHandleBase::inMuonChamber |
( |
| ) |
const |
|
inlinevirtualinherited |
◆ isBarrel()
bool PRDHandle_TRT::isBarrel |
( |
| ) |
const |
|
inline |
◆ isPositiveZ()
bool PRDHandle_TRT::isPositiveZ |
( |
| ) |
const |
|
inline |
◆ isSane()
virtual bool PRDHandleBase::isSane |
( |
| ) |
const |
|
inlinevirtualinherited |
◆ parentMuonChamberPV()
virtual GeoPVConstLink PRDHandleBase::parentMuonChamberPV |
( |
| ) |
const |
|
inlinevirtualinherited |
◆ positionPRD()
◆ positionSecondPRD()
◆ regionIndex()
int PRDHandle_TRT::regionIndex |
( |
| ) |
|
|
virtual |
◆ sepDetailed()
SoSeparator * PRDHandleBase::sepDetailed |
( |
| ) |
const |
|
inherited |
◆ sepSimple()
SoSeparator * PRDHandleBase::sepSimple |
( |
| ) |
const |
|
inherited |
◆ setVisible()
void PRDHandleBase::setVisible |
( |
bool |
vis | ) |
|
|
inherited |
◆ transformUsesSurfacePositionOnly()
bool PRDHandle_TRT::transformUsesSurfacePositionOnly |
( |
| ) |
const |
|
inlinevirtual |
◆ update3DObjects()
void PRDHandleBase::update3DObjects |
( |
| ) |
|
|
inherited |
◆ updateMaterial()
void PRDHandleBase::updateMaterial |
( |
| ) |
|
|
inherited |
◆ visible()
bool PRDHandleBase::visible |
( |
| ) |
const |
|
inlineinherited |
◆ m_common
◆ m_d
◆ m_driftcircle
◆ m_visible
bool PRDHandleBase::m_visible |
|
privateinherited |
The documentation for this class was generated from the following files:
SoNode * getShapeNode_DriftDisc(double radius)
void rebuild3DObjects(PRDHandleBase *)
char data[hepevt_bytes_allocation_ATLAS]
static double trt_endcap_zasr_endcapz_begin()
Eigen::Quaternion< double > Rotation3D
Amg::Transform3D getTransform_CLHEP() const
static Amg::Vector3D positionPRD(const Trk::PrepRawData *prd)
void incrementNumberOfObjectsForPV(const GeoPVConstLink &chamberPV)
TouchedMuonChamberHelper * touchedMuonChamberHelper() const
SoSeparator * sepDetailed
PRDCollHandleBase * collHandle() const
virtual const InDetDD::TRT_BaseElement * detectorElement() const override final
return the detector element corresponding to this PRD
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
virtual QStringList clicked() const
static double trt_barrel_posneg_z()
SoMaterial * currentmaterial
void decrementNShownHandles()
static double trt_endcap_zasr_squeezefact()
HitsSoNodeManager * nodeManager() const
static double surfacethickness()
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
virtual GeoPVConstLink parentMuonChamberPV() const
static void transformECPointToZPlane_specialZtoR(Amg::Vector3D &p, const double &planeZ, const double &planeRBegin, const double &endcapZBegin, const double &squeezeFactor)
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 TRT_BaseElement::Type type() const =0
Type information: returns BARREL or ENDCAP.
int barrel_ec(const Identifier &id) const
Values of different levels (failure returns 0)
int layer_or_wheel(const Identifier &id) const
virtual bool transformUsesSurfacePositionOnly() const
Identifier identify() const
return the identifier
virtual const Trk::PrepRawData * getPRD() const =0
virtual const SurfaceBounds & bounds() const =0
Surface Bounds method.
const Amg::Vector2D & localPosition() const
return the local position reference
Eigen::Matrix< double, 3, 1 > Vector3D
int phi_module(const Identifier &id) const
static double trt_data_disttosurface_epsilon()
void decrementNumberOfObjectsForPV(const GeoPVConstLink &chamberPV)
const InDet::TRT_DriftCircle * m_driftcircle
static const TRT_ID * trtIDHelper()
bool highLevel() const
returns true if the high level threshold was passed
SoNode * getShapeNode_ProjectedDriftTube(double halfLength, double radius, bool inner, bool outer)
static void message(const QString &, IVP1System *sys=0)
SoNode * getShapeNode_Point()
Eigen::Translation< double, 3 > Translation3D
virtual const Amg::Vector3D & center() const override final
Element Surface: center of a straw layer.
static double trt_endcap_zasr_innerradius()
SoMaterial * determineMaterial(PRDHandleBase *)
void message(const QString &) const
void incrementNShownHandles()
SoNode * getShapeNode_DriftTube(double halfLength, double radius)
unsigned int getWord() const
returns the TRT dataword
virtual bool inMuonChamber() const
const Amg::Transform3D & transform() const
Returns HepGeom::Transform3D by reference.
static SoTransform * toSoTransform(const HepGeom::Transform3D &, SoTransform *t=0)
virtual const Trk::Surface & surface() const override final
Element Surface: access to the Surface (straw layer)
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 Amg::Vector3D center() 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...