CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes
DAClusterizerInZT_vect::vertex_t Struct Reference

#include <DAClusterizerInZT_vect.h>

Public Member Functions

void addItem (double new_zvtx, double new_tvtx, double new_rho)
 
void extractRaw ()
 
unsigned int getSize () const
 
void insertItem (unsigned int k, double new_zvtx, double new_tvtx, double new_rho, track_t &tks)
 
unsigned int insertOrdered (double zvtx, double tvtx, double rho, track_t &tks)
 
void removeItem (unsigned int k, track_t &tks)
 

Public Attributes

double *__restrict__ exp
 
double *__restrict__ exp_arg
 
std::vector< double > exp_arg_vec
 
std::vector< double > exp_vec
 
double *__restrict__ nut
 
std::vector< double > nut_vec
 
double *__restrict__ nuz
 
std::vector< double > nuz_vec
 
double *__restrict__ rho
 
std::vector< double > rho_vec
 
double *__restrict__ se
 
std::vector< double > se_vec
 
double *__restrict__ stt
 
std::vector< double > stt_vec
 
std::vector< double > sw_vec
 
double *__restrict__ swt
 
std::vector< double > swt_vec
 
double *__restrict__ swz
 
std::vector< double > swz_vec
 
double *__restrict__ szt
 
std::vector< double > szt_vec
 
double *__restrict__ szz
 
std::vector< double > szz_vec
 
double *__restrict__ tvtx
 
std::vector< double > tvtx_vec
 
double *__restrict__ zvtx
 
std::vector< double > zvtx_vec
 

Detailed Description

Definition at line 98 of file DAClusterizerInZT_vect.h.

Member Function Documentation

◆ addItem()

void DAClusterizerInZT_vect::vertex_t::addItem ( double  new_zvtx,
double  new_tvtx,
double  new_rho 
)
inline

Definition at line 121 of file DAClusterizerInZT_vect.h.

References exp_arg_vec, exp_vec, extractRaw(), nut_vec, nuz_vec, rho_vec, se_vec, stt_vec, swt_vec, swz_vec, szt_vec, szz_vec, tvtx_vec, and zvtx_vec.

121  {
122  zvtx_vec.push_back(new_zvtx);
123  tvtx_vec.push_back(new_tvtx);
124  rho_vec.push_back(new_rho);
125  exp_arg_vec.push_back(0.0);
126  exp_vec.push_back(0.0);
127  swz_vec.push_back(0.0);
128  swt_vec.push_back(0.0);
129  se_vec.push_back(0.0);
130  nuz_vec.push_back(0.0);
131  nut_vec.push_back(0.0);
132  szz_vec.push_back(0.0);
133  stt_vec.push_back(0.0);
134  szt_vec.push_back(0.0);
135 #ifdef USEVTXDT2
136  dt2_vec.push_back(0.0);
137  sumw_vec.push_back(0.0);
138 #endif
139 
140  extractRaw();
141  }

◆ extractRaw()

void DAClusterizerInZT_vect::vertex_t::extractRaw ( )
inline

Definition at line 239 of file DAClusterizerInZT_vect.h.

References exp, exp_arg, exp_arg_vec, exp_vec, nut, nut_vec, nuz, nuz_vec, rho, rho_vec, se, se_vec, stt, stt_vec, swt, swt_vec, swz, swz_vec, szt, szt_vec, szz, szz_vec, tvtx, tvtx_vec, zvtx, and zvtx_vec.

Referenced by addItem(), insertItem(), and removeItem().

239  {
240  zvtx = &zvtx_vec.front();
241  tvtx = &tvtx_vec.front();
242  rho = &rho_vec.front();
243  exp_arg = &exp_arg_vec.front();
244  exp = &exp_vec.front();
245  swz = &swz_vec.front();
246  swt = &swt_vec.front();
247  se = &se_vec.front();
248  nuz = &nuz_vec.front();
249  nut = &nut_vec.front();
250  szz = &szz_vec.front();
251  stt = &stt_vec.front();
252  szt = &szt_vec.front();
253 #ifdef USEVTXDT2
254  dt2 = &dt2_vec.front();
255  sumw = &sumw_vec.front();
256 #endif
257  }

◆ getSize()

unsigned int DAClusterizerInZT_vect::vertex_t::getSize ( ) const
inline

◆ insertItem()

void DAClusterizerInZT_vect::vertex_t::insertItem ( unsigned int  k,
double  new_zvtx,
double  new_tvtx,
double  new_rho,
track_t tks 
)
inline

Definition at line 143 of file DAClusterizerInZT_vect.h.

References exp_arg_vec, exp_vec, extractRaw(), DAClusterizerInZT_vect::track_t::getSize(), mps_fire::i, dqmdumpme::k, DAClusterizerInZT_vect::track_t::kmax, DAClusterizerInZT_vect::track_t::kmin, nut_vec, nuz_vec, rho_vec, se_vec, stt_vec, swt_vec, swz_vec, szt_vec, szz_vec, tvtx_vec, and zvtx_vec.

Referenced by insertOrdered().

143  {
144  zvtx_vec.insert(zvtx_vec.begin() + k, new_zvtx);
145  tvtx_vec.insert(tvtx_vec.begin() + k, new_tvtx);
146  rho_vec.insert(rho_vec.begin() + k, new_rho);
147  exp_arg_vec.insert(exp_arg_vec.begin() + k, 0.0);
148  exp_vec.insert(exp_vec.begin() + k, 0.0);
149  swz_vec.insert(swz_vec.begin() + k, 0.0);
150  swt_vec.insert(swt_vec.begin() + k, 0.0);
151  se_vec.insert(se_vec.begin() + k, 0.0);
152  nuz_vec.insert(nuz_vec.begin() + k, 0.0);
153  nut_vec.insert(nut_vec.begin() + k, 0.0);
154  szz_vec.insert(szz_vec.begin() + k, 0.0);
155  stt_vec.insert(stt_vec.begin() + k, 0.0);
156  szt_vec.insert(szt_vec.begin() + k, 0.0);
157 #ifdef USEVTXDT2
158  dt2_vec.insert(dt2_vec.begin() + k, 0.0);
159  sumw_vec.insert(sumw_vec.begin() + k, 0.0);
160 #endif
161 
162  // adjust vertex lists of tracks
163  for (unsigned int i = 0; i < tks.getSize(); i++) {
164  if (tks.kmin[i] > k) {
165  tks.kmin[i]++;
166  }
167  if ((tks.kmax[i] >= k) || (tks.kmax[i] == tks.kmin[i])) {
168  tks.kmax[i]++;
169  }
170  }
171 
172  extractRaw();
173  }

◆ insertOrdered()

unsigned int DAClusterizerInZT_vect::vertex_t::insertOrdered ( double  zvtx,
double  tvtx,
double  rho,
track_t tks 
)
inline

Definition at line 207 of file DAClusterizerInZT_vect.h.

References getSize(), insertItem(), dqmdumpme::k, rho, tvtx, zvtx, and zvtx_vec.

207  {
208  // insert a new cluster according to it's z-position, return the index at which it was inserted
209 
210  unsigned int k = 0;
211  for (; k < getSize(); k++) {
212  if (zvtx < zvtx_vec[k])
213  break;
214  }
215  insertItem(k, zvtx, tvtx, rho, tks);
216  return k;
217  }
void insertItem(unsigned int k, double new_zvtx, double new_tvtx, double new_rho, track_t &tks)

◆ removeItem()

void DAClusterizerInZT_vect::vertex_t::removeItem ( unsigned int  k,
track_t tks 
)
inline

Definition at line 175 of file DAClusterizerInZT_vect.h.

References exp_arg_vec, exp_vec, extractRaw(), DAClusterizerInZT_vect::track_t::getSize(), mps_fire::i, dqmdumpme::k, DAClusterizerInZT_vect::track_t::kmax, DAClusterizerInZT_vect::track_t::kmin, nut_vec, nuz_vec, rho_vec, se_vec, stt_vec, swt_vec, swz_vec, szt_vec, szz_vec, tvtx_vec, and zvtx_vec.

175  {
176  zvtx_vec.erase(zvtx_vec.begin() + k);
177  tvtx_vec.erase(tvtx_vec.begin() + k);
178  rho_vec.erase(rho_vec.begin() + k);
179  exp_arg_vec.erase(exp_arg_vec.begin() + k);
180  exp_vec.erase(exp_vec.begin() + k);
181  swz_vec.erase(swz_vec.begin() + k);
182  swt_vec.erase(swt_vec.begin() + k);
183  se_vec.erase(se_vec.begin() + k);
184  nuz_vec.erase(nuz_vec.begin() + k);
185  nut_vec.erase(nut_vec.begin() + k);
186  szz_vec.erase(szz_vec.begin() + k);
187  stt_vec.erase(stt_vec.begin() + k);
188  szt_vec.erase(szt_vec.begin() + k);
189 #ifdef USEVTXDT2
190  dt2_vec.erase(dt2_vec.begin() + k);
191  sumw_vec.erase(sumw_vec.begin() + k);
192 #endif
193 
194  // adjust vertex lists of tracks
195  for (unsigned int i = 0; i < tks.getSize(); i++) {
196  if (tks.kmax[i] > k) {
197  tks.kmax[i]--;
198  }
199  if ((tks.kmin[i] > k) || (((tks.kmax[i] < (tks.kmin[i] + 1)) && (tks.kmin[i] > 0)))) {
200  tks.kmin[i]--;
201  }
202  }
203 
204  extractRaw();
205  }

Member Data Documentation

◆ exp

double* __restrict__ DAClusterizerInZT_vect::vertex_t::exp

Definition at line 224 of file DAClusterizerInZT_vect.h.

Referenced by extractRaw(), and DAClusterizerInZT_vect::update().

◆ exp_arg

double* __restrict__ DAClusterizerInZT_vect::vertex_t::exp_arg

Definition at line 223 of file DAClusterizerInZT_vect.h.

Referenced by extractRaw(), and DAClusterizerInZT_vect::update().

◆ exp_arg_vec

std::vector<double> DAClusterizerInZT_vect::vertex_t::exp_arg_vec

Definition at line 107 of file DAClusterizerInZT_vect.h.

Referenced by addItem(), extractRaw(), insertItem(), and removeItem().

◆ exp_vec

std::vector<double> DAClusterizerInZT_vect::vertex_t::exp_vec

Definition at line 108 of file DAClusterizerInZT_vect.h.

Referenced by addItem(), extractRaw(), insertItem(), and removeItem().

◆ nut

double* __restrict__ DAClusterizerInZT_vect::vertex_t::nut

Definition at line 229 of file DAClusterizerInZT_vect.h.

Referenced by extractRaw(), and DAClusterizerInZT_vect::update().

◆ nut_vec

std::vector<double> DAClusterizerInZT_vect::vertex_t::nut_vec

Definition at line 114 of file DAClusterizerInZT_vect.h.

Referenced by addItem(), extractRaw(), insertItem(), and removeItem().

◆ nuz

double* __restrict__ DAClusterizerInZT_vect::vertex_t::nuz

Definition at line 228 of file DAClusterizerInZT_vect.h.

Referenced by extractRaw(), and DAClusterizerInZT_vect::update().

◆ nuz_vec

std::vector<double> DAClusterizerInZT_vect::vertex_t::nuz_vec

Definition at line 113 of file DAClusterizerInZT_vect.h.

Referenced by addItem(), extractRaw(), insertItem(), and removeItem().

◆ rho

double* __restrict__ DAClusterizerInZT_vect::vertex_t::rho

◆ rho_vec

std::vector<double> DAClusterizerInZT_vect::vertex_t::rho_vec

Definition at line 101 of file DAClusterizerInZT_vect.h.

Referenced by addItem(), extractRaw(), insertItem(), and removeItem().

◆ se

double* __restrict__ DAClusterizerInZT_vect::vertex_t::se

Definition at line 227 of file DAClusterizerInZT_vect.h.

Referenced by extractRaw(), and DAClusterizerInZT_vect::update().

◆ se_vec

std::vector<double> DAClusterizerInZT_vect::vertex_t::se_vec

Definition at line 112 of file DAClusterizerInZT_vect.h.

Referenced by addItem(), extractRaw(), insertItem(), and removeItem().

◆ stt

double* __restrict__ DAClusterizerInZT_vect::vertex_t::stt

Definition at line 231 of file DAClusterizerInZT_vect.h.

Referenced by extractRaw(), and DAClusterizerInZT_vect::update().

◆ stt_vec

std::vector<double> DAClusterizerInZT_vect::vertex_t::stt_vec

Definition at line 116 of file DAClusterizerInZT_vect.h.

Referenced by addItem(), extractRaw(), insertItem(), and removeItem().

◆ sw_vec

std::vector<double> DAClusterizerInZT_vect::vertex_t::sw_vec

Definition at line 109 of file DAClusterizerInZT_vect.h.

◆ swt

double* __restrict__ DAClusterizerInZT_vect::vertex_t::swt

Definition at line 225 of file DAClusterizerInZT_vect.h.

Referenced by extractRaw(), and DAClusterizerInZT_vect::update().

◆ swt_vec

std::vector<double> DAClusterizerInZT_vect::vertex_t::swt_vec

Definition at line 111 of file DAClusterizerInZT_vect.h.

Referenced by addItem(), extractRaw(), insertItem(), and removeItem().

◆ swz

double* __restrict__ DAClusterizerInZT_vect::vertex_t::swz

Definition at line 226 of file DAClusterizerInZT_vect.h.

Referenced by extractRaw(), and DAClusterizerInZT_vect::update().

◆ swz_vec

std::vector<double> DAClusterizerInZT_vect::vertex_t::swz_vec

Definition at line 110 of file DAClusterizerInZT_vect.h.

Referenced by addItem(), extractRaw(), insertItem(), and removeItem().

◆ szt

double* __restrict__ DAClusterizerInZT_vect::vertex_t::szt

Definition at line 232 of file DAClusterizerInZT_vect.h.

Referenced by extractRaw(), and DAClusterizerInZT_vect::update().

◆ szt_vec

std::vector<double> DAClusterizerInZT_vect::vertex_t::szt_vec

Definition at line 117 of file DAClusterizerInZT_vect.h.

Referenced by addItem(), extractRaw(), insertItem(), and removeItem().

◆ szz

double* __restrict__ DAClusterizerInZT_vect::vertex_t::szz

Definition at line 230 of file DAClusterizerInZT_vect.h.

Referenced by extractRaw(), and DAClusterizerInZT_vect::update().

◆ szz_vec

std::vector<double> DAClusterizerInZT_vect::vertex_t::szz_vec

Definition at line 115 of file DAClusterizerInZT_vect.h.

Referenced by addItem(), extractRaw(), insertItem(), and removeItem().

◆ tvtx

double* __restrict__ DAClusterizerInZT_vect::vertex_t::tvtx

Definition at line 221 of file DAClusterizerInZT_vect.h.

Referenced by extractRaw(), and insertOrdered().

◆ tvtx_vec

std::vector<double> DAClusterizerInZT_vect::vertex_t::tvtx_vec

Definition at line 100 of file DAClusterizerInZT_vect.h.

Referenced by addItem(), extractRaw(), insertItem(), and removeItem().

◆ zvtx

double* __restrict__ DAClusterizerInZT_vect::vertex_t::zvtx

◆ zvtx_vec

std::vector<double> DAClusterizerInZT_vect::vertex_t::zvtx_vec