ATLAS Offline Software
Loading...
Searching...
No Matches
VP1RawDataHandle_TRT_RDO Class Reference

#include <VP1RawDataHandle_TRT_RDO.h>

Inheritance diagram for VP1RawDataHandle_TRT_RDO:
Collaboration diagram for VP1RawDataHandle_TRT_RDO:

Public Member Functions

 VP1RawDataHandle_TRT_RDO (VP1RawDataCollBase *, const TRT_LoLumRawData *)
virtual ~VP1RawDataHandle_TRT_RDO ()
QStringList clicked (bool verbose) const
VP1RawDataFlags::InDetPartsFlags inInDetParts () const
bool highThreshold () const
double timeOverThreshold () const
VP1RawDataCollBasecoll () const
VP1RawDataCommonDatacommon () const
void setVisible (bool)
bool visible () const
void update3DObjects ()
virtual Amg::Vector3D center ()
void updateShownOutlines ()

Static Public Member Functions

static QString unsignedToHex (unsigned)

Protected Member Functions

SoNode * buildShape ()
SoTransform * buildTransform ()
const InDetDD::TRT_BaseElementelement () const
int strawID () const

Protected Attributes

const TRT_LoLumRawDatam_data

Private Attributes

Impm_d
VP1RawDataCollBasem_coll
bool m_visible

Detailed Description

Definition at line 25 of file VP1RawDataHandle_TRT_RDO.h.

Constructor & Destructor Documentation

◆ VP1RawDataHandle_TRT_RDO()

VP1RawDataHandle_TRT_RDO::VP1RawDataHandle_TRT_RDO ( VP1RawDataCollBase * coll,
const TRT_LoLumRawData * data )

Definition at line 34 of file VP1RawDataHandle_TRT_RDO.cxx.

36{
37}
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
VP1RawDataHandleBase(VP1RawDataCollBase *)
VP1RawDataCollBase * coll() const
const TRT_LoLumRawData * m_data

◆ ~VP1RawDataHandle_TRT_RDO()

VP1RawDataHandle_TRT_RDO::~VP1RawDataHandle_TRT_RDO ( )
virtual

Definition at line 40 of file VP1RawDataHandle_TRT_RDO.cxx.

41{
42}

Member Function Documentation

◆ buildShape()

SoNode * VP1RawDataHandle_TRT_RDO::buildShape ( )
protectedvirtual

Implements VP1RawDataHandleBase.

Definition at line 76 of file VP1RawDataHandle_TRT_RDO.cxx.

77{
78 const InDetDD::TRT_BaseElement * elem = element();
79 double strawlength = elem ? elem->strawLength() : 200.0;
80
81 SoNode * node = common()->nodeManager()->getShapeNode_DriftTube(0.5*strawlength,0.0/*0 radius for line*/);
82 if (highThreshold() && static_cast<VP1RawDataColl_TRT_RDO*>(coll())->useSpecialHTMat()) {
83 SoGroup * gr = new SoGroup;
84 gr->addChild(coll()->common()->controller()->trtHTMaterial());
85 gr->addChild(node);
86 return gr;
87 } else {
88 return node;
89 }
90}
#define gr
SoNode * getShapeNode_DriftTube(double halfLength, double radius)
HitsSoNodeManager * nodeManager() const
VP1RawDataCommonData * common() const
const InDetDD::TRT_BaseElement * element() const

◆ buildTransform()

SoTransform * VP1RawDataHandle_TRT_RDO::buildTransform ( )
protectedvirtual

Implements VP1RawDataHandleBase.

Definition at line 93 of file VP1RawDataHandle_TRT_RDO.cxx.

94{
95 const InDetDD::TRT_BaseElement * elem = element();
96 const int istraw = strawID();
97 if (istraw<0||!elem)
98 return new SoTransform;//fixme
99 return VP1LinAlgUtils::toSoTransform(elem->getAbsoluteTransform(istraw));
100}
static SoTransform * toSoTransform(const HepGeom::Transform3D &, SoTransform *t=0)

◆ center()

Amg::Vector3D VP1RawDataHandleBase::center ( )
virtualinherited

Definition at line 166 of file VP1RawDataHandleBase.cxx.

167{
168 m_d->ensureInitSepAndTransform(this);
169 assert(m_d->sep
170 && m_d->sep->getNumChildren()>0
171 && m_d->sep->getChild(0)->getTypeId().isDerivedFrom(SoTransform::getClassTypeId()));
172
173 float x,y,z;
174 static_cast<SoTransform*>(m_d->sep->getChild(0))->translation.getValue().getValue(x,y,z);
175 //NB: We assume that the center part of the transform is zero
176 return Amg::Vector3D(x,y,z);
177}
#define y
#define x
#define z
Eigen::Matrix< double, 3, 1 > Vector3D

◆ clicked()

QStringList VP1RawDataHandle_TRT_RDO::clicked ( bool verbose) const
virtual

Implements VP1RawDataHandleBase.

Definition at line 45 of file VP1RawDataHandle_TRT_RDO.cxx.

46{
47 static const TRT_ID * idhelper = VP1DetInfo::trtIDHelper();
48 QStringList l;
49 l << " ===> TRT_LoLumRawData";
50 l << " Data word: "+unsignedToHex(m_data->getWord());
51 if (verbose) {
52 if (idhelper) {
53 //Fixme: We should have common identify -> QStringList method in VP1DetInfo!!
54 Identifier id(m_data->identify());
55 int barrel_ec = idhelper->barrel_ec(id);
56 bool barrel(barrel_ec==1||barrel_ec==-1);
57 l << QString(barrel?"Barrel":"End Cap")+" "+QString(barrel_ec>0?"A":"C");
58 l << " Phi module: "+QString::number(idhelper->phi_module(id));
59 l << " "+QString(barrel?"Layer":"Wheel")+": "+QString::number(idhelper->layer_or_wheel(id));
60 l << " Straw Layer: "+QString::number(idhelper->straw_layer(id));
61 l << " Straw: "+QString::number(idhelper->straw(id));
62 }
63 l << " High Level: "+QString(m_data->highLevel()?"Yes":"No");
64 l << " Time over Threshold (Gaudi::Units::ns): "+QString::number(m_data->timeOverThreshold());
65 // //Fixme:
66 // virtual bool highLevel(int /* BX */) const;
67 // virtual int driftTimeBin() const; // Position of first leading edge
68 // virtual int trailingEdge() const; // Position of last trailing edge
69 // virtual bool firstBinHigh() const; // True if first time bin is high
70 // virtual bool lastBinHigh() const; // True if last time bin is high
71 }
72 return l;
73}
int phi_module(const Identifier &id) const
Definition TRT_ID.h:806
int barrel_ec(const Identifier &id) const
Values of different levels (failure returns 0)
Definition TRT_ID.h:797
int layer_or_wheel(const Identifier &id) const
Definition TRT_ID.h:815
int straw(const Identifier &id) const
Definition TRT_ID.h:833
int straw_layer(const Identifier &id) const
Definition TRT_ID.h:824
static const TRT_ID * trtIDHelper()
static QString unsignedToHex(unsigned)
bool verbose
Definition hcg.cxx:73
l
Printing final latex table to .tex output file.

◆ coll()

VP1RawDataCollBase * VP1RawDataHandleBase::coll ( ) const
inlineinherited

Definition at line 40 of file VP1RawDataHandleBase.h.

40{ return m_coll; }
VP1RawDataCollBase * m_coll

◆ common()

VP1RawDataCommonData * VP1RawDataHandleBase::common ( ) const
inlineinherited

Definition at line 41 of file VP1RawDataHandleBase.h.

41{ return m_coll->common(); }

◆ element()

const InDetDD::TRT_BaseElement * VP1RawDataHandle_TRT_RDO::element ( ) const
protected

Definition at line 113 of file VP1RawDataHandle_TRT_RDO.cxx.

114{
115 const InDetDD::TRT_DetectorManager * detmgr = VP1DetInfo::trtDetMgr();
116 if (!detmgr)
117 return 0;
118 return detmgr->getElement(m_data->identify());
119}
const TRT_BaseElement * getElement(Identifier id) const
Access Elements Generically---------------------------------------------—.
static const InDetDD::TRT_DetectorManager * trtDetMgr()

◆ highThreshold()

bool VP1RawDataHandle_TRT_RDO::highThreshold ( ) const

Definition at line 142 of file VP1RawDataHandle_TRT_RDO.cxx.

143{
144 return m_data->highLevel();
145}

◆ inInDetParts()

VP1RawDataFlags::InDetPartsFlags VP1RawDataHandle_TRT_RDO::inInDetParts ( ) const
virtual

Reimplemented from VP1RawDataHandleBase.

Definition at line 122 of file VP1RawDataHandle_TRT_RDO.cxx.

123{
124 const TRT_ID * idhelper = VP1DetInfo::trtIDHelper();
125 if (!idhelper)
127 switch (idhelper->barrel_ec(m_data->identify())) {
128 case -2:
130 case 2:
132 case -1:
134 case 1:
136 default:
138 }
139}

◆ setVisible()

void VP1RawDataHandleBase::setVisible ( bool vis)
inherited

Definition at line 68 of file VP1RawDataHandleBase.cxx.

69{
70 if (vis==m_visible)
71 return;
72 m_visible=vis;
73 if (vis) {
74 if (!m_d->hasShape())
75 m_d->rebuild3DObjects(this);
76 m_d->ensureAttach3DObjects(this);
77 } else {
78 m_d->ensureDetach3DObjects(this);
79 }
80}

◆ strawID()

int VP1RawDataHandle_TRT_RDO::strawID ( ) const
protected

Definition at line 103 of file VP1RawDataHandle_TRT_RDO.cxx.

104{
105 const TRT_ID * idhelper = VP1DetInfo::trtIDHelper();
106 if (!idhelper)
107 return -1;
108 const int s = idhelper->straw(m_data->identify());
109 return (s <= 28 && s >= 0) ? s : -1;
110}

◆ timeOverThreshold()

double VP1RawDataHandle_TRT_RDO::timeOverThreshold ( ) const

Definition at line 148 of file VP1RawDataHandle_TRT_RDO.cxx.

149{
150 return m_data->timeOverThreshold()*Gaudi::Units::nanosecond;//According to the comments, returned value is in Gaudi::Units::ns.
151}

◆ unsignedToHex()

QString VP1RawDataHandleBase::unsignedToHex ( unsigned i)
staticinherited

Definition at line 158 of file VP1RawDataHandleBase.cxx.

159{
160 std::ostringstream s;
161 s << "0x" << std::hex << i;
162 return QString(s.str().c_str()).toUpper();
163}

◆ update3DObjects()

void VP1RawDataHandleBase::update3DObjects ( )
inherited

Definition at line 83 of file VP1RawDataHandleBase.cxx.

84{
85 if (m_visible) {
86 m_d->rebuild3DObjects(this);
87 } else {
88 //Simply clear the present 3D objects. They will only be recreated if/when the handle becomes visible again.
89 m_d->clearShape();
90 }
91}

◆ updateShownOutlines()

void VP1RawDataHandleBase::updateShownOutlines ( )
inherited

Definition at line 180 of file VP1RawDataHandleBase.cxx.

181{
182 if (!m_d->sep)
183 return;
185}
void updateVolumeOutlines(SoGroup *)

◆ visible()

bool VP1RawDataHandleBase::visible ( ) const
inlineinherited

Definition at line 44 of file VP1RawDataHandleBase.h.

44{ return m_visible; }

Member Data Documentation

◆ m_coll

VP1RawDataCollBase* VP1RawDataHandleBase::m_coll
privateinherited

Definition at line 70 of file VP1RawDataHandleBase.h.

◆ m_d

Imp* VP1RawDataHandleBase::m_d
privateinherited

Definition at line 68 of file VP1RawDataHandleBase.h.

◆ m_data

const TRT_LoLumRawData* VP1RawDataHandle_TRT_RDO::m_data
protected

Definition at line 40 of file VP1RawDataHandle_TRT_RDO.h.

◆ m_visible

bool VP1RawDataHandleBase::m_visible
privateinherited

Definition at line 71 of file VP1RawDataHandleBase.h.


The documentation for this class was generated from the following files: