10 #ifndef RecoPPS_Local_TotemRPLocalTrackFitterAlgorithm
11 #define RecoPPS_Local_TotemRPLocalTrackFitterAlgorithm
25 #include <unordered_map>
54 std::unordered_map<unsigned int, RPDetCoordinateAlgebraObjs>
det_data_map_;
void multiplyByDiagonalInPlace(TMatrixD &mt, const TVectorD &diag)
A matrix multiplication shorthand.
TVector3 centre_of_det_global_position_
void reset()
Resets the reconstruction-data cache.
std::unordered_map< unsigned int, RPDetCoordinateAlgebraObjs > det_data_map_
A cache of reconstruction data. Must be reset every time the geometry chagnges.
TVector2 readout_direction_
non paralell projection and rot_cor included
A track fit through a single RP.
bool available_
if det should be included in the reconstruction
DetGeomDesc::Translation Vector
double rec_u_0_
in mm, position of det. centre projected on readout direction
TotemRPLocalTrackFitterAlgorithm(const edm::ParameterSet &conf)
The manager class for TOTEM RP geometry.
RPDetCoordinateAlgebraObjs prepareReconstAlgebraData(unsigned int det_id, const CTPPSGeometry &tot_rp_geom)
Build the reconstruction data.
bool fitTrack(const edm::DetSetVector< TotemRPRecHit > &hits, double z_0, const CTPPSGeometry &tot_geom, TotemRPLocalTrack &fitted_track)
performs the track fit, returns true if successful
Algorithm for fitting tracks through a single RP.
static TVector3 convert3vector(const CTPPSGeometry::Vector &v)
Geometrical and topological information on RP silicon detector. Uses coordinate a frame with origin i...
RPDetCoordinateAlgebraObjs * getDetAlgebraData(unsigned int det_id, const CTPPSGeometry &tot_rp_geom)