ATLAS Offline Software
ToyDetectorManager.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 #ifndef ToyDetectorManager_h
6 #define ToyDetectorManager_h 1
7 #include "GeoModelKernel/GeoVPhysVol.h"
8 #include "GeoModelKernel/GeoVDetectorManager.h"
9 
10 class CentralScrutinizer;
11 class ForwardScrutinizer;
12 
13 class ToyDetectorManager : public GeoVDetectorManager {
14 
15  public:
16  enum Type {CENTRAL, FORWARD};
17 
18  // Constructor
20 
21  // Destructor
23 
24  // Access to raw geometry:
25  virtual unsigned int getNumTreeTops() const;
26 
27  // Access to raw geometry:
28  virtual PVConstLink getTreeTop(unsigned int i) const;
29 
30  // Access to readout geometry:
31  const ForwardScrutinizer * getForwardScrutinizer(unsigned int i) const;
32 
33  // Access to readout geometry:
34  const CentralScrutinizer * getCentralScrutinizer(unsigned int i) const;
35 
36  // Access to readout geometry:
37  unsigned int getNumScrutinizers(Type type) const;
38 
39 
40  // Add a Tree top:
41  void addTreeTop(PVLink);
42 
43  // Add a Central Scrutinizer:
45 
46  // Add a Forward Scrutinizer:
48 
49 
50  private:
51 
52 
55 
56 
57  std::vector<const CentralScrutinizer *> m_centralScrutinizer;
58  std::vector<const ForwardScrutinizer *> m_forwardScrutinizer;
59  std::vector<PVLink> m_volume;
60 };
61 
62 // Class ToyDetectorManager
63 
64 #ifndef GAUDI_NEUTRAL
65 #ifndef BUILDVP1LIGHT
66  #include "AthenaKernel/CLASS_DEF.h"
68 #endif
69 #endif
70 
71 
72 
73 #endif
74 
75 
ToyDetectorManager::getNumTreeTops
virtual unsigned int getNumTreeTops() const
Definition: ToyDetectorManager.cxx:28
ToyDetectorManager::ToyDetectorManager
ToyDetectorManager()
Definition: ToyDetectorManager.cxx:9
ToyDetectorManager::m_volume
std::vector< PVLink > m_volume
Definition: ToyDetectorManager.h:59
ToyDetectorManager::~ToyDetectorManager
~ToyDetectorManager()
Definition: ToyDetectorManager.cxx:15
ForwardScrutinizer
Definition: ForwardScrutinizer.h:14
ToyDetectorManager::getTreeTop
virtual PVConstLink getTreeTop(unsigned int i) const
Definition: ToyDetectorManager.cxx:33
ToyDetectorManager::m_forwardScrutinizer
std::vector< const ForwardScrutinizer * > m_forwardScrutinizer
Definition: ToyDetectorManager.h:58
ToyDetectorManager::addForwardScrutinizer
void addForwardScrutinizer(const ForwardScrutinizer *)
Definition: ToyDetectorManager.cxx:63
ToyDetectorManager::m_centralScrutinizer
std::vector< const CentralScrutinizer * > m_centralScrutinizer
Definition: ToyDetectorManager.h:57
lumiFormat.i
int i
Definition: lumiFormat.py:85
ToyDetectorManager::getCentralScrutinizer
const CentralScrutinizer * getCentralScrutinizer(unsigned int i) const
Definition: ToyDetectorManager.cxx:43
xAODType
Definition: ObjectType.h:13
ToyDetectorManager::CENTRAL
@ CENTRAL
Definition: ToyDetectorManager.h:16
ToyDetectorManager::FORWARD
@ FORWARD
Definition: ToyDetectorManager.h:16
ToyDetectorManager::addCentralScrutinizer
void addCentralScrutinizer(const CentralScrutinizer *)
Definition: ToyDetectorManager.cxx:58
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
ToyDetectorManager
Definition: ToyDetectorManager.h:13
ToyDetectorManager::ToyDetectorManager
ToyDetectorManager(const ToyDetectorManager &right)
CentralScrutinizer
Definition: CentralScrutinizer.h:14
ToyDetectorManager::getNumScrutinizers
unsigned int getNumScrutinizers(Type type) const
Definition: ToyDetectorManager.cxx:48
ToyDetectorManager::getForwardScrutinizer
const ForwardScrutinizer * getForwardScrutinizer(unsigned int i) const
Definition: ToyDetectorManager.cxx:38
ToyDetectorManager::operator=
const ToyDetectorManager & operator=(const ToyDetectorManager &right)
CLASS_DEF.h
macros to associate a CLID to a type
ToyDetectorManager::addTreeTop
void addTreeTop(PVLink)
Definition: ToyDetectorManager.cxx:53