ATLAS Offline Software
TrackLODManager.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
7 // //
8 // Header file for class TrackLODManager //
9 // //
10 // Description: Manager class for taking care of the LOD //
11 // nodes needed for associated track objects. //
12 // //
13 // Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
14 // Initial version: March 2008 //
15 // //
17 
18 #ifndef TRACKLODMANAGER_H
19 #define TRACKLODMANAGER_H
20 
23 #include <QObject>
24 
25 //Fixme: Should this be a general utility class, to be used in the prd
26 // system as well?
27 
28 class TrackLODHandle;
29 class SoGroup;
31 
32 class TrackLODManager : public QObject, public VP1HelperClassBase {
33 
34  Q_OBJECT
35 
36 public:
37  TrackLODManager( QObject * parent = 0, IVP1System * sys = 0);// sys != for messages in gui.
38  virtual ~TrackLODManager();
39 
40  void setAttachNode(SoGroup* attachnode);
41  void eraseEventData();
42 
43  TrackLODHandle * getLODHandle(int regionindex, const double& crossover_value);
44 
45 public Q_SLOTS:
47 
48 private:
49 
50  class Imp;
51  Imp * m_d;
52  friend class TrackLODHandle;
53 };
54 
55 //Handle class declaration:
57 public:
58  void addNodes(SoGroup* simple,SoGroup*detailed );
59  void removeNodes(SoGroup* simple,SoGroup*detailed );
60 private:
61  TrackLODHandle(SoGroup*,VP1ExtraSepLayerHelper*,VP1ExtraSepLayerHelper*,int, const double& );
65  friend class TrackLODManager;
66  friend class TrackLODManager::Imp;
67  class Imp;
68  Imp * m_d;
69 };
70 
71 
72 
73 #endif
TrackLODHandle::removeNodes
void removeNodes(SoGroup *simple, SoGroup *detailed)
Definition: TrackLODManager.cxx:327
TrackLODManager::m_d
Imp * m_d
Definition: TrackLODManager.h:50
TrackCommonFlags.h
TrackLODManager::setDetailLevel
void setDetailLevel(TrackCommonFlags::DETAILLEVEL)
Definition: TrackLODManager.cxx:111
TrackLODHandle
Definition: TrackLODManager.h:56
TrackLODHandle::TrackLODHandle
TrackLODHandle(const TrackLODHandle &)
TrackLODHandle::Imp
Definition: TrackLODManager.cxx:215
mapkey::sys
@ sys
Definition: TElectronEfficiencyCorrectionTool.cxx:42
TrackLODHandle::addNodes
void addNodes(SoGroup *simple, SoGroup *detailed)
Definition: TrackLODManager.cxx:277
IVP1System
Definition: IVP1System.h:36
VP1ExtraSepLayerHelper
Definition: VP1ExtraSepLayerHelper.h:22
TrackLODManager::TrackLODManager
TrackLODManager(QObject *parent=0, IVP1System *sys=0)
Definition: TrackLODManager.cxx:49
TrackLODManager::Imp
Definition: TrackLODManager.cxx:23
TrackLODHandle::~TrackLODHandle
~TrackLODHandle()
Definition: TrackLODManager.cxx:261
test_pyathena.parent
parent
Definition: test_pyathena.py:15
VP1HelperClassBase
Definition: VP1HelperClassBase.h:28
TrackLODHandle::operator=
TrackLODHandle & operator=(const TrackLODHandle &)
TrackLODHandle::TrackLODHandle
TrackLODHandle(SoGroup *, VP1ExtraSepLayerHelper *, VP1ExtraSepLayerHelper *, int, const double &)
Definition: TrackLODManager.cxx:247
TrackLODManager::getLODHandle
TrackLODHandle * getLODHandle(int regionindex, const double &crossover_value)
Definition: TrackLODManager.cxx:194
VP1HelperClassBase.h
TrackCommonFlags::DETAILLEVEL
DETAILLEVEL
Definition: TrackCommonFlags.h:39
TrackLODManager::~TrackLODManager
virtual ~TrackLODManager()
Definition: TrackLODManager.cxx:55
TrackLODManager
Definition: TrackLODManager.h:32
TrackLODManager::setAttachNode
void setAttachNode(SoGroup *attachnode)
Definition: TrackLODManager.cxx:122
TrackLODManager::eraseEventData
void eraseEventData()
Definition: TrackLODManager.cxx:151
TrackLODHandle::m_d
Imp * m_d
Definition: TrackLODManager.h:67