22#include "TGeoVolume.h"
23#include "TGeoManager.h"
24#include "Math/GenVector/RotationX.h"
25#include "Math/GenVector/RotationY.h"
37 mTransformations[deId] = matrix;
43 const double degToRad = TMath::DegToRad();
46 return planeTrans * planeRot;
52 const double degToRad = TMath::DegToRad();
53 double angle = isRight ? 0. : 180.;
54 ROOT::Math::Rotation3D rot(ROOT::Math::RotationY(
angle * degToRad));
55 double xSign = isRight ? 1. : -1.;
57 double sign = (rpc % 2 == 0) ? 1. : -1;
65 ROOT::Math::Translation3D trans(xPos, yPos, zPos);
74 for (
int iside = 0; iside < 2; ++iside) {
75 bool isRight = (iside == 0);
90 TGeoNavigator* navig = geoManager->GetCurrentNavigator();
93 std::stringstream volPath;
94 volPath << geoManager->GetTopVolume()->GetName() <<
"/";
95 if (geoManager->GetVolume(
"YOUT2")) {
96 volPath <<
"YOUT2_1/";
99 if (!navig->cd(volPath.str().c_str())) {
100 throw std::runtime_error(
"Could not get to volPathName=" + volPath.str());
Useful geometrical parameters for MID.
constexpr int NDetectionElements
Number of RPCs.
constexpr int NChambers
Number of chambers.
constexpr int NRPCLines
Number of RPC lines.
void assertDEId(int deId)
int getDEId(bool isRight, int chamber, int rpc)
std::string getChamberVolumeName(int chamber)
constexpr double BeamAngle
Angle between beam position and horizontal.
std::string getRPCVolumeName(RPCtype type, int iChamber)
RPCtype getRPCType(int deId)
constexpr double RPCZShift
Default shift of the RPC z position with respect to the average chamber position.
constexpr std::array< const double, 4 > DefaultChamberZ
Array of default z position of the chamber.
double getRPCHalfHeight(int chamber)
double getRPCCenterPosX(int chamber, int rpc)
GeometryTransformer createTransformationFromManager(const TGeoManager *geoManager)
ROOT::Math::Transform3D getDefaultChamberTransform(int ichamber)
ROOT::Math::Transform3D getDefaultRPCTransform(bool isRight, int chamber, int rpc)
GeometryTransformer createDefaultTransformer()
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
std::string to_string(gsl::span< T, Size > span)