BmnRoot
Loading...
Searching...
No Matches
BmnAlignerTest.h
Go to the documentation of this file.
1/*
2 BM@N alignment routine
3 BM@N experiment at NICA complex, JINR, 2025
4
5 Department: Math & Soft Group of HEP lab
6 Author: Igor Polev, polev@jinr.ru
7
8 BmnAlignerTest class declaration.
9 Implements alignment algorithm test with predefined task with known solution.
10 Each detector is defined by z-coordinate and is considered to be infinite plane.
11 Set of random linear tracks are generated.
12*/
13
14#ifndef BMNALIGNERTEST_H
15#define BMNALIGNERTEST_H
16
17#include "BmnATestDetector.h"
18#include "BmnATestHit.h"
19#include "BmnATestTrack.h"
20#include "BmnAligner.h"
21
22class BmnAlignerTest : public BmnAligner<BmnATestHit>
23{
24 public:
25 BmnAlignerTest() = delete;
26 BmnAlignerTest(const BmnMeasureModel* measureModel,
27 const BmnATestDetector* modelDetector,
28 Int_t nTracks,
29 const char* constraintsPath = nullptr,
30 Int_t nThreads = 1);
31 virtual ~BmnAlignerTest();
32 virtual Bool_t PrepareData(const char* tracksPath = nullptr) override;
33 virtual Bool_t IterateAlignment() override;
34 virtual Double_t CalculateMSE(Bool_t withResiduals) override;
35 virtual void ReportResults() const override;
36 virtual void Draw() override;
37
38 Bool_t SaveTracks(const char* path) const;
39 Bool_t LoadTracks(const char* path);
40
41 const BmnATestTrack& GetTestTrack(Int_t trackID) const noexcept { return fpTestTracks[trackID]; }
42 const BmnATestHit& GetTestHit(Int_t hitID) const noexcept { return fpHits[hitID]; }
43
44 private:
45 const BmnATestDetector* fpDetectors;
46 Byte_t* fpTestTracksData{nullptr};
47 BmnATestTrack* fpTestTracks{nullptr};
48};
49
50#endif
BmnAlignerTest(const BmnMeasureModel *measureModel, const BmnATestDetector *modelDetector, Int_t nTracks, const char *constraintsPath=nullptr, Int_t nThreads=1)
virtual Bool_t PrepareData(const char *tracksPath=nullptr) override
virtual ~BmnAlignerTest()
virtual Double_t CalculateMSE(Bool_t withResiduals) override
BmnAlignerTest()=delete
const BmnATestHit & GetTestHit(Int_t hitID) const noexcept
Bool_t LoadTracks(const char *path)
virtual void Draw() override
virtual void ReportResults() const override
Bool_t SaveTracks(const char *path) const
const BmnATestTrack & GetTestTrack(Int_t trackID) const noexcept
virtual Bool_t IterateAlignment() override