ATLAS Offline Software
MuonSpectrometer
MuonDetDescr
MuonNSWAsBuilt
MuonNSWAsBuilt
PcbElement.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_PCBELEMENT_H
6
#define MUONNSWASBUILT_PCBELEMENT_H
7
8
#include <memory>
9
10
#include "
MuonNSWAsBuilt/Element.h
"
11
#include "
GeoPrimitives/GeoPrimitives.h
"
12
13
namespace
NswAsBuilt
{
14
26
class
PcbElement
{
27
public
:
28
29
using
ParameterClass
=
Element::ParameterClass
;
30
31
/* A reference point along a strip, and the pitchvector to be added to find the neighbouring strips */
32
struct
stripPoint_t
{
33
Amg::Vector3D
pos
{
Amg::Vector3D::Zero
()};
// a point along the central strip
34
Amg::Vector3D
pitchvector
{
Amg::Vector3D::Zero
()};
// the pitch vector to add to get the other strips
35
};
36
37
/* The strip configuration: three reference points along the central strip of this PCB. */
38
struct
stripConfiguration_t
{
39
int
centralStripNumber
{0};
// the athena strip number of the central strip
40
stripPoint_t
centerPoint
{};
// the center of the central strip
41
stripPoint_t
leftPoint
{};
// the left (X<0) point of the central strip
42
stripPoint_t
rightPoint
{};
// the right(X>0) point of the central strip
43
};
44
45
/* Constructor */
46
PcbElement
(stripConfiguration_t
config
,
const
Element
& element);
47
48
/* The return type of the getStrip method: three points along the strip, in quadruplet coordinate */
49
struct
strip_t
{
50
Amg::Vector3D
center
{
Amg::Vector3D::Zero
()};
51
Amg::Vector3D
left
{
Amg::Vector3D::Zero
()};
52
Amg::Vector3D
right
{
Amg::Vector3D::Zero
()};
53
};
54
55
/* Returns three points (center, left, right) of a given strip, in quadruplet coordinates. */
56
strip_t
getStrip
(
ParameterClass
iclass,
int
stripNumber)
const
;
57
58
/* Returns a point within sx, in [-0.5,+0.5] aroung the strip, parameterized by second coordinate sy, in [-1,+1] */
59
Amg::Vector3D
getPositionAlongStrip
(
ParameterClass
iclass,
int
stripNumber,
double
sx
,
double
sy
)
const
;
60
61
private
:
62
stripConfiguration_t
m_config
;
63
const
Element
&
m_element
;
// reference element of a PCB
64
};
65
}
66
67
#endif
68
NswAsBuilt::PcbElement::stripPoint_t
Definition:
PcbElement.h:32
fitman.sy
sy
Definition:
fitman.py:524
NswAsBuilt::PcbElement::m_element
const Element & m_element
Definition:
PcbElement.h:63
python.compressB64.sx
string sx
Definition:
compressB64.py:96
NswAsBuilt::PcbElement::stripPoint_t::pitchvector
Amg::Vector3D pitchvector
Definition:
PcbElement.h:34
NswAsBuilt::PcbElement::PcbElement
PcbElement(stripConfiguration_t config, const Element &element)
Definition:
PcbElement.cxx:12
NswAsBuilt::PcbElement::stripConfiguration_t::centralStripNumber
int centralStripNumber
Definition:
PcbElement.h:39
NswAsBuilt::PcbElement::stripConfiguration_t::leftPoint
stripPoint_t leftPoint
Definition:
PcbElement.h:41
config
Definition:
PhysicsAnalysis/AnalysisCommon/AssociationUtils/python/config.py:1
NswAsBuilt::PcbElement::stripConfiguration_t::rightPoint
stripPoint_t rightPoint
Definition:
PcbElement.h:42
Element.h
GeoPrimitives.h
NswAsBuilt::PcbElement::strip_t
Definition:
PcbElement.h:49
NswAsBuilt::PcbElement::getPositionAlongStrip
Amg::Vector3D getPositionAlongStrip(ParameterClass iclass, int stripNumber, double sx, double sy) const
Definition:
PcbElement.cxx:37
NswAsBuilt::PcbElement::ParameterClass
Element::ParameterClass ParameterClass
Definition:
PcbElement.h:29
NswAsBuilt::PcbElement::strip_t::right
Amg::Vector3D right
Definition:
PcbElement.h:52
NswAsBuilt::PcbElement::stripPoint_t::pos
Amg::Vector3D pos
Definition:
PcbElement.h:33
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition:
GeoPrimitives.h:47
NswAsBuilt::Element::ParameterClass
ParameterClass
Definition:
Element.h:63
NswAsBuilt::PcbElement::strip_t::center
Amg::Vector3D center
Definition:
PcbElement.h:50
NswAsBuilt::PcbElement::strip_t::left
Amg::Vector3D left
Definition:
PcbElement.h:51
NswAsBuilt::PcbElement::getStrip
strip_t getStrip(ParameterClass iclass, int stripNumber) const
Definition:
PcbElement.cxx:18
NswAsBuilt
Definition:
CathodeBoardElement.h:12
NswAsBuilt::Element
Element: a node in a hierarchy of alignment frames.
Definition:
Element.h:52
NswAsBuilt::PcbElement::m_config
stripConfiguration_t m_config
Definition:
PcbElement.h:62
NswAsBuilt::PcbElement::stripConfiguration_t
Definition:
PcbElement.h:38
NswAsBuilt::PcbElement::stripConfiguration_t::centerPoint
stripPoint_t centerPoint
Definition:
PcbElement.h:40
NswAsBuilt::PcbElement
Helper class saving all the needed information to compute strips for a particular PCB.
Definition:
PcbElement.h:26
generate::Zero
void Zero(TH1D *hin)
Definition:
generate.cxx:32
Generated on Thu Nov 7 2024 21:23:21 for ATLAS Offline Software by
1.8.18