PandaRoot
PndLmdAlignPar.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 //
14 // C++ Interface: PndLmdAlignPar
15 //
16 #ifndef PNDLMDALIGNPAR_H
17 #define PNDLMDALIGNPAR_H
18 
19 #include <vector>
20 #include <TVector2.h>
21 #include <TString.h>
22 #include <TObjString.h>
23 
24 #include "FairParGenericSet.h"
25 #include "FairParamList.h"
26 
27 using namespace std;
29 class PndLmdAlignPar : public FairParGenericSet {
30  public:
31  PndLmdAlignPar(const char *name = "PndLmdAlignPar", const char *title = "PndLmd alignment parameter", const char *context = "TestDefaultContext");
32  ~PndLmdAlignPar(void){};
33  void clear(void){};
34  void putParams(FairParamList *list);
35  Bool_t getParams(FairParamList *list);
36 
37  void Print();
39  Double_t GetShiftX(int j) const { return fshift_x[j]; }
40  Double_t GetShiftY(int j) const { return fshift_y[j]; }
41  Double_t GetShiftZ(int j) const { return fshift_z[j]; }
42  Double_t GetRotateX(int j) const { return frotate_x[j]; }
43  Double_t GetRotateY(int j) const { return frotate_y[j]; }
44  Double_t GetRotateZ(int j) const { return frotate_z[j]; }
45  Int_t GetNsensors() { return fsensors; }
46  Int_t GetNsides() { return fsides; }
47  Int_t GetNplanes() { return fplanes; }
48  // for pixel design
49  Int_t GetNhalfs() { return fhalfs; }
50  Int_t GetNmodules() { return fmodules; }
51 
52  private:
53  // Planes parameters
54  Int_t fsensors; // Number of sensors per module, 1 side
55  Int_t fsides; // Number of sides per module
56  Int_t fplanes; // Number of planes
57  Int_t fhalfs;
58  Int_t fmodules; // Number of modules per plane half
59  // Sensor parameters
60  vector<double> fshift_x;
61  vector<double> fshift_y;
62  vector<double> fshift_z;
63  vector<double> frotate_x;
64  vector<double> frotate_y;
65  vector<double> frotate_z;
66 
67  ClassDef(PndLmdAlignPar, 6);
68 };
69 
70 #endif /* !PNDSDSSTRIPDIGIPAR_H*/
Double_t GetShiftZ(int j) const
Double_t GetShiftY(int j) const
STL namespace.
Double_t GetShiftX(int j) const
Double_t GetRotateX(int j) const
Alignment Parameter Class for LMD.
Int_t GetNplanes()
Double_t GetRotateZ(int j) const
Double_t GetRotateY(int j) const
void clear(void)
Int_t GetNmodules()
Int_t GetNsensors()