FDetector/Channel.h
Go to the documentation of this file.
1 #ifndef __fdet_Channel_h__
2 #define __fdet_Channel_h__
3 
4 #include <string>
5 
6 namespace utl {
7  class Vector;
8  class TabulatedFunction;
9 }
10 
11 
12 namespace fdet {
13 
14  class Telescope;
15 
24  class Channel {
25 
26  public:
27  unsigned int GetId() const { return fChannelId; }
28  unsigned int GetPixelId() const;
29  unsigned int GetTelescopeId() const { return fTelescopeId; }
30  unsigned int GetEyeId() const { return fEyeId; }
31 
32  bool IsVirtual() const;
33  unsigned int GetVirtualChannelId() const;
34 
35  // detector properties from xml datacard
36  double GetElectronicsGain() const;
37  int GetFLTBoxcarSumLength() const;
38  int GetFLTProlongation() const;
39  int GetSLTTriggerBin() const;
40  double GetGainVariance() const;
41  double GetElectronicNoiseVariance() const;
42 
43  int GetFADCTraceLength() const;
44  double GetFADCBinSize() const;
45 
46  // dynamic properties
47  double GetADCVariance() const;
48  double GetThreshold() const;
49  double GetBaseline() const;
50 
51  void Update() const;
52 
53  private:
54  Channel(const unsigned int eyeId,
55  const unsigned int telescopeId,
56  const unsigned int channelId,
57  const std::string& physEyeIdString,
58  const std::string& physTelIdString);
59  ~Channel();
60  // prevent copying
61  Channel(const Channel&);
62  Channel& operator=(const Channel&);
63 
64  unsigned int fChannelId;
65  unsigned int fTelescopeId;
66  unsigned int fEyeId;
67  std::string fPhysicalEyeIdString;
69  std::string fChannelIdStr;
70 
71  template<typename T> inline const T& GetChannelData(T*& requestedData,
72  const std::string& property,
73  const std::string& component,
74  const std::string& errorMsg) const;
75  template<typename T> inline void GetChannelData(T& requestedData,
76  const std::string& property,
77  const std::string& component,
78  const std::string& errorMsg) const;
79 
80  mutable double *fADCVariance;
81  mutable double *fThreshold;
82  mutable double *fBaseline;
83 
84  friend class Telescope;
85 
86  };
87 
88 }
89 
90 
91 #endif
double GetThreshold() const
Channel & operator=(const Channel &)
int GetSLTTriggerBin() const
double GetBaseline() const
Description of the electronic channel for the 480 channels of the crate.
std::string fPhysicalTelescopeIdString
Channel(const unsigned int eyeId, const unsigned int telescopeId, const unsigned int channelId, const std::string &physEyeIdString, const std::string &physTelIdString)
std::string fChannelIdStr
void Update() const
double GetElectronicNoiseVariance() const
bool IsVirtual() const
double GetElectronicsGain() const
unsigned int fChannelId
double * fADCVariance
int GetFLTBoxcarSumLength() const
unsigned int GetTelescopeId() const
int GetFADCTraceLength() const
unsigned int GetId() const
double GetGainVariance() const
unsigned int fTelescopeId
int GetFLTProlongation() const
Detector description interface for Telescope-related data.
double GetFADCBinSize() const
unsigned int GetVirtualChannelId() const
unsigned int fEyeId
std::string fPhysicalEyeIdString
double GetADCVariance() const
unsigned int GetEyeId() const
const T & GetChannelData(T *&requestedData, const std::string &property, const std::string &component, const std::string &errorMsg) const
unsigned int GetPixelId() const

, generated on Tue Sep 26 2023.