ATLAS Offline Software
Loading...
Searching...
No Matches
CathodeBoardElement.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MUONNSWASBUILT_CATHODEBOARDELEMENT_H
6#define MUONNSWASBUILT_CATHODEBOARDELEMENT_H
7
10#include <memory>
11
12namespace NswAsBuilt {
13
27 public:
29 /* In the sTGC strip (cathode) boards due to the staggering, the first/last strip could be a half
30 * or a full strip depending on the strip_board_type. Therefore first and last strip are handled
31 * separately from second or any i-strip
32 */
34 Amg::Vector3D pos{Amg::Vector3D::Zero()}; // a point along the strip
35 Amg::Vector3D pitch{Amg::Vector3D::Zero()}; // the pitch vector to add in order to get the other strips
36 };
37
39 int lastStripNumber{0}; // the strip number of the last strip i.e the number of strips
40 stgcStripPoint_t fCenterPoint; // the center of the first strip
41 stgcStripPoint_t fLeftPoint; // the left (X<0) point of the first strip
42 stgcStripPoint_t fRightPoint; // the right(X>0) point of the first strip
43 stgcStripPoint_t sCenterPoint; // the center of the second strip
44 stgcStripPoint_t sLeftPoint; // the left (X<0) point of the second strip
45 stgcStripPoint_t sRightPoint; // the right(X>0) point of the second strip
46 stgcStripPoint_t lCenterPoint; // the center of the last strip
47 stgcStripPoint_t lLeftPoint; // the left (X<0) point of the last strip
48 stgcStripPoint_t lRightPoint; // the right(X>0) point of the last strip
49
50 };
51
56
61 struct stgcStrip_t {
62 Amg::Vector3D center{Amg::Vector3D::Zero()};
63 Amg::Vector3D left{Amg::Vector3D::Zero()};
64 Amg::Vector3D right{Amg::Vector3D::Zero()};
65 };
66
71 stgcStrip_t getStgcStrip(ParameterClass iclass, int stripNumber) const;
72
78 Amg::Vector3D getPositionAlongStgcStrip(ParameterClass iclass, int stripNumber, double sx, double sy) const;
79
80 private:
82 const Element& m_element_stgc; // reference element of a PCB
83 };
84}
85
86#endif
87
stgcStripConfiguration_t m_config_stgc
stgcStrip_t getStgcStrip(ParameterClass iclass, int stripNumber) const
Returns three points (center, left, right) of a given strip, in quadruplet coordinates.
CathodeBoardElement(stgcStripConfiguration_t config, const Element &element)
Constructor.
Element::ParameterClass ParameterClass
Amg::Vector3D getPositionAlongStgcStrip(ParameterClass iclass, int stripNumber, double sx, double sy) const
Returns a point on the strip, parameterized by second coordinate s, in [-1,+1].
Element: a node in a hierarchy of alignment frames.
Definition Element.h:52
Eigen::Matrix< double, 3, 1 > Vector3D
The return type of the getStrip method: three points along the strip, in quadruplet coordinate.