This class introduces displacements of RP. It actually shifts and rotates PSimHit positions. It doesn't test whether the displaced hit is still on the detector's surface. This check takes place later in the process. It is done via edge effectivity. More...
#include <RPDisplacementGenerator.h>
Public Types | |
using | RotationMatrix = ROOT::Math::Rotation3D |
using | Translation = ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double >> |
Public Member Functions | |
PSimHit | displace (const PSimHit &) |
returns displaced PSimHit More... | |
RPDisplacementGenerator (const edm::ParameterSet &, RPDetId, const edm::EventSetup &) | |
Static Public Member Functions | |
static uint32_t | rawToDecId (uint32_t raw) |
Private Member Functions | |
Local3DPoint | displacePoint (const Local3DPoint &) |
displaces a point More... | |
Private Attributes | |
RPDetId | detId_ |
ID of the detector. More... | |
bool | isOn_ |
set to false to bypass displacements More... | |
RotationMatrix | rotation_ |
Translation | shift_ |
displacement More... | |
This class introduces displacements of RP. It actually shifts and rotates PSimHit positions. It doesn't test whether the displaced hit is still on the detector's surface. This check takes place later in the process. It is done via edge effectivity.
PSimHit points are given in the "local Det frame" (PSimHit.h)
Definition at line 26 of file RPDisplacementGenerator.h.
using RPDisplacementGenerator::RotationMatrix = ROOT::Math::Rotation3D |
Definition at line 28 of file RPDisplacementGenerator.h.
using RPDisplacementGenerator::Translation = ROOT::Math::DisplacementVector3D<ROOT::Math::Cartesian3D<double>> |
Definition at line 29 of file RPDisplacementGenerator.h.
RPDisplacementGenerator::RPDisplacementGenerator | ( | const edm::ParameterSet & | ps, |
RPDetId | _detId, | ||
const edm::EventSetup & | iSetup | ||
) |
Definition at line 19 of file RPDisplacementGenerator.cc.
References detId_, g, relativeConstraints::geom, edm::EventSetup::get(), edm::ParameterSet::getParameter(), CTPPSRPAlignmentCorrectionData::getRotationMatrix(), CTPPSRPAlignmentCorrectionData::getTranslation(), isOn_, log, LogDebug, rawToDecId(), DetGeomDesc::rotation(), rotation_, shift_, and edm::EventSetup::tryToGet().
returns displaced PSimHit
Definition at line 69 of file RPDisplacementGenerator.cc.
References PSimHit::detUnitId(), displacePoint(), PSimHit::energyLoss(), PSimHit::entryPoint(), PSimHit::exitPoint(), input, isOn_, LogDebug, PSimHit::pabs(), PSimHit::particleType(), PSimHit::phiAtEntry(), PSimHit::processType(), PSimHit::thetaAtEntry(), PSimHit::tof(), and PSimHit::trackId().
|
private |
displaces a point
input is in mm, shifts are in mm too
Definition at line 60 of file RPDisplacementGenerator.cc.
References rotation_, shift_, findQualityFiles::v, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by displace().
|
static |
Definition at line 92 of file RPDisplacementGenerator.cc.
References CTPPSDetId::maskArm, TotemRPDetId::maskPlane, CTPPSDetId::maskRP, CTPPSDetId::maskStation, CTPPSDetId::startArmBit, TotemRPDetId::startPlaneBit, CTPPSDetId::startRPBit, and CTPPSDetId::startStationBit.
Referenced by DeadChannelsManager::isChannelDead(), and RPDisplacementGenerator().
|
private |
ID of the detector.
Definition at line 40 of file RPDisplacementGenerator.h.
Referenced by RPDisplacementGenerator().
|
private |
set to false to bypass displacements
Definition at line 47 of file RPDisplacementGenerator.h.
Referenced by displace(), and RPDisplacementGenerator().
|
private |
Definition at line 44 of file RPDisplacementGenerator.h.
Referenced by displacePoint(), and RPDisplacementGenerator().
|
private |
displacement
Definition at line 43 of file RPDisplacementGenerator.h.
Referenced by displacePoint(), and RPDisplacementGenerator().