22#include "TRestDetectorHitsRotateAndTranslateProcess.h"
30TRestDetectorHitsRotateAndTranslateProcess::TRestDetectorHitsRotateAndTranslateProcess() {
Initialize(); }
32TRestDetectorHitsRotateAndTranslateProcess::TRestDetectorHitsRotateAndTranslateProcess(
33 const char* configFilename) {
43TRestDetectorHitsRotateAndTranslateProcess::~TRestDetectorHitsRotateAndTranslateProcess() {
47void TRestDetectorHitsRotateAndTranslateProcess::LoadDefaultConfig() {
48 SetTitle(
"Default config");
69 fInputHitsEvent =
nullptr;
70 fOutputHitsEvent =
nullptr;
73void TRestDetectorHitsRotateAndTranslateProcess::LoadConfig(
string configFilename) {
91 fOutputHitsEvent = fInputHitsEvent;
94 TVector3 meanPosition = fOutputHitsEvent->GetMeanPosition();
95 for (
unsigned int hit = 0; hit < fOutputHitsEvent->GetNumberOfHits(); hit++) {
100 if (fOutputHitsEvent->GetNumberOfHits() == 0)
return nullptr;
102 RESTDebug <<
"Number of hits rotated: " << fInputHitsEvent->GetNumberOfHits() <<
RESTendl;
103 return fOutputHitsEvent;
116 fDeltaX = GetDblParameterWithUnits(
"deltaX");
117 fDeltaY = GetDblParameterWithUnits(
"deltaY");
118 fDeltaZ = GetDblParameterWithUnits(
"deltaZ");
Double_t fDeltaZ
shift in X-axis
Double_t fGamma
rotation angle around x-axis
void InitProcess() override
To be executed at the beginning of the run (outside event loop)
void EndProcess() override
To be executed at the end of the run (outside event loop)
Double_t fAlpha
rotation angle around z-axis
void Initialize() override
Making default settings.
Double_t fDeltaX
shift in X-axis
Double_t fBeta
rotation angle around y-axis
TRestEvent * ProcessEvent(TRestEvent *inputEvent) override
Process one event.
void PrintMetadata() override
Implemented it in the derived metadata class to print out specific metadata information.
Double_t fDeltaY
shift in X-axis
void InitFromConfigFile() override
To make settings from rml file. This method must be implemented in the derived class.
A base class for any REST event.
void RotateIn3D(Int_t n, Double_t alpha, Double_t beta, Double_t gamma, const TVector3 ¢er)
It rotates hit n following rotations in Z, Y and X by angles gamma, beta and alpha....
void Translate(Int_t n, Double_t x, Double_t y, Double_t z)
It moves hit n by a given amount (x,y,z).
Double_t StringToDouble(std::string in)
Gets a double from a string.