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