CMS 3D CMS Logo

CTPPSRPAlignmentCorrectionsData.h
Go to the documentation of this file.
1 /****************************************************************************
2  *
3  * This is a part of CMS-TOTEM PPS offline software.
4  * Authors:
5  * Jan Kašpar (jan.kaspar@gmail.com)
6  * Helena Malbouisson
7  * Clemencia Mora Herrera
8  *
9  ****************************************************************************/
10 
11 #ifndef CondFormats_CTPPSReadoutObjects_CTPPSRPAlignmentCorrectionsData
12 #define CondFormats_CTPPSReadoutObjects_CTPPSRPAlignmentCorrectionsData
13 
15 
16 #include <map>
17 
26 {
27  public:
29  typedef std::map<unsigned int, CTPPSRPAlignmentCorrectionData> mapType;
30 
31  private:
33  mapType rps_, sensors_;
34 
35  friend class StraightTrackAlignment;
36 
37  public:
39 
41  const mapType& getRPMap() const { return rps_; }
42 
44  const mapType& getSensorMap() const { return sensors_; }
45 
48  CTPPSRPAlignmentCorrectionData getRPCorrection( unsigned int id ) const;
49 
52  CTPPSRPAlignmentCorrectionData getSensorCorrection( unsigned int id ) const;
53 
57  CTPPSRPAlignmentCorrectionData getFullSensorCorrection( unsigned int id, bool useRPErrors = false ) const;
58 
60  void setRPCorrection( unsigned int id, const CTPPSRPAlignmentCorrectionData& ac );
61 
63  void setSensorCorrection( unsigned int id, const CTPPSRPAlignmentCorrectionData& ac );
64 
69  void addRPCorrection( unsigned int, const CTPPSRPAlignmentCorrectionData&, bool sumErrors=true, bool addSh=true, bool addRot=true );
70 
72  void addSensorCorrection( unsigned int, const CTPPSRPAlignmentCorrectionData&, bool sumErrors=true, bool addSh=true, bool addRot=true );
73 
75  void addCorrections( const CTPPSRPAlignmentCorrectionsData &, bool sumErrors=true, bool addSh=true, bool addRot=true );
76 
78  void clear();
79 
81 };
82 
83 std::ostream& operator<<(std::ostream& s, const CTPPSRPAlignmentCorrectionsData &corr);
84 
85 #endif
void addSensorCorrection(unsigned int, const CTPPSRPAlignmentCorrectionData &, bool sumErrors=true, bool addSh=true, bool addRot=true)
adds (merges) a RP correction on top of the current value
CTPPSRPAlignmentCorrectionData & getRPCorrection(unsigned int id)
returns the correction value from the RP map
std::ostream & operator<<(std::ostream &s, const CTPPSRPAlignmentCorrectionsData &corr)
void setRPCorrection(unsigned int id, const CTPPSRPAlignmentCorrectionData &ac)
sets the alignment correction for the given RP
std::map< unsigned int, CTPPSRPAlignmentCorrectionData > mapType
map: element id -> its alignment correction
const mapType & getRPMap() const
returns the map of RP alignment corrections
CTPPSRPAlignmentCorrectionData & getSensorCorrection(unsigned int id)
returns the correction value from the sensor map
void addRPCorrection(unsigned int, const CTPPSRPAlignmentCorrectionData &, bool sumErrors=true, bool addSh=true, bool addRot=true)
CTPPSRPAlignmentCorrectionData getFullSensorCorrection(unsigned int id, bool useRPErrors=false) const
JetCorrectorParameters corr
Definition: classes.h:5
const mapType & getSensorMap() const
returns the map of sensor alignment corrections
void addCorrections(const CTPPSRPAlignmentCorrectionsData &, bool sumErrors=true, bool addSh=true, bool addRot=true)
adds (merges) corrections on top of the current values
mapType rps_
alignment correction maps
#define COND_SERIALIZABLE
Definition: Serializable.h:38
Container for CTPPS RP alignment corrections. The corrections are stored on two levels - RP and senso...
void setSensorCorrection(unsigned int id, const CTPPSRPAlignmentCorrectionData &ac)
sets the alignment correction for the given sensor
Alignment correction for an element of the CT-PPS detector. Within the geometry description, every sensor (more generally every element) is given its translation and rotation. These two quantities shall be understood in local-to-global coordinate transform. That is, if r_l is a point in local coordinate system and x_g in global, then it holds.