PandaRoot
PndGemDigiPar.h
Go to the documentation of this file.
1 //* $Id: */
2 
3 // -------------------------------------------------------------------------
4 // ----- PndGemDigiPar header file -----
5 // ----- Created 12/02/2009 by R. Karabowicz -----
6 // -------------------------------------------------------------------------
7 
17 #ifndef PNDGEMDIGIPAR_H
18 #define PNDGEMDIGIPAR_H
19 
20 #include <TVector2.h>
21 #include <TArrayD.h>
22 #include <TMath.h>
23 
24 #include "FairParGenericSet.h"
25 #include "FairParamList.h"
26 #include "PndGemStation.h"
27 #include "PndGemSensor.h"
28 
30 class PndGemDigiPar : public FairParGenericSet {
31  public:
32  PndGemDigiPar(const char *name = "PndGemParTest", const char *title = "PndGem digi parameter", const char *context = "TestDefaultContext");
33  ~PndGemDigiPar(void);
34  void clear(void){};
35  void putParams(FairParamList *list);
36  Bool_t getParams(FairParamList *list);
37 
38  void Print();
39 
41  Int_t GetNStations() { return fStations->GetEntries(); }
42  Int_t GetNSensors() { return fNSensors; }
43  Int_t GetNChannels() { return fNChannels; }
44  TObjArray *GetStations() { return fStations; }
45  PndGemStation *GetStation(Int_t iStation);
46  PndGemStation *GetStationByNr(Int_t stationNr);
47  PndGemSensor *GetSensor(Int_t stationNr, Int_t sensorNr);
48  PndGemSensor *GetSensor(Int_t sensorId) { return GetSensor(GetStationNr(sensorId), GetSensorNr(sensorId)); }
49  TString GetNodeName(Int_t sensorId);
50  Int_t GetStationNr(Int_t sensorId) { return (sensorId & (15 << 8)) >> 8; }
51  Int_t GetSensorNr(Int_t sensorId) { return (sensorId & (15 << 4)) >> 4; }
52  Int_t GetSegmentNr(Int_t sensorId) { return (sensorId & (15 << 0)) >> 0; }
53 
54  Int_t GetDetectorIdByName(TString sensorName);
55  PndGemSensor *GetSensorByName(TString sensorName);
56 
57  Double_t GetTrackFinderOnHits_ParThetaA() { return fTrackFinderOnHits_ParThetaA; }
58  Double_t GetTrackFinderOnHits_ParThetaB() { return fTrackFinderOnHits_ParThetaB; }
59 
60  Double_t GetTrackFinderOnHits_ParTheta0() { return fTrackFinderOnHits_ParTheta0; }
61  Double_t GetTrackFinderOnHits_ParTheta1() { return fTrackFinderOnHits_ParTheta1; }
62  Double_t GetTrackFinderOnHits_ParTheta2() { return fTrackFinderOnHits_ParTheta2; }
63  Double_t GetTrackFinderOnHits_ParTheta3() { return fTrackFinderOnHits_ParTheta3; }
64 
65  Double_t GetTrackFinderOnHits_ParRadPhi0() { return fTrackFinderOnHits_ParRadPhi0; }
66  Double_t GetTrackFinderOnHits_ParRadPhi2() { return fTrackFinderOnHits_ParRadPhi2; }
67 
68  Double_t GetTrackFinderOnHits_ParMat0(Int_t in) { return fTrackFinderOnHits_ParMat0[in]; }
69  Double_t GetTrackFinderOnHits_ParMat1(Int_t in) { return fTrackFinderOnHits_ParMat1[in]; }
70 
71  private:
72  void CreateStations();
73 
74  TArrayD fGemParameters;
75 
76  TObjArray *fStations;
77  Int_t fNSensors;
78  Int_t fNChannels;
80  Double_t fTrackFinderOnHits_ParThetaA;
81  Double_t fTrackFinderOnHits_ParThetaB;
82 
83  Double_t fTrackFinderOnHits_ParTheta0;
84  Double_t fTrackFinderOnHits_ParTheta1;
85  Double_t fTrackFinderOnHits_ParTheta2;
86  Double_t fTrackFinderOnHits_ParTheta3;
87 
88  Double_t fTrackFinderOnHits_ParRadPhi0;
89  Double_t fTrackFinderOnHits_ParRadPhi2;
90 
91  TArrayD fTrackFinderOnHits_ParMat0;
92  TArrayD fTrackFinderOnHits_ParMat1;
93 
94  std::map<Int_t, PndGemStation *> fStationMap;
95  std::map<TString, Int_t> fDetIdByName;
96  std::map<TString, PndGemSensor *> fSensorByName;
97 
98  ClassDef(PndGemDigiPar, 2);
99 };
100 
101 #endif
PndGemStation * GetStation(Int_t iStation)
Double_t GetTrackFinderOnHits_ParTheta1()
Definition: PndGemDigiPar.h:61
~PndGemDigiPar(void)
Double_t GetTrackFinderOnHits_ParThetaB()
Definition: PndGemDigiPar.h:58
Double_t GetTrackFinderOnHits_ParTheta3()
Definition: PndGemDigiPar.h:63
PndGemStation * GetStationByNr(Int_t stationNr)
Double_t GetTrackFinderOnHits_ParMat1(Int_t in)
Definition: PndGemDigiPar.h:69
Digitization Parameter Class for GEM part.
Definition: PndGemDigiPar.h:30
Int_t GetSensorNr(Int_t sensorId)
Definition: PndGemDigiPar.h:51
Bool_t getParams(FairParamList *list)
Int_t GetSegmentNr(Int_t sensorId)
Definition: PndGemDigiPar.h:52
PndGemDigiPar(const char *name="PndGemParTest", const char *title="PndGem digi parameter", const char *context="TestDefaultContext")
Int_t GetNChannels()
Definition: PndGemDigiPar.h:43
Double_t GetTrackFinderOnHits_ParTheta0()
Definition: PndGemDigiPar.h:60
void putParams(FairParamList *list)
Double_t GetTrackFinderOnHits_ParMat0(Int_t in)
Definition: PndGemDigiPar.h:68
Int_t GetDetectorIdByName(TString sensorName)
TString GetNodeName(Int_t sensorId)
Int_t GetNStations()
Definition: PndGemDigiPar.h:41
Int_t GetNSensors()
Definition: PndGemDigiPar.h:42
Int_t GetStationNr(Int_t sensorId)
Definition: PndGemDigiPar.h:50
void clear(void)
Definition: PndGemDigiPar.h:34
PndGemSensor * GetSensorByName(TString sensorName)
Double_t GetTrackFinderOnHits_ParRadPhi2()
Definition: PndGemDigiPar.h:66
PndGemSensor * GetSensor(Int_t stationNr, Int_t sensorNr)
PndGemSensor * GetSensor(Int_t sensorId)
Definition: PndGemDigiPar.h:48
Double_t GetTrackFinderOnHits_ParThetaA()
Definition: PndGemDigiPar.h:57
Double_t GetTrackFinderOnHits_ParTheta2()
Definition: PndGemDigiPar.h:62
Double_t GetTrackFinderOnHits_ParRadPhi0()
Definition: PndGemDigiPar.h:65
TObjArray * GetStations()
Definition: PndGemDigiPar.h:44