FEDRA emulsion software from the OPERA Collaboration
Side Class Reference

#include <Side.h>

Public Member Functions

void addLayer (unsigned int grains, double z)
 
void addTrack (Track tr)
 
double getBottomZ () const
 
int getFlag () const
 
int getGrains () const
 
double getIXX () const
 
double getIXY () const
 
double getIYX () const
 
double getIYY () const
 
LayergetLayerAt (int id)
 
int getLayers () const
 
std::vector< LayergetLayersArr () const
 
double getMappedFovPosX () const
 
double getMappedFovPosY () const
 
double getMXX () const
 
double getMXY () const
 
double getMYX () const
 
double getMYY () const
 
double getStageFovPosX () const
 
double getStageFovPosY () const
 
double getTopZ () const
 
TrackgetTrackAt (int id)
 
int getTracks () const
 
double getZ () const
 
Vector iMapPoint (Vector p)
 
Vector2 iMapPoint (Vector2 p)
 
Vector mapPoint (Vector p)
 
Vector2 mapPoint (Vector2 p)
 
Side operator= (const Side &)
 
void setBottomZ (double bottomZ)
 
void setFlag (int flag)
 
void setGrains (int nGrains)
 
void setIXX (double mxx)
 
void setIXY (double mxy)
 
void setIYX (double myx)
 
void setIYY (double myy)
 
void setLayers (int nLayers)
 
void setM (double mxx, double mxy, double myx, double myy)
 
void setMappedFovPosX (double posx)
 
void setMappedFovPosY (double posy)
 
void setMXX (double mxx)
 
void setMXY (double mxy)
 
void setMYX (double myx)
 
void setMYY (double myy)
 
void setStageFovPosX (double posx)
 
void setStageFovPosY (double posy)
 
void setTopZ (double topZ)
 
void setTracks (int nTracks)
 
void setZ (double z)
 
 Side ()
 
 ~Side ()
 

Private Attributes

double _bottomZ
 
int _flag
 
double _iXX
 
double _iXY
 
double _iYX
 
double _iYY
 
std::vector< Layer_layer
 
double _mappedFovPosX
 
double _mappedFovPosY
 
double _mXX
 
double _mXY
 
double _mYX
 
double _mYY
 
int _nGrains
 
int _nLayers
 
int _nTracks
 
double _stageFovPosX
 
double _stageFovPosY
 
std::vector< Track_tArr
 
double _topZ
 
double _z
 

Constructor & Destructor Documentation

◆ Side()

Side::Side ( )
inline
31{};

◆ ~Side()

Side::~Side ( )
inline
32{};

Member Function Documentation

◆ addLayer()

void Side::addLayer ( unsigned int  grains,
double  z 
)
89{
90 Layer lay;
91 lay.grains = grains;
92 lay.zLayer = z;
93 _layer.push_back(lay);
94}
std::vector< Layer > _layer
Definition: Side.h:27
grains()
Definition: grains.C:3
Definition: Struct.h:27
unsigned int grains
Definition: Struct.h:28
double zLayer
Definition: Struct.h:29

◆ addTrack()

void Side::addTrack ( Track  tr)
inline
48{_tArr.push_back(tr);}
TTree * tr
Definition: Shower_E_FromShowerRoot.C:5
std::vector< Track > _tArr
Definition: Side.h:26

◆ getBottomZ()

double Side::getBottomZ ( ) const
inline
60{return _bottomZ;}
double _bottomZ
Definition: Side.h:14

◆ getFlag()

int Side::getFlag ( ) const
inline
81{return _flag;}
int _flag
Definition: Side.h:25

◆ getGrains()

int Side::getGrains ( ) const
inline
79{return _nGrains;}
int _nGrains
Definition: Side.h:15

◆ getIXX()

double Side::getIXX ( ) const
inline
71{return _iXX;}
double _iXX
Definition: Side.h:24

◆ getIXY()

double Side::getIXY ( ) const
inline
72{return _iXY;}
double _iXY
Definition: Side.h:24

◆ getIYX()

double Side::getIYX ( ) const
inline
73{return _iYX;}
double _iYX
Definition: Side.h:24

◆ getIYY()

double Side::getIYY ( ) const
inline
74{return _iYY;}
double _iYY
Definition: Side.h:24

◆ getLayerAt()

Layer * Side::getLayerAt ( int  id)
inline
75{return &(_layer.at(id));} //mettere check boundary

◆ getLayers()

int Side::getLayers ( ) const
inline
66{return _nLayers;}
int _nLayers
Definition: Side.h:17

◆ getLayersArr()

std::vector< Layer > Side::getLayersArr ( ) const
inline
77{return _layer;}

◆ getMappedFovPosX()

double Side::getMappedFovPosX ( ) const
inline
64{return _mappedFovPosX;}
double _mappedFovPosX
Definition: Side.h:21

◆ getMappedFovPosY()

double Side::getMappedFovPosY ( ) const
inline
65{return _mappedFovPosY;}
double _mappedFovPosY
Definition: Side.h:22

◆ getMXX()

double Side::getMXX ( ) const
inline
67{return _mXX;}
double _mXX
Definition: Side.h:23

◆ getMXY()

double Side::getMXY ( ) const
inline
68{return _mXY;}
double _mXY
Definition: Side.h:23

◆ getMYX()

double Side::getMYX ( ) const
inline
69{return _mYX;}
double _mYX
Definition: Side.h:23

◆ getMYY()

double Side::getMYY ( ) const
inline
70{return _mYY;}
double _mYY
Definition: Side.h:23

◆ getStageFovPosX()

double Side::getStageFovPosX ( ) const
inline
62{return _stageFovPosX;}
double _stageFovPosX
Definition: Side.h:19

◆ getStageFovPosY()

double Side::getStageFovPosY ( ) const
inline
63{return _stageFovPosY;}
double _stageFovPosY
Definition: Side.h:20

◆ getTopZ()

double Side::getTopZ ( ) const
inline
59{return _topZ;}
double _topZ
Definition: Side.h:13

◆ getTrackAt()

Track * Side::getTrackAt ( int  id)
inline
76{return &(_tArr.at(id));}//mettere check boundary

◆ getTracks()

int Side::getTracks ( ) const
inline
80{return _nTracks;}
int _nTracks
Definition: Side.h:16

◆ getZ()

double Side::getZ ( ) const
inline
61{return _z;}
double _z
Definition: Side.h:18

◆ iMapPoint() [1/2]

Vector Side::iMapPoint ( Vector  p)
24{
25 Vector v;
26 p.x -= _mappedFovPosX;
27 p.y -= _mappedFovPosY;
28 v.x = _mXX*p.x + _mXY * p.y;
29 v.y = _mYX*p.x + _mYY * p.y;
30 v.z = p.z;
31 return v;
32}
Definition: Struct.h:13
double y
Definition: Struct.h:15
double x
Definition: Struct.h:14
double z
Definition: Struct.h:16
p
Definition: testBGReduction_AllMethods.C:8

◆ iMapPoint() [2/2]

Vector2 Side::iMapPoint ( Vector2  p)
36{
37 Vector2 v;
38 p.x -= _mappedFovPosX;
39 p.y -= _mappedFovPosY;
40 v.x = _mXX*p.x + _mXY * p.y;
41 v.y = _mYX*p.x + _mYY * p.y;
42 return v;
43}
Definition: Struct.h:7
double y
Definition: Struct.h:9
double x
Definition: Struct.h:8

◆ mapPoint() [1/2]

Vector Side::mapPoint ( Vector  p)
5{
6 Vector v;
7 v.x = _mappedFovPosX + _mXX*p.x + _mXY * p.y;
8 v.y = _mappedFovPosY + _mYX*p.x + _mYY * p.y;
9 v.z = p.z;
10 return v;
11}

◆ mapPoint() [2/2]

Vector2 Side::mapPoint ( Vector2  p)
15{
16 Vector2 v;
17 v.x = _mappedFovPosX + _mXX*p.x + _mXY * p.y;
18 v.y = _mappedFovPosY + _mYX*p.x + _mYY * p.y;
19 return v;
20}

◆ operator=()

Side Side::operator= ( const Side rhs)
60{
61 if (this == &rhs)
62 return *this;
63 _topZ = rhs.getTopZ();
64 _bottomZ = rhs.getBottomZ();
65 _nGrains = rhs.getGrains();
66 _nTracks = rhs.getTracks();
67 _z = rhs.getZ();
72 _mXX = rhs.getMXX(); _mXY = rhs.getMXY(); _mYX = rhs.getMYX(); _mYY = rhs.getMYY();
73 _iXX = rhs.getIXX(); _iXY = rhs.getIXY(); _iYX = rhs.getIYX(); _iYY = rhs.getIYY();
74 _flag = rhs.getFlag();
75 _nLayers = rhs._nLayers;
76 for (int i = 0; i < static_cast<int> (rhs._tArr.size()); i++)
77 {
78 _tArr.push_back(rhs._tArr.at(i));
79 }
80 for (int i = 0; i < static_cast<int> (rhs._layer.size()); i++)
81 {
82 _layer.push_back(rhs.getLayersArr().at(i));
83 }
84
85 return *this;
86}
double getTopZ() const
Definition: Side.h:59
std::vector< Layer > getLayersArr() const
Definition: Side.h:77
double getIXX() const
Definition: Side.h:71
double getBottomZ() const
Definition: Side.h:60
double getMXX() const
Definition: Side.h:67
double getIYY() const
Definition: Side.h:74
double getIXY() const
Definition: Side.h:72
double getMappedFovPosX() const
Definition: Side.h:64
double getStageFovPosY() const
Definition: Side.h:63
int getFlag() const
Definition: Side.h:81
double getMYX() const
Definition: Side.h:69
int getTracks() const
Definition: Side.h:80
double getMXY() const
Definition: Side.h:68
double getZ() const
Definition: Side.h:61
int getGrains() const
Definition: Side.h:79
double getMappedFovPosY() const
Definition: Side.h:65
double getStageFovPosX() const
Definition: Side.h:62
double getMYY() const
Definition: Side.h:70
double getIYX() const
Definition: Side.h:73

◆ setBottomZ()

void Side::setBottomZ ( double  bottomZ)
inline
37{_bottomZ = bottomZ;}

◆ setFlag()

void Side::setFlag ( int  flag)
inline
45{_flag = flag;}

◆ setGrains()

void Side::setGrains ( int  nGrains)
inline
43{_nGrains = nGrains;}

◆ setIXX()

void Side::setIXX ( double  mxx)
inline
54{_iXX = mxx;}

◆ setIXY()

void Side::setIXY ( double  mxy)
inline
55{_iXY = mxy;}

◆ setIYX()

void Side::setIYX ( double  myx)
inline
56{_iYX = myx;}

◆ setIYY()

void Side::setIYY ( double  myy)
inline
57{_iYY = myy;}

◆ setLayers()

void Side::setLayers ( int  nLayers)
inline
46{_nLayers = nLayers;}

◆ setM()

void Side::setM ( double  mxx,
double  mxy,
double  myx,
double  myy 
)
46{
47 _mXX = mxx;
48 _mXY = mxy;
49 _mYX = myx;
50 _mYY = myy;
51 double det = 1 / (mxx * myy - mxy * myx);
52 _iXX = _mYY * det;
53 _iXY = -_mXY * det;
54 _iYX = -_mYX * det;
55 _iYY = _mXX * det;
56}

◆ setMappedFovPosX()

void Side::setMappedFovPosX ( double  posx)
inline
41{_mappedFovPosX = posx;}

◆ setMappedFovPosY()

void Side::setMappedFovPosY ( double  posy)
inline
42{_mappedFovPosY = posy;}

◆ setMXX()

void Side::setMXX ( double  mxx)
inline
50{_mXX = mxx;}

◆ setMXY()

void Side::setMXY ( double  mxy)
inline
51{_mXY = mxy;}

◆ setMYX()

void Side::setMYX ( double  myx)
inline
52{_mYX = myx;}

◆ setMYY()

void Side::setMYY ( double  myy)
inline
53{_mYY = myy;}

◆ setStageFovPosX()

void Side::setStageFovPosX ( double  posx)
inline
39{_stageFovPosX = posx;}

◆ setStageFovPosY()

void Side::setStageFovPosY ( double  posy)
inline
40{_stageFovPosY = posy;}

◆ setTopZ()

void Side::setTopZ ( double  topZ)
inline
36{_topZ = topZ;}

◆ setTracks()

void Side::setTracks ( int  nTracks)
inline
44{_nTracks = nTracks;}

◆ setZ()

void Side::setZ ( double  z)
inline
38{_z = z;}

Member Data Documentation

◆ _bottomZ

double Side::_bottomZ
private

◆ _flag

int Side::_flag
private

◆ _iXX

double Side::_iXX
private

◆ _iXY

double Side::_iXY
private

◆ _iYX

double Side::_iYX
private

◆ _iYY

double Side::_iYY
private

◆ _layer

std::vector<Layer> Side::_layer
private

◆ _mappedFovPosX

double Side::_mappedFovPosX
private

◆ _mappedFovPosY

double Side::_mappedFovPosY
private

◆ _mXX

double Side::_mXX
private

◆ _mXY

double Side::_mXY
private

◆ _mYX

double Side::_mYX
private

◆ _mYY

double Side::_mYY
private

◆ _nGrains

int Side::_nGrains
private

◆ _nLayers

int Side::_nLayers
private

◆ _nTracks

int Side::_nTracks
private

◆ _stageFovPosX

double Side::_stageFovPosX
private

◆ _stageFovPosY

double Side::_stageFovPosY
private

◆ _tArr

std::vector<Track> Side::_tArr
private

◆ _topZ

double Side::_topZ
private

◆ _z

double Side::_z
private

The documentation for this class was generated from the following files: