er  dev
ERNeuRadDigiPar.h
1 // -------------------------------------------------------------------------
2 // ----- ERNeuRadDigiPar header file -----
3 // ----- Created 03/15 by V.Schetinin -----
4 // -------------------------------------------------------------------------
5 
6 #ifndef ERNEURADDIGIPAR_H
7 #define ERNEURADDIGIPAR_H
8 
9 #include "FairParGenericSet.h"
10 
11 #include "TObject.h"
12 #include "TObjArray.h"
13 #include "TArrayF.h"
14 #include "TArrayI.h"
15 
16 #include "ERNeuRadSetup.h"
17 
18 class FairParIo;
19 class FairParamList;
20 class ERNeuRadSetup;
21 
22 class ERNeuRadDigiPar : public FairParGenericSet
23 {
24 
25 public:
26 
28  ERNeuRadDigiPar(const char* name = "ERNeuRadDigiPar",
29  const char* title = "ERNeuRad Digitization Parameters",
30  const char* context = "Default");
31 
33  virtual ~ERNeuRadDigiPar();
34 
36  virtual Bool_t init(FairParIo* input);
37 
39  //virtual Int_t write(FairParIo* output);
40 
41  virtual void print();
42 
44  virtual void clear();
45 
46  void putParams(FairParamList*);
47  Bool_t getParams(FairParamList*);
48 
52  Int_t NofFibers() const {return fNofPixels;}
53  Int_t NofModules() const {return fNofModules;}
54  //TODO добавить обработку выхода зза границу Double_t PixelQuantumEfficiency (Int_t iFiber) const {return (*fPixelQuantumEfficiency)[iFiber];} Double_t PixelGain (Int_t iFiber) const {return (*fPixelGain)[iFiber];} Double_t PixelSigma (Int_t iFiber) const {return (*fPixelSigma)[iFiber];} Bool_t UseCrosstalks() const {return fUseCrosstalks;} void Crosstalks(Int_t iFiber, TArrayF& crosstalks) const; Int_t RowNofFibers() const {return fRowNofFibers;} private: TArrayF* fPixelQuantumEfficiency; TArrayF* fPixelGain; TArrayF* fPixelSigma; TArrayF* fPixelCrosstalks; TArrayF* fFiberCrosstalks; Int_t fNofPixels; Int_t fNofModules; Bool_t fUseCrosstalks; Int_t fRowNofFibers; ERNeuRadDigiPar(const ERNeuRadDigiPar&); ERNeuRadDigiPar& operator=(const ERNeuRadDigiPar&); ClassDef(ERNeuRadDigiPar,1) }; #endif // ERNEURADDIGIPAR_H
55  Double_t PixelQuantumEfficiency (Int_t iFiber) const {return (*fPixelQuantumEfficiency)[iFiber];}
56  Double_t PixelGain (Int_t iFiber) const {return (*fPixelGain)[iFiber];}
57  Double_t PixelSigma (Int_t iFiber) const {return (*fPixelSigma)[iFiber];}
58  Bool_t UseCrosstalks() const {return fUseCrosstalks;}
59  void Crosstalks(Int_t iFiber, TArrayF& crosstalks) const;
60  Int_t RowNofFibers() const {return fRowNofFibers;}
61 
62 private:
63 
64  TArrayF* fPixelQuantumEfficiency;
65  TArrayF* fPixelGain;
66  TArrayF* fPixelSigma;
67  TArrayF* fPixelCrosstalks;
68  TArrayF* fFiberCrosstalks;
69  Int_t fNofPixels;
70  Int_t fNofModules;
71  Bool_t fUseCrosstalks;
72  Int_t fRowNofFibers;
73 
75  ERNeuRadDigiPar& operator=(const ERNeuRadDigiPar&);
76 
77  ClassDef(ERNeuRadDigiPar,1)
78 };
79 
80 #endif // ERNEURADDIGIPAR_H
Int_t NofFibers() const
virtual ~ERNeuRadDigiPar()
virtual Bool_t init(FairParIo *input)
virtual void clear()
ERNeuRadDigiPar(const char *name="ERNeuRadDigiPar", const char *title="ERNeuRad Digitization Parameters", const char *context="Default")
virtual void print()