ATLAS Offline Software
Loading...
Searching...
No Matches
Trk::Mode3dFromFsmw1dFinder::Mode3dFromFsmw1dInfo Class Referencefinal
Inheritance diagram for Trk::Mode3dFromFsmw1dFinder::Mode3dFromFsmw1dInfo:
Collaboration diagram for Trk::Mode3dFromFsmw1dFinder::Mode3dFromFsmw1dInfo:

Public Member Functions

virtual unsigned int Modes1d (std::vector< float > &, std::vector< float > &, std::vector< float > &, std::vector< float > &) const override final
virtual const std::vector< int > & AcceptedCrossingPointsIndices () const override
virtual void getCorrelationDistance (double &cXY, double &cZ) const override
virtual int perigeesAtSeed (std::vector< const Trk::TrackParameters * > &perigees, const std::vector< const Trk::TrackParameters * > &perigeeList) const override final
virtual void setTrkidx (std::vector< std::pair< int, int > > &&trkidx) override final
void pushIndex (int idx)
void pushIndices (const std::vector< std::pair< int, int > > &modes)
void pushPoint (float phi, float r, float z, float w)
void setCorre (int zin, double corre)

Public Attributes

VeVecIndices m_idxphi
VeVecIndices m_idxradi
VeVecIndices m_idxZ

Private Attributes

std::vector< int > m_UsedCrossingPointsIndices
double m_correXY = -9.9
double m_correZ = -9.9
std::vector< float > m_phi_stk
std::vector< float > m_radi_stk
std::vector< float > m_z_stk
std::vector< float > m_wght_stk
std::vector< std::pair< int, int > > m_trkidx

Detailed Description

Definition at line 188 of file Mode3dFromFsmw1dFinder.h.

Member Function Documentation

◆ AcceptedCrossingPointsIndices()

const std::vector< int > & Trk::Mode3dFromFsmw1dFinder::Mode3dFromFsmw1dInfo::AcceptedCrossingPointsIndices ( ) const
overridevirtual

Implements Trk::IMode3dInfo.

Definition at line 1187 of file Mode3dFromFsmw1dFinder.cxx.

◆ getCorrelationDistance()

void Trk::Mode3dFromFsmw1dFinder::Mode3dFromFsmw1dInfo::getCorrelationDistance ( double & cXY,
double & cZ ) const
overridevirtual

◆ Modes1d()

unsigned int Trk::Mode3dFromFsmw1dFinder::Mode3dFromFsmw1dInfo::Modes1d ( std::vector< float > & phi,
std::vector< float > & radi,
std::vector< float > & z,
std::vector< float > & wght ) const
finaloverridevirtual

Implements Trk::IMode3dInfo.

Definition at line 1139 of file Mode3dFromFsmw1dFinder.cxx.

1144{
1145 std::vector<int> allidx ;
1146
1147 for (const VecIndices& tmp : m_idxphi) {
1148 for (const std::pair<int, int >& p : tmp) {
1149 allidx.push_back( p.first ) ;
1150 }
1151 }
1152
1153 for (const VecIndices& tmp : m_idxradi) {
1154 for (const std::pair<int, int >& p : tmp) {
1155 if (std::find( allidx.begin(), allidx.end(), p.first ) == allidx.end()) {
1156 allidx.push_back( p.first ) ;
1157 }
1158 }
1159 }
1160
1161 for (const VecIndices& tmp : m_idxZ) {
1162 for (const std::pair<int, int >& p : tmp) {
1163 if (std::find( allidx.begin(), allidx.end(), p.first ) == allidx.end()) {
1164 allidx.push_back( p.first ) ;
1165 }
1166 }
1167 }
1168
1169 unsigned int min = allidx.size() ;
1170 phi.reserve (min);
1171 radi.reserve (min);
1172 z.reserve (min);
1173 wght.reserve (min);
1174
1175 for (int idx : allidx) {
1176 phi.push_back( m_phi_stk[idx] ) ;
1177 radi.push_back( m_radi_stk[idx] ) ;
1178 z.push_back( m_z_stk[idx] ) ;
1179 wght.push_back( m_wght_stk[idx] ) ;
1180 }
1181
1182 return min ;
1183}
std::vector< std::pair< int, int > > VecIndices
#define min(a, b)
Definition cfImp.cxx:40
@ z
global position (cartesian)
Definition ParamDefs.h:57
@ phi
Definition ParamDefs.h:75

◆ perigeesAtSeed()

int Trk::Mode3dFromFsmw1dFinder::Mode3dFromFsmw1dInfo::perigeesAtSeed ( std::vector< const Trk::TrackParameters * > & perigees,
const std::vector< const Trk::TrackParameters * > & perigeeList ) const
finaloverridevirtual

Implements Trk::IMode3dInfo.

Definition at line 1203 of file Mode3dFromFsmw1dFinder.cxx.

1206{
1207 perigees.clear() ;
1208 std::vector<int> trklist(0) ;
1209
1210 for (int ndx : m_UsedCrossingPointsIndices) {
1211 std::pair<int,int> trk = m_trkidx.at( ndx ) ;
1212
1213 if ( std::find( trklist.begin(), trklist.end(), trk.first ) == trklist.end() )
1214 trklist.push_back( trk.first ) ;
1215 if ( std::find( trklist.begin(), trklist.end(), trk.second ) == trklist.end() )
1216 trklist.push_back( trk.second ) ;
1217 }
1218
1219 std::sort( trklist.begin(), trklist.end() ) ;
1220
1221 for (int t : trklist)
1222 {
1223 perigees.push_back( perigeeList[t] ) ;
1224 }
1225
1226 return perigees.size() ;
1227}
void sort(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end)
Specialization of sort for DataVector/List.

◆ pushIndex()

void Trk::Mode3dFromFsmw1dFinder::Mode3dFromFsmw1dInfo::pushIndex ( int idx)

Definition at line 1231 of file Mode3dFromFsmw1dFinder.cxx.

1232{
1233 m_UsedCrossingPointsIndices.push_back( idx ) ;
1234}

◆ pushIndices()

void Trk::Mode3dFromFsmw1dFinder::Mode3dFromFsmw1dInfo::pushIndices ( const std::vector< std::pair< int, int > > & modes)

Definition at line 1246 of file Mode3dFromFsmw1dFinder.cxx.

1248{
1249 for (const std::pair<int,int>& p : modes) {
1250 m_UsedCrossingPointsIndices.push_back( p.first ) ;
1251 }
1252}

◆ pushPoint()

void Trk::Mode3dFromFsmw1dFinder::Mode3dFromFsmw1dInfo::pushPoint ( float phi,
float r,
float z,
float w )

Definition at line 1256 of file Mode3dFromFsmw1dFinder.cxx.

1258{
1259 m_phi_stk.push_back (phi);
1260 m_radi_stk.push_back (r);
1261 m_z_stk.push_back (z);
1262 m_wght_stk.push_back (w);
1263}
int r
Definition globals.cxx:22

◆ setCorre()

void Trk::Mode3dFromFsmw1dFinder::Mode3dFromFsmw1dInfo::setCorre ( int zin,
double corre )

Definition at line 1267 of file Mode3dFromFsmw1dFinder.cxx.

1268{
1269 if ( zin == 0 )
1270 m_correXY = corre;
1271 else
1272 m_correZ = corre;
1273}

◆ setTrkidx()

void Trk::Mode3dFromFsmw1dFinder::Mode3dFromFsmw1dInfo::setTrkidx ( std::vector< std::pair< int, int > > && trkidx)
finaloverridevirtual

Implements Trk::IMode3dInfo.

Definition at line 1238 of file Mode3dFromFsmw1dFinder.cxx.

1240{
1241 m_trkidx = std::move (trkidx);
1242}

Member Data Documentation

◆ m_correXY

double Trk::Mode3dFromFsmw1dFinder::Mode3dFromFsmw1dInfo::m_correXY = -9.9
private

Definition at line 226 of file Mode3dFromFsmw1dFinder.h.

◆ m_correZ

double Trk::Mode3dFromFsmw1dFinder::Mode3dFromFsmw1dInfo::m_correZ = -9.9
private

Definition at line 227 of file Mode3dFromFsmw1dFinder.h.

◆ m_idxphi

VeVecIndices Trk::Mode3dFromFsmw1dFinder::Mode3dFromFsmw1dInfo::m_idxphi

Definition at line 219 of file Mode3dFromFsmw1dFinder.h.

◆ m_idxradi

VeVecIndices Trk::Mode3dFromFsmw1dFinder::Mode3dFromFsmw1dInfo::m_idxradi

Definition at line 220 of file Mode3dFromFsmw1dFinder.h.

◆ m_idxZ

VeVecIndices Trk::Mode3dFromFsmw1dFinder::Mode3dFromFsmw1dInfo::m_idxZ

Definition at line 221 of file Mode3dFromFsmw1dFinder.h.

◆ m_phi_stk

std::vector< float > Trk::Mode3dFromFsmw1dFinder::Mode3dFromFsmw1dInfo::m_phi_stk
private

Definition at line 230 of file Mode3dFromFsmw1dFinder.h.

◆ m_radi_stk

std::vector< float > Trk::Mode3dFromFsmw1dFinder::Mode3dFromFsmw1dInfo::m_radi_stk
private

Definition at line 231 of file Mode3dFromFsmw1dFinder.h.

◆ m_trkidx

std::vector< std::pair <int, int> > Trk::Mode3dFromFsmw1dFinder::Mode3dFromFsmw1dInfo::m_trkidx
private

Definition at line 235 of file Mode3dFromFsmw1dFinder.h.

◆ m_UsedCrossingPointsIndices

std::vector<int> Trk::Mode3dFromFsmw1dFinder::Mode3dFromFsmw1dInfo::m_UsedCrossingPointsIndices
private

Definition at line 224 of file Mode3dFromFsmw1dFinder.h.

◆ m_wght_stk

std::vector< float > Trk::Mode3dFromFsmw1dFinder::Mode3dFromFsmw1dInfo::m_wght_stk
private

Definition at line 233 of file Mode3dFromFsmw1dFinder.h.

◆ m_z_stk

std::vector< float > Trk::Mode3dFromFsmw1dFinder::Mode3dFromFsmw1dInfo::m_z_stk
private

Definition at line 232 of file Mode3dFromFsmw1dFinder.h.


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