|
ATLAS Offline Software
|
Go to the documentation of this file.
17 #include <Inventor/nodes/SoSeparator.h>
18 #include <Inventor/nodes/SoTranslation.h>
19 #include <Inventor/nodes/SoMaterial.h>
39 SoSeparator * errDetailed =
new SoSeparator;
56 localposHIT.emplace();
57 localposHIT->setZero();
60 SoTranslation * localtrans0 =
new SoTranslation;
63 const double maxCharge = 1e7;
74 const double stripHeightRDOs = 1*
CLHEP::mm;
76 const std::vector<Identifier> rdolist =
m_csc->
rdoList();
79 errDetailed->addChild(localtrans0);
85 SoTranslation * localtransBack =
new SoTranslation;
86 localtransBack->translation.setValue(-(localtrans0->translation.getValue()));
87 errDetailed->addChild(localtransBack);
90 SoSeparator * rdos =
new SoSeparator;
91 rdos->addChild(localtrans0);
99 rdos->addChild( transparent );
116 SoTranslation * localtrans =
new SoTranslation;
118 rdos->addChild(localtrans);
121 rdos->addChild(
common()->nodeManager()->getShapeNode_Strip(striplengthRDO,
123 idhelper->
measuresPhi( rdo_id )), stripHeightRDOs));
125 localposOLD = *localposRDO;
127 errDetailed->addChild(rdos);
130 SoMaterial *
mat =
new SoMaterial;
131 mat->diffuseColor.setValue(1.0,0,0);
132 errDetailed->addChild(
mat);
133 errDetailed->addChild(
common()->nodeManager()->getShapeNode_Cross(10));
135 shape_detailed = errDetailed;
151 return QStringList(
"Null PRD");
154 return QStringList(
"Null PRD");
157 std::ostringstream
os;
158 os <<
"CscPrepData with Identifier ["<<
id.get_compact() ;
162 os <<
". RDO list= [";
166 return QString(
os.str().c_str()).split(
"\n");
int charge() const
Returns the charge.
Eigen::Matrix< double, 2, 1 > Vector2D
PRDCollHandleBase * collHandle() const
const std::vector< Identifier > & rdoList() const
return the List of rdo identifiers (pointers)
PRDHandle_CSC(PRDCollHandle_CSC *, const Muon::CscPrepData *)
PRDSysCommonData * common() const
virtual const Trk::PlaneSurface & surface() const override
access to chamber surface (phi orientation), uses the first gas gap
double stripLength(int chamberLayer, int measuresPhi, int stripNumber, double &epsilon) const
HitsSoNodeManager * nodeManager() const
int getPhiIndex() const
a la AMDB
std::string toString(CscStripStatus cstat)
Return a string description of a CSC cluster status flag.
Class representing clusters from the CSC.
const MuonStation * parentMuonStation() const
virtual const Amg::Vector3D & globalPosition() const override final
Returns the global position.
CscClusterStatus status() const
Returns the Csc status (position measurement) flag.
SoNode * getShapeNode_Strip(double length, double width=0, double depth=0)
double time() const
Returns the time.
virtual const MuonGM::CscReadoutElement * detectorElement() const override final
Return the detector element corresponding to this PRD.
Identifier identify() const
return the identifier
std::string print_to_string(Identifier id, const IdContext *context=0) const
or provide the printout in string form
const Muon::CscPrepData * m_csc
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)
virtual QStringList clicked() const
static void message(const QString &, IVP1System *sys=0)
int getEtaIndex() const
a la AMDB
static const CscIdHelper * cscIDHelper()
bool measuresPhi(const Identifier &id) const override
Amg::Vector3D stripPos(const Identifier &id) const
takes into account internal alignment parameters, hence gives accurate answer
void buildShapes(SoNode *&shape_simple, SoNode *&shape_detailed)
int chamberLayer(const Identifier &id) const
double cathodeReadoutPitch(int chLayer, int measuresPhi) const