ATLAS Offline Software
Loading...
Searching...
No Matches
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
13class GeoMaterial;
14
16public:
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
49protected:
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
#define x
const std::string & GetName() const
std::vector< AGDDDetectorPositioner * > & GetDetectorPositioners()
AGDDDetector(const std::string &s, const std::string &t)
virtual void SetXYZ(const std::vector< double > &v)
virtual void SetDetectorAddress(AGDDDetectorPositioner *)=0
std::string m_sType
const std::string & DetectorType() const
void large_x(double x)
virtual ~AGDDDetector()
double m_large_x
double m_small_x
void z(double zval)
const std::string & DetectorID() const
std::vector< AGDDDetectorPositioner * > m_detectorPositions
std::string m_name
std::string m_detectorType
void small_x(double x)
std::string m_detectorID
void subType(const std::string &s)
void SetAddressAndPosition(AGDDDetectorPositioner *)
GeoMaterial * GetMMMaterial(std::string)
double z() const
AGDDDetector(const std::string &s)
void y(double yval)
std::string tech
void AddDetectorPosition(AGDDDetectorPositioner *p)
double small_x() const
double large_x() const
const std::string & subType() const
double y() const