ATLAS Offline Software
AGDDDetector.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef AGDDDetector_H
6 #define AGDDDetector_H
7 
9 #include <string>
10 #include <vector>
11 #include <iostream>
12 
13 class GeoMaterial;
14 
15 class AGDDDetector {
16 public:
17  AGDDDetector(const std::string& s):m_small_x(0),m_large_x(0),m_y(0),m_z(0),m_name(s) {}
18  AGDDDetector(const std::string& s,const std::string& t):m_small_x(0),m_large_x(0),m_y(0),m_z(0),m_detectorType(t),m_name(s) {}
19  virtual ~AGDDDetector() {}
20  virtual void SetXYZ(const std::vector<double>& v)
21  {
22  m_small_x=v[0];
23  m_large_x=v[1];
24  m_y=v[2];
25  m_z=v[3];
26  }
27 
28  void small_x(double x) {m_small_x=x;}
29  void large_x(double x) {m_large_x=x;}
30  void y(double yval) {m_y=yval;}
31  void z(double zval) {m_z=zval;}
32  void subType(const std::string& s) {m_sType=s;}
33  double small_x() const {return m_small_x;}
34  double large_x() const {return m_large_x;}
35  double y() const {return m_y;}
36  double z() const {return m_z;}
37  const std::string& subType() const {return m_sType;}
38  std::string tech;
39 
40  const std::string& GetName() const {return m_name;}
41 
42  const std::string& DetectorType() const {return m_detectorType;}
43  const std::string& DetectorID() const {return m_detectorID;}
44 
46 
47  std::vector<AGDDDetectorPositioner*>& GetDetectorPositioners();
48 
49 protected:
50  double m_small_x;
51  double m_large_x;
52  double m_y;
53  double m_z;
54 
55  // detector Type to avoid dynamic casting
56  std::string m_detectorType;
57  std::string m_detectorID;
58 
59  std::string m_sType;
60 
61  GeoMaterial* GetMMMaterial(std::string);
62 
64 
66  std::vector<AGDDDetectorPositioner*> m_detectorPositions;
67 
68  std::string m_name;
69 };
70 
71 #endif
AGDDDetector::y
void y(double yval)
Definition: AGDDDetector.h:30
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
AGDDDetector::m_sType
std::string m_sType
Definition: AGDDDetector.h:59
AGDDDetector::m_detectorID
std::string m_detectorID
Definition: AGDDDetector.h:57
AGDDDetectorPositioner
Definition: AGDDDetectorPositioner.h:39
AGDDDetector::m_large_x
double m_large_x
Definition: AGDDDetector.h:51
AGDDDetector::y
double y() const
Definition: AGDDDetector.h:35
AGDDDetector::~AGDDDetector
virtual ~AGDDDetector()
Definition: AGDDDetector.h:19
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
AGDDDetector::small_x
void small_x(double x)
Definition: AGDDDetector.h:28
AGDDDetector::m_z
double m_z
Definition: AGDDDetector.h:53
x
#define x
AGDDDetector::GetMMMaterial
GeoMaterial * GetMMMaterial(std::string)
AGDDDetector::AGDDDetector
AGDDDetector(const std::string &s, const std::string &t)
Definition: AGDDDetector.h:18
AGDDDetector::GetName
const std::string & GetName() const
Definition: AGDDDetector.h:40
AGDDDetector::m_y
double m_y
Definition: AGDDDetector.h:52
AGDDDetector::large_x
double large_x() const
Definition: AGDDDetector.h:34
AGDDDetector::m_name
std::string m_name
Definition: AGDDDetector.h:68
AGDDDetector::m_small_x
double m_small_x
Definition: AGDDDetector.h:50
AGDDDetector
Definition: AGDDDetector.h:15
AGDDDetector::z
double z() const
Definition: AGDDDetector.h:36
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
AGDDDetector::z
void z(double zval)
Definition: AGDDDetector.h:31
AGDDDetectorPositioner.h
AGDDDetector::DetectorType
const std::string & DetectorType() const
Definition: AGDDDetector.h:42
AGDDDetector::m_detectorPositions
std::vector< AGDDDetectorPositioner * > m_detectorPositions
Definition: AGDDDetector.h:66
AGDDDetector::subType
const std::string & subType() const
Definition: AGDDDetector.h:37
AGDDDetector::AGDDDetector
AGDDDetector(const std::string &s)
Definition: AGDDDetector.h:17
AGDDDetector::SetAddressAndPosition
void SetAddressAndPosition(AGDDDetectorPositioner *)
Definition: AGDDDetector.cxx:8
AGDDDetector::DetectorID
const std::string & DetectorID() const
Definition: AGDDDetector.h:43
AGDDDetector::GetDetectorPositioners
std::vector< AGDDDetectorPositioner * > & GetDetectorPositioners()
Definition: AGDDDetector.cxx:14
plotting.yearwise_efficiency_vs_mu.yval
float yval
Definition: yearwise_efficiency_vs_mu.py:36
AGDDDetector::small_x
double small_x() const
Definition: AGDDDetector.h:33
AGDDDetector::SetXYZ
virtual void SetXYZ(const std::vector< double > &v)
Definition: AGDDDetector.h:20
python.PyAthena.v
v
Definition: PyAthena.py:154
AGDDDetector::AddDetectorPosition
void AddDetectorPosition(AGDDDetectorPositioner *p)
Definition: AGDDDetector.cxx:19
AGDDDetector::subType
void subType(const std::string &s)
Definition: AGDDDetector.h:32
AGDDDetector::large_x
void large_x(double x)
Definition: AGDDDetector.h:29
AGDDDetector::m_detectorType
std::string m_detectorType
Definition: AGDDDetector.h:56
AGDDDetector::tech
std::string tech
Definition: AGDDDetector.h:38
AGDDDetector::SetDetectorAddress
virtual void SetDetectorAddress(AGDDDetectorPositioner *)=0