ATLAS Offline Software
VP1RawDataHandleBase.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
7 // //
8 // Header file for class VP1RawDataHandleBase //
9 // //
10 // Description: Base class for RDO handles //
11 // //
12 // Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
13 // Initial version: April 2008 (rewritten January 2009) //
14 // //
16 
17 #ifndef VP1RAWDATAHANDLEBASE_H
18 #define VP1RAWDATAHANDLEBASE_H
19 
20 class SoNode;
21 class SoTransform;
22 class SoMaterial;
24 
27 
28 #include <QStringList>
29 
31 
32 
33 
35 public:
36 
38  virtual ~VP1RawDataHandleBase();
39 
40  VP1RawDataCollBase* coll() const { return m_coll; }
41  VP1RawDataCommonData * common() const { return m_coll->common(); }
42 
43  void setVisible(bool);
44  bool visible() const { return m_visible; }
45 
46  void update3DObjects();
47  virtual QStringList clicked(bool verbose) const = 0;//Called when user selects the node (stringlist is displayed in messagebox).
48 
49  virtual Amg::Vector3D center();//Default impl. uses the transform
50 
51  virtual VP1RawDataFlags::InDetPartsFlags inInDetParts() const { return VP1RawDataFlags::None; }//Override if InDet
52 
53  static QString unsignedToHex(unsigned);
54 
55  void updateShownOutlines();
56 
57 protected:
58 
59  virtual SoNode * buildShape() = 0;
60  virtual SoTransform * buildTransform() = 0;
61 
62  // It is illegal to copy/assign a VP1RawDataHandleBase:
65 
66 private:
67  class Imp;
68  Imp * m_d;
69  //Here for inlining:
71  bool m_visible;
72 
73 };
74 
75 #endif
VP1RawDataHandleBase::visible
bool visible() const
Definition: VP1RawDataHandleBase.h:44
VP1RawDataHandleBase::unsignedToHex
static QString unsignedToHex(unsigned)
Definition: VP1RawDataHandleBase.cxx:158
VP1RawDataHandleBase::m_coll
VP1RawDataCollBase * m_coll
Definition: VP1RawDataHandleBase.h:70
VP1RawDataHandleBase
Definition: VP1RawDataHandleBase.h:34
VP1RawDataHandleBase::buildShape
virtual SoNode * buildShape()=0
VP1RawDataHandleBase::clicked
virtual QStringList clicked(bool verbose) const =0
VP1RawDataCollBase
Definition: VP1RawDataCollBase.h:29
VP1RawDataHandleBase::~VP1RawDataHandleBase
virtual ~VP1RawDataHandleBase()
Definition: VP1RawDataHandleBase.cxx:57
VP1RawDataHandleBase::VP1RawDataHandleBase
VP1RawDataHandleBase(VP1RawDataCollBase *)
Definition: VP1RawDataHandleBase.cxx:50
GeoPrimitives.h
VP1RawDataHandleBase::inInDetParts
virtual VP1RawDataFlags::InDetPartsFlags inInDetParts() const
Definition: VP1RawDataHandleBase.h:51
VP1RawDataHandleBase::buildTransform
virtual SoTransform * buildTransform()=0
VP1RawDataFlags::None
@ None
Definition: VP1RawDataFlags.h:24
VP1RawDataHandleBase::update3DObjects
void update3DObjects()
Definition: VP1RawDataHandleBase.cxx:83
VP1RawDataHandleBase::Imp
Definition: VP1RawDataHandleBase.cxx:26
VP1RawDataHandleBase::VP1RawDataHandleBase
VP1RawDataHandleBase(const VP1RawDataHandleBase &)
VP1RawDataFlags.h
VP1RawDataHandleBase::operator=
VP1RawDataHandleBase & operator=(const VP1RawDataHandleBase &)
VP1RawDataHandleBase::setVisible
void setVisible(bool)
Definition: VP1RawDataHandleBase.cxx:68
VP1RawDataCollBase.h
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
VP1RawDataHandleBase::updateShownOutlines
void updateShownOutlines()
Definition: VP1RawDataHandleBase.cxx:180
VP1RawDataHandleBase::m_d
Imp * m_d
Definition: VP1RawDataHandleBase.h:67
python.TriggerHandler.verbose
verbose
Definition: TriggerHandler.py:297
VP1RawDataHandleBase::center
virtual Amg::Vector3D center()
Definition: VP1RawDataHandleBase.cxx:166
VP1RawDataHandleBase::coll
VP1RawDataCollBase * coll() const
Definition: VP1RawDataHandleBase.h:40
VP1RawDataCommonData
Definition: VP1RawDataCommonData.h:31
VP1RawDataHandleBase::m_visible
bool m_visible
Definition: VP1RawDataHandleBase.h:71
VP1RawDataHandleBase::common
VP1RawDataCommonData * common() const
Definition: VP1RawDataHandleBase.h:41
VP1RawDataCollBase::common
VP1RawDataCommonData * common() const
Definition: VP1RawDataCollBase.h:39