23#ifndef RestCore_TRestTrackLinearizationProcess
24#define RestCore_TRestTrackLinearizationProcess
26#include <TRestEventProcess.h>
28#include "TRestTrackEvent.h"
52 RESTMetadata <<
"Max nodes: " << fMaxNodes <<
RESTendl;
57 std::vector<std::pair<double, double>>
GetBestNodes(
const std::vector<Float_t>& fXY,
58 const std::vector<Float_t>& fZ,
59 const std::vector<Float_t>& fEn,
const int& nodes);
61 const char* GetProcessName()
const override {
return "trackLinearization"; }
A base class for any REST event process.
void BeginPrintProcess()
[name, cut range]
A base class for any REST event.
A process to perform track linearization.
RESTValue GetInputEvent() const override
Get pointer to input event. Must be implemented in the derived class.
std::vector< std::pair< double, double > > GetBestNodes(const std::vector< Float_t > &fXY, const std::vector< Float_t > &fZ, const std::vector< Float_t > &fEn, const int &nodes)
This function performs a linear fit to the volumehits of the track weighthed by the energy of the hit...
void EndProcess() override
Function to include required actions after all events have been processed.
~TRestTrackLinearizationProcess()
Default destructor.
void Initialize() override
Function to initialize input/output event members and define the section name.
void PrintMetadata() override
Implemented it in the derived metadata class to print out specific metadata information.
void GetHitsProjection(TRestVolumeHits *hits, const int &nodes, TRestVolumeHits &vHits)
This function performs the track linearization towards a given number of nodes the nodes are extracte...
TRestTrackLinearizationProcess()
Default constructor.
RESTValue GetOutputEvent() const override
Get pointer to output event. Must be implemented in the derived class.
void InitProcess() override
Process initialization. Nothing to do here.
TRestEvent * ProcessEvent(TRestEvent *inputEvent) override
The main processing event function.