ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | List of all members
VP1RawDataHandle_LUCID::Imp::TubeInfo Class Reference
Collaboration diagram for VP1RawDataHandle_LUCID::Imp::TubeInfo:

Public Member Functions

 TubeInfo (int tubeID, const Amg::Transform3D &heptransform, const GeoTube *geotube)
 
 ~TubeInfo ()
 
int tubeID () const
 
SoTransform * getTransform ()
 
SoGroup * get3DObjects ()
 

Private Member Functions

void init ()
 

Private Attributes

int m_tubeID
 
SoGroup * m_group
 
SoTransform * m_transform
 
const Amg::Transform3D m_heptransform
 
const GeoTube * m_geotube
 

Detailed Description

Definition at line 48 of file VP1RawDataHandle_LUCID.cxx.

Constructor & Destructor Documentation

◆ TubeInfo()

VP1RawDataHandle_LUCID::Imp::TubeInfo::TubeInfo ( int  tubeID,
const Amg::Transform3D heptransform,
const GeoTube *  geotube 
)
inline

Definition at line 50 of file VP1RawDataHandle_LUCID.cxx.

51  : m_tubeID(tubeID), m_group(0),m_transform(0), m_heptransform(heptransform), m_geotube(geotube) {}

◆ ~TubeInfo()

VP1RawDataHandle_LUCID::Imp::TubeInfo::~TubeInfo ( )
inline

Definition at line 52 of file VP1RawDataHandle_LUCID.cxx.

52 { if (m_group) m_group->unref();if (m_transform) m_transform->unref(); }

Member Function Documentation

◆ get3DObjects()

SoGroup* VP1RawDataHandle_LUCID::Imp::TubeInfo::get3DObjects ( )
inline

Definition at line 59 of file VP1RawDataHandle_LUCID.cxx.

59  {
60  if (!m_group)
61  init();
62  return m_group;
63  }

◆ getTransform()

SoTransform* VP1RawDataHandle_LUCID::Imp::TubeInfo::getTransform ( )
inline

Definition at line 54 of file VP1RawDataHandle_LUCID.cxx.

54  {
55  if (!m_transform)
56  init();
57  return m_transform;
58  }

◆ init()

void VP1RawDataHandle_LUCID::Imp::TubeInfo::init ( )
inlineprivate

Definition at line 65 of file VP1RawDataHandle_LUCID.cxx.

65  {
66  m_group = new SoGroup;
67  m_group->ref();
68 
70  a.handleTube(m_geotube);
71 
72  SoShape * shape(a.getShape() ? a.getShape() : new SoCylinder);
73  m_group->addChild(shape);
74 
76  if (shape->getTypeId().isDerivedFrom(SoTubs::getClassTypeId())) {
77  SoTubs * tubs = static_cast<SoTubs*>(shape);
78  const double halfz(tubs->pDz.getValue());
79  tubs->pDz.setValue(halfz + 0.2*CLHEP::mm);
80  //Fixme:: Add line (0.1mm shorter than the geotube) under m_group
81  SoLineSet * line = new SoLineSet;
82  SoVertexProperty * vertices = new SoVertexProperty;
83  line->vertexProperty = vertices;
84  vertices->vertex.set1Value(0,0,0,+(halfz-0.1*CLHEP::mm));
85  vertices->vertex.set1Value(1,0,0,-(halfz-0.1*CLHEP::mm));
86  line->numVertices.set1Value(0,2);
87  m_group->addChild(line);
88  }
90  m_transform->ref();
91  }

◆ tubeID()

int VP1RawDataHandle_LUCID::Imp::TubeInfo::tubeID ( ) const
inline

Definition at line 53 of file VP1RawDataHandle_LUCID.cxx.

53 { return m_tubeID; }

Member Data Documentation

◆ m_geotube

const GeoTube* VP1RawDataHandle_LUCID::Imp::TubeInfo::m_geotube
private

Definition at line 96 of file VP1RawDataHandle_LUCID.cxx.

◆ m_group

SoGroup* VP1RawDataHandle_LUCID::Imp::TubeInfo::m_group
private

Definition at line 93 of file VP1RawDataHandle_LUCID.cxx.

◆ m_heptransform

const Amg::Transform3D VP1RawDataHandle_LUCID::Imp::TubeInfo::m_heptransform
private

Definition at line 95 of file VP1RawDataHandle_LUCID.cxx.

◆ m_transform

SoTransform* VP1RawDataHandle_LUCID::Imp::TubeInfo::m_transform
private

Definition at line 94 of file VP1RawDataHandle_LUCID.cxx.

◆ m_tubeID

int VP1RawDataHandle_LUCID::Imp::TubeInfo::m_tubeID
private

Definition at line 92 of file VP1RawDataHandle_LUCID.cxx.


The documentation for this class was generated from the following file:
VP1RawDataHandle_LUCID::Imp::TubeInfo::tubeID
int tubeID() const
Definition: VP1RawDataHandle_LUCID.cxx:53
checkFileSG.line
line
Definition: checkFileSG.py:75
VP1RawDataHandle_LUCID::Imp::TubeInfo::m_tubeID
int m_tubeID
Definition: VP1RawDataHandle_LUCID.cxx:92
VP1RawDataHandle_LUCID::Imp::TubeInfo::m_transform
SoTransform * m_transform
Definition: VP1RawDataHandle_LUCID.cxx:94
SoTubs
SoTubs - Inventor version of the G4Tubs Geant Geometry entity.
Definition: SoTubs.h:50
SoVisualizeAction
Definition: SoVisualizeAction.h:19
VP1RawDataHandle_LUCID::Imp::TubeInfo::init
void init()
Definition: VP1RawDataHandle_LUCID.cxx:65
VP1RawDataHandle_LUCID::Imp::TubeInfo::m_geotube
const GeoTube * m_geotube
Definition: VP1RawDataHandle_LUCID.cxx:96
SoTubs::initClass
static void initClass()
Class Initializer, required.
Definition: SoTubs.cxx:68
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
a
TList * a
Definition: liststreamerinfos.cxx:10
VP1RawDataHandle_LUCID::Imp::TubeInfo::m_group
SoGroup * m_group
Definition: VP1RawDataHandle_LUCID.cxx:93
VP1RawDataHandle_LUCID::Imp::TubeInfo::m_heptransform
const Amg::Transform3D m_heptransform
Definition: VP1RawDataHandle_LUCID.cxx:95
SoTubs::pDz
SoSFFloat pDz
Half-length in Z.
Definition: SoTubs.h:68
VP1LinAlgUtils::toSoTransform
static SoTransform * toSoTransform(const HepGeom::Transform3D &, SoTransform *t=0)
Definition: VP1LinAlgUtils.cxx:40