FEvent/Channel.h
Go to the documentation of this file.
1 #ifndef _fevt_Channel_h_
2 #define _fevt_Channel_h_
3 
4 #include <utl/ShadowPtr.h>
5 #include <fevt/ChannelSimData.h>
6 #include <fevt/ChannelRecData.h>
7 
8 
9 namespace fevt {
10 
11  class ChannelSimData;
12  class ChannelRecData;
13 
14 
24  class Channel {
25 
26  public:
28  enum Status {
29  eUnknown = 0,
36  };
37 
38  public:
39  unsigned int GetId() const { return fId; }
40  unsigned int GetTelescopeId() const { return fTelescopeId; }
41  unsigned int GetEyeId() const { return fEyeId; }
42 
44  const ChannelSimData& GetSimData() const { return *fSimData; }
45  void MakeSimData();
46  bool HasSimData() const { return bool(fSimData); }
47 
49  const ChannelRecData& GetRecData() const { return *fRecData; }
50  void MakeRecData();
51  bool HasRecData() const { return bool(fRecData); }
52 
53  void SetStatus(Status status) { fStatus = status; }
54  Status GetStatus() const { return fStatus; }
55 
56  private:
57  Channel(const unsigned int eyeId,
58  const unsigned int telescopeId,
59  const unsigned int channelId,
60  const Status status = eHasData)
61  : fId(channelId), fTelescopeId(telescopeId), fEyeId(eyeId), fStatus(status) { }
62  ~Channel() { }
63  void CorrectIds(const unsigned int eyeId, const unsigned int telescopeId)
64  { fTelescopeId = telescopeId; fEyeId = eyeId; }
65 
66  private:
67  unsigned int fId;
68  unsigned int fTelescopeId;
69  unsigned int fEyeId;
70 
73 
75 
76  friend class Telescope;
77 
78  };
79 
80 }
81 
82 
83 #endif
pointer with built-in initialization, deletion, deep copying
Definition: ShadowPtr.h:163
unsigned int GetEyeId() const
utl::ShadowPtr< ChannelRecData > fRecData
const ChannelRecData & GetRecData() const
bool HasRecData() const
ChannelRecData & GetRecData()
unsigned int fId
unsigned int GetId() const
void SetStatus(Status status)
Status GetStatus() const
Channel(const unsigned int eyeId, const unsigned int telescopeId, const unsigned int channelId, const Status status=eHasData)
Fluorescence Detector Channel Simulated Data Event.
ChannelSimData & GetSimData()
bool HasSimData() const
void CorrectIds(const unsigned int eyeId, const unsigned int telescopeId)
unsigned int fEyeId
utl::ShadowPtr< ChannelSimData > fSimData
unsigned int GetTelescopeId() const
Status
Possible (electronic) channel status.
Fluorescence Detector Channel Event.
Fluorescence Detector Channel Reconstructed Data Event.
void MakeSimData()
Fluorescence Detector Telescope Event.
unsigned int fTelescopeId
const ChannelSimData & GetSimData() const

, generated on Tue Sep 26 2023.