13 #include <Math/RotationZYX.h>
14 #include <Math/Rotation3D.h>
36 if (alignments.isValid()) {
48 rotation_ = R_l.Inverse() * R_m.Inverse() * R_l;
49 shift_ = R_l.Inverse() * R_m.Inverse() * S_m;
51 LogDebug(
"RPDisplacementGenerator").log([&](
auto &
log) {
52 log <<
" det id = " << decId <<
", isOn = " <<
isOn_ <<
"\n";
76 LogDebug(
"RPDisplacementGenerator::displace\n") <<
" entry point: " << ep <<
" -> " << dep <<
"\n"
77 <<
" exit point : " << xp <<
" -> " << dxp <<
"\n";
std::optional< T > tryToGet() const
static std::vector< std::string > checklist log
float tof() const
deprecated name for timeOfFlight()
Geom::Theta< float > thetaAtEntry() const
fast and more accurate access to momentumAtEntry().theta()
RPDetId detId_
ID of the detector.
ROOT::Math::Rotation3D getRotationMatrix() const
static const uint32_t startRPBit
math::XYZVectorD getTranslation() const
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
Event setup record containing the real (actual) geometry information.
static const uint32_t maskStation
static uint32_t rawToDecId(uint32_t raw)
static std::string const input
static const uint32_t maskRP
Translation shift_
displacement
Local3DPoint exitPoint() const
Exit point in the local Det frame.
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > XYZVectorD
spatial vector with cartesian internal representation
static const uint32_t maskArm
bool isOn_
set to false to bypass displacements
ROOT::Math::Rotation3D RotationMatrix
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double >> Translation
float pabs() const
fast and more accurate access to momentumAtEntry().mag()
T getParameter(std::string const &) const
static const uint32_t startStationBit
PSimHit displace(const PSimHit &)
returns displaced PSimHit
unsigned short processType() const
float energyLoss() const
The energy deposit in the PSimHit, in ???.
static const uint32_t startPlaneBit
static const uint32_t startArmBit
Event setup record containing the misaligned geometry information. It is used for alignment studies o...
static const uint32_t maskPlane
unsigned int trackId() const
Geom::Phi< float > phiAtEntry() const
fast and more accurate access to momentumAtEntry().phi()
const RotationMatrix & rotation() const
RPDisplacementGenerator(const edm::ParameterSet &, RPDetId, const edm::EventSetup &)
Local3DPoint entryPoint() const
Entry point in the local Det frame.
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.
Local3DPoint displacePoint(const Local3DPoint &)
displaces a point
unsigned int detUnitId() const
Point3DBase< float, LocalTag > Local3DPoint