PandaRoot
PndLmdDigiPara.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  * PndLmdDigiPara.h*
15  * Created on: Jul 29, 2009
16  * Author: huagen
17  * this digitization parameter contains two kinds of the parameters for straight strip and curve strips
18  */
19 
20 #ifndef PNDLMDDIGIPARA_H_
21 #define PNDLMDDIGIPARA_H_
22 
23 #include "TString.h"
24 #include "TVector2.h"
25 #include "FairParGenericSet.h"
26 #include "FairParamList.h"
27 
28 //#include "FairGeanePro.h"
29 
30 class PndLmdDigiPara : public FairParGenericSet {
31  public:
32  // constructors of PndLmdDigiPara
33  PndLmdDigiPara(const char *name = "PndLmdDigiParameter", const char *title = "PndLmd Strip Digi Parameter", const char *context = "Pnd Lmd Digitization parameters");
34  ~PndLmdDigiPara(void) {}
35  void clean(void) {}
36  void putParams(FairParamList *list);
37  Bool_t getParams(FairParamList *list);
38 
39  void print();
40 
41  // public accessor
42  Double_t GetCirclePitch() const { return fCirclePitch; }
43  Double_t GetLeftPitch() const { return fLeftPitch; }
44  Double_t GetRightPitch() const { return fRightPitch; }
45  Double_t GetRightOrient() const { return fRightOrient; }
46  Double_t GetLeftOrient() const { return fLeftOrient; }
47  TVector2 GetCircleAnchor() const { return fCircleAnchor; }
48  TVector2 GetRightAnchor() const { return fRightAnchor; }
49  TVector2 GetLeftAnchor() const { return fLeftAnchor; }
50  Int_t GetNrFeChannels() const { return fNrFeChannels; }
51  Int_t GetNrCircleFe() const { return fNrCircleFe; }
52  Int_t GetNrRightFe() const { return fNrRightFe; }
53  Int_t GetNrLeftFe() const { return fNrLeftFe; }
54  Double_t GetGausSigma() const { return fSigma; }
55 
56  Double_t GetThreshold() const { return fThreshold; }
57  Double_t GetNoise() const { return fNoise; }
58  const char *GetSensType() const { return fSensType.Data(); }
59  const char *GetFeType() const { return fFeType.Data(); }
60 
61  void SetCirclePitch(Double_t x) { fCirclePitch = x; }
62  void SetLeftPitch(Double_t x) { fLeftPitch = x; }
63  void SetRightPitch(Double_t x) { fRightPitch = x; }
64  void SetLeftOrient(Double_t x) { fLeftOrient = x; }
65  void SetRightOrient(Double_t x) { fRightOrient = x; }
66  void SetCircleAnchor(TVector2 &x) { fCircleAnchor = x; }
67  void SetRightAnchor(TVector2 &x) { fRightAnchor = x; }
68  void SetLeftAnchor(TVector2 &x) { fLeftAnchor = x; }
69  void SetNrFeChannels(Int_t x) { fNrFeChannels = x; }
70  void SetNrCircleFe(Int_t x) { fNrCircleFe = x; }
71  void SetNrLeftFe(Int_t x) { fNrLeftFe = x; }
72  void SetNrRightFe(Int_t x) { fNrRightFe = x; }
73  void SetSensType(TString x) { fSensType = x; }
74  void SetFeType(TString x) { fFeType = x; }
75  void SetGausSigma(Double_t x) { fSigma = x; }
76 
77  private:
78  Double_t fCirclePitch; // the pitch if the strip is curved
79  Double_t fRightPitch; // the pitch of right segment when the strip is straight
80  Double_t fLeftPitch; // the pitch of the left segment when the strip is straight
81  Double_t fRightOrient; // the orient of right pitch
82  Double_t fLeftOrient; // the orient of the left pitch
83  Double_t fCircleAnchorX; // the anchor point of the circle
84  Double_t fCircleAnchorY;
85  Double_t fRightAnchorX; // the anchor point of the right segment
86  Double_t fRightAnchorY;
87  Double_t fLeftAnchorX; // the anchor point of the left segment
88  Double_t fLeftAnchorY;
89  TVector2 fCircleAnchor; // anchor point of the center of circle
90  TVector2 fRightAnchor; // anchor point of right segment
91  TVector2 fLeftAnchor; // anchor point of left segment
92  Int_t fNrFeChannels; // the number of channels per FE
93  Int_t fNrCircleFe; // the FE number of Circle strips
94  Int_t fNrLeftFe; // the number of FE
95  Int_t fNrRightFe;
96  Double_t fThreshold; // the threshold of the signal
97  Double_t fNoise; // the noise of the electronics
98  Double_t fSigma; // the sigma of gaussian distribution for charge diffusion parameters
99  TString fSensType; // the type of sensor
100  TString fFeType; // the type of FE
101 
102  ClassDef(PndLmdDigiPara, 3);
103 };
104 
105 #endif /* PNDLMDDIGIPARA_H_ */
void SetLeftAnchor(TVector2 &x)
Int_t GetNrLeftFe() const
TVector2 GetCircleAnchor() const
Double_t GetRightPitch() const
void SetNrFeChannels(Int_t x)
PndLmdDigiPara(const char *name="PndLmdDigiParameter", const char *title="PndLmd Strip Digi Parameter", const char *context="Pnd Lmd Digitization parameters")
void SetRightAnchor(TVector2 &x)
TVector2 GetRightAnchor() const
void SetLeftOrient(Double_t x)
void SetLeftPitch(Double_t x)
Double_t GetLeftPitch() const
void SetCirclePitch(Double_t x)
void SetGausSigma(Double_t x)
void SetNrCircleFe(Int_t x)
const char * GetSensType() const
void SetNrRightFe(Int_t x)
Double_t GetNoise() const
Double_t GetGausSigma() const
Double_t GetRightOrient() const
void clean(void)
void SetRightOrient(Double_t x)
void SetRightPitch(Double_t x)
Double_t GetThreshold() const
void putParams(FairParamList *list)
TVector2 GetLeftAnchor() const
void SetCircleAnchor(TVector2 &x)
void SetNrLeftFe(Int_t x)
void SetFeType(TString x)
Int_t GetNrRightFe() const
Int_t GetNrCircleFe() const
Int_t GetNrFeChannels() const
const char * GetFeType() const
Bool_t getParams(FairParamList *list)
Double_t GetLeftOrient() const
void SetSensType(TString x)
Double_t GetCirclePitch() const