BmnRoot
Loading...
Searching...
No Matches
BmnATestDetector.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 BmnATestDetector class declaration
9 Set of detectors for alignment algorithm test
10*/
11
12#ifndef BMNATESTDETECTOR_H
13#define BMNATESTDETECTOR_H
14
16#include "BmnAlignDefines.h"
17#include "BmnSimpleDetModel.h"
18
20{
21 public:
22 typedef std::vector<BmnATestDetectorPlane> DetectorSet;
23
24 BmnATestDetector(Double_t detectorStep, const char* dumpPath = nullptr);
25 inline BmnATestDetector(const char* jsonPath)
27 {
28 Load(jsonPath);
29 }
30
31 const BmnATestDetectorPlane* GetDetectors() const { return fDetectors; }
32 const SVectGL* GetTestA() const { return fMisalignments; };
33 Double_t GetMinZ() const { return fNominalZ[0]; }
34 Double_t GetMaxZ() const { return fNominalZ[BMN_TEST_MODULE_COUNT - 1]; }
35
36 Bool_t Save(const char* path) const;
37 Bool_t Load(const char* path);
38
39 private:
40 void RebuildDetectors();
41
42 Double_t fNominalZ[BMN_TEST_MODULE_COUNT]; // per-detector nominal Z positions
43 SVectGL fMisalignments[BMN_TEST_MODULE_COUNT]; // per-detector alignment shifts
45};
46
47#endif // BMNATESTDETECTOR_H
#define BMN_TEST_MODULE_COUNT
ROOT::Math::SVector< Double_t, BMN_GLOBAL_PARAMS_PD > SVectGL
std::vector< BmnATestDetectorPlane > DetectorSet
BmnATestDetector(const char *jsonPath)
Bool_t Save(const char *path) const
Double_t GetMaxZ() const
const SVectGL * GetTestA() const
const BmnATestDetectorPlane * GetDetectors() const
Double_t GetMinZ() const
Bool_t Load(const char *path)