6 #ifndef CalibPPS_AlignmentRelative_AlignmentGeometry_h
7 #define CalibPPS_AlignmentRelative_AlignmentGeometry_h
35 DetGeometry(
double _z = 0.,
double _sx = 0.,
double _sy = 0.,
bool _isU =
false)
36 :
z(_z),
sx(_sx),
sy(_sy),
isU(_isU) {}
45 throw cms::Exception(
"PPS") <<
"direction index " << idx <<
" not in the mapping.";
void print() const
Prints the geometry.
A structure to hold relevant geometrical information about one detector/sensor.
uint16_t *__restrict__ id
void setDirection(unsigned int idx, double dx, double dy, double dz)
double dz
x, y and z components of the direction unit vector in global coordinates
std::map< unsigned int, DetGeometry > sensorGeometry
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
double s
projection of (sx, sy) to (dx, dy)
unsigned int getNumberOfDetectors() const
returns the number of detectors in the collection
bool isValidSensorId(unsigned int id) const
check whether the sensor Id is valid (present in the map)
double sy
detector nominal shift = detector center in global coordinates; in mm
double z
z postion at detector centre; mm
const DirectionData & getDirectionData(unsigned int idx) const
std::map< unsigned int, DirectionData > directionData
const std::map< unsigned int, DetGeometry > & getSensorMap() const
DetGeometry(double _z=0., double _sx=0., double _sy=0., bool _isU=false)
void insert(unsigned int id, const DetGeometry &g)
puts an element to the map
double z0
a characteristic z in mm