30 if (perigeeStr ==
"original") {
32 }
else if (perigeeStr ==
"beamspot") {
34 }
else if (perigeeStr ==
"beamline") {
37 throw std::runtime_error(
"Invalid value of ClusterPerigee parameter: " + perigeeStr);
57 if ( tracks.empty() ) {
76 for (
auto track_itr = tracks.begin() + 1; track_itr != tracks.end(); ++track_itr) {
99 auto& params0 =
track.perigeeParameters()->parameters();
112 auto& beamPos = beamspot->
beamPos();
113 double B_x = beamPos[0];
114 double B_y = beamPos[1];
116 double z = z_0 + (B_x*
cos(phi) + B_y*
sin(phi)) /
tan(theta);