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 1183 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 1135 of file Mode3dFromFsmw1dFinder.cxx.

1140{
1141 std::vector<int> allidx ;
1142
1143 for (const VecIndices& tmp : m_idxphi) {
1144 for (const std::pair<int, int >& p : tmp) {
1145 allidx.push_back( p.first ) ;
1146 }
1147 }
1148
1149 for (const VecIndices& tmp : m_idxradi) {
1150 for (const std::pair<int, int >& p : tmp) {
1151 if (std::find( allidx.begin(), allidx.end(), p.first ) == allidx.end()) {
1152 allidx.push_back( p.first ) ;
1153 }
1154 }
1155 }
1156
1157 for (const VecIndices& tmp : m_idxZ) {
1158 for (const std::pair<int, int >& p : tmp) {
1159 if (std::find( allidx.begin(), allidx.end(), p.first ) == allidx.end()) {
1160 allidx.push_back( p.first ) ;
1161 }
1162 }
1163 }
1164
1165 unsigned int min = allidx.size() ;
1166 phi.reserve (min);
1167 radi.reserve (min);
1168 z.reserve (min);
1169 wght.reserve (min);
1170
1171 for (int idx : allidx) {
1172 phi.push_back( m_phi_stk[idx] ) ;
1173 radi.push_back( m_radi_stk[idx] ) ;
1174 z.push_back( m_z_stk[idx] ) ;
1175 wght.push_back( m_wght_stk[idx] ) ;
1176 }
1177
1178 return min ;
1179}
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 1199 of file Mode3dFromFsmw1dFinder.cxx.

1202{
1203 perigees.clear() ;
1204 std::vector<int> trklist(0) ;
1205
1206 for (int ndx : m_UsedCrossingPointsIndices) {
1207 std::pair<int,int> trk = m_trkidx.at( ndx ) ;
1208
1209 if ( std::find( trklist.begin(), trklist.end(), trk.first ) == trklist.end() )
1210 trklist.push_back( trk.first ) ;
1211 if ( std::find( trklist.begin(), trklist.end(), trk.second ) == trklist.end() )
1212 trklist.push_back( trk.second ) ;
1213 }
1214
1215 std::sort( trklist.begin(), trklist.end() ) ;
1216
1217 for (int t : trklist)
1218 {
1219 perigees.push_back( perigeeList[t] ) ;
1220 }
1221
1222 return perigees.size() ;
1223}
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 1227 of file Mode3dFromFsmw1dFinder.cxx.

1228{
1229 m_UsedCrossingPointsIndices.push_back( idx ) ;
1230}

◆ pushIndices()

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

Definition at line 1242 of file Mode3dFromFsmw1dFinder.cxx.

1244{
1245 for (const std::pair<int,int>& p : modes) {
1246 m_UsedCrossingPointsIndices.push_back( p.first ) ;
1247 }
1248}

◆ pushPoint()

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

Definition at line 1252 of file Mode3dFromFsmw1dFinder.cxx.

1254{
1255 m_phi_stk.push_back (phi);
1256 m_radi_stk.push_back (r);
1257 m_z_stk.push_back (z);
1258 m_wght_stk.push_back (w);
1259}
int r
Definition globals.cxx:22

◆ setCorre()

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

Definition at line 1263 of file Mode3dFromFsmw1dFinder.cxx.

1264{
1265 if ( zin == 0 )
1266 m_correXY = corre;
1267 else
1268 m_correZ = corre;
1269}

◆ setTrkidx()

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

Implements Trk::IMode3dInfo.

Definition at line 1234 of file Mode3dFromFsmw1dFinder.cxx.

1236{
1237 m_trkidx = std::move (trkidx);
1238}

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: