Jpp  16.0.2
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
KM3NeT_DOM Class Reference

#include <KM3NeT_DOM.h>

Public Member Functions

 KM3NeT_DOM (boost::asio::io_service &io_service, callback_send_toa callback, std::string &debug_path, std::size_t window=STD_WINDOW, std::size_t overlap=STD_OVERLAP)
 
virtual ~KM3NeT_DOM ()
 
void Add_probe (pProbe probe, std::size_t id, std::size_t threshold)
 
void Check_time_async (Audio_Header header)
 
void Handle_samples_async (uint8_t *buffer, uint32_t length)
 
void Set_test (uint32_t id)
 

Static Public Attributes

static const int DEBUG_LEVEL =2
 

Private Member Functions

void Check_time (Audio_Header header)
 
void Handle_samples (uint8_t *buffer, uint32_t length)
 

Private Attributes

boost::asio::io_service::strand strand_
 
Audio_Header header_
 
bool ch1_
 
bool ch2_
 
uint32_t audio_word_size_
 
KM3NeT_Audio_Channel ch_n1
 
KM3NeT_Audio_Channel ch_n2
 

Detailed Description

Definition at line 32 of file KM3NeT_DOM.h.

Constructor & Destructor Documentation

KM3NeT_DOM::KM3NeT_DOM ( boost::asio::io_service &  io_service,
callback_send_toa  callback,
std::string &  debug_path,
std::size_t  window = STD_WINDOW,
std::size_t  overlap = STD_OVERLAP 
)

Definition at line 17 of file KM3NeT_DOM.cc.

22  : strand_(io_service),\
23  ch_n1(io_service,callback,1,debug_path,window,overlap),\
24  ch_n2(io_service,callback,2,debug_path,window,overlap)
25 
26 
27 {
28  DEBUG_MSG("Constructor",3);
29 }
KM3NeT_Audio_Channel ch_n1
Definition: KM3NeT_DOM.h:60
boost::asio::io_service::strand strand_
Definition: KM3NeT_DOM.h:53
bool overlap(const JRange< T, JComparator_t > &first, const JRange< T, JComparator_t > &second)
Test overlap between ranges.
Definition: JRange.hh:650
KM3NeT_Audio_Channel ch_n2
Definition: KM3NeT_DOM.h:61
#define DEBUG_MSG(str, lev)
Definition: KM3NeT_DOM.cc:14
KM3NeT_DOM::~KM3NeT_DOM ( )
virtual

Definition at line 31 of file KM3NeT_DOM.cc.

32 {
33  DEBUG_MSG("Destructor",3);
34 }
#define DEBUG_MSG(str, lev)
Definition: KM3NeT_DOM.cc:14

Member Function Documentation

void KM3NeT_DOM::Add_probe ( pProbe  probe,
std::size_t  id,
std::size_t  threshold 
)

Definition at line 36 of file KM3NeT_DOM.cc.

37 {
38  ch_n1.Add_probe(probe,id,threshold);
39  ch_n2.Add_probe(probe,id,threshold);
40 }
KM3NeT_Audio_Channel ch_n1
Definition: KM3NeT_DOM.h:60
void Add_probe(pProbe probe, std::size_t id, std::size_t threshold)
KM3NeT_Audio_Channel ch_n2
Definition: KM3NeT_DOM.h:61
void KM3NeT_DOM::Check_time_async ( Audio_Header  header)
inline

Definition at line 45 of file KM3NeT_DOM.h.

45 { strand_.post(boost::bind(&KM3NeT_DOM::Check_time,this,header)); };
boost::asio::io_service::strand strand_
Definition: KM3NeT_DOM.h:53
void Check_time(Audio_Header header)
Definition: KM3NeT_DOM.cc:42
void KM3NeT_DOM::Handle_samples_async ( uint8_t *  buffer,
uint32_t  length 
)
inline

Definition at line 46 of file KM3NeT_DOM.h.

46 { strand_.post(boost::bind(&KM3NeT_DOM::Handle_samples,this,buffer,length)); };
boost::asio::io_service::strand strand_
Definition: KM3NeT_DOM.h:53
void Handle_samples(uint8_t *buffer, uint32_t length)
Definition: KM3NeT_DOM.cc:65
void KM3NeT_DOM::Set_test ( uint32_t  id)
inline

Definition at line 48 of file KM3NeT_DOM.h.

48 {ch_n1.Set_test(id);ch_n2.Set_test(id);};
KM3NeT_Audio_Channel ch_n1
Definition: KM3NeT_DOM.h:60
void Set_test(uint32_t id)
KM3NeT_Audio_Channel ch_n2
Definition: KM3NeT_DOM.h:61
void KM3NeT_DOM::Check_time ( Audio_Header  header)
private

Definition at line 42 of file KM3NeT_DOM.cc.

43 {
44  DEBUG_MSG("CK time",1);
45 
46  header_=header;
49 
50  ch1_=ch2_=false;
53  {
54  ch1_=true;
55  ch2_=true;
58  }
59  else if (header_.Info.Info.Bits.ChannelsSent==1) ch1_=true;
60  else ch2_=true;
63 }
KM3NeT_Audio_Channel ch_n1
Definition: KM3NeT_DOM.h:60
struct Info_Word::Info_Word_Bitfield::@0 Bits
uint32_t audio_word_size_
Definition: KM3NeT_DOM.h:58
Audio_Header header_
Definition: KM3NeT_DOM.h:55
Info_Word Info
bool ch1_
Definition: KM3NeT_DOM.h:56
uint32_t Time_Stamp_seconds
DAQ_Common_Header Common_Header
union Info_Word::Info_Word_Bitfield Info
KM3NeT_Audio_Channel ch_n2
Definition: KM3NeT_DOM.h:61
bool ch2_
Definition: KM3NeT_DOM.h:57
#define DEBUG_MSG(str, lev)
Definition: KM3NeT_DOM.cc:14
void Check_time(Audio_Header header)
void KM3NeT_DOM::Handle_samples ( uint8_t *  buffer,
uint32_t  length 
)
private

Definition at line 65 of file KM3NeT_DOM.cc.

66 {
67  DEBUG_MSG("Hsample",1);
68  uint8_t* l_dummy=buffer;
69  uint8_t l_shift1;
70  uint8_t l_shift2;
71  uint64_t l_mask1;
72  uint64_t l_mask2;
73  real_type l_max=2147483648.;
74 
76  {
77  l_mask1=0x00FFF00000000000;
78  l_mask2=0x00000FFF00000000;
79  l_shift1=24;
80  l_shift2=12;
81  }
83  {
84  l_mask1=0x00FFFF0000000000;
85  l_mask2=0x000000FFFF000000;
86  l_shift1=24;
87  l_shift2=8;
88  }
89  else
90  {
91  l_mask1=0x00FFFFFF00000000;
92  l_mask2=0x00000000FFFFFF00;
93  l_shift1=24;
94  l_shift2=0;
95  }
96 
97  uint32_t l_k=0;
98  int64_t l_audio_w;
99  if(header_.Info.Samplig_Rate != 0){
101  {
102  l_audio_w= BSWAP_64(*((int64_t*)buffer));
103  if(ch1_) ch_n1.Append((real_type) ((int32_t)(((l_audio_w) & l_mask1) >> l_shift1 ))/l_max);
104  if(ch2_) ch_n2.Append((real_type) ((int32_t)(((l_audio_w) & l_mask2) >> l_shift2 ))/l_max);
105  l_k++;
106  buffer+=audio_word_size_;
107  }
108  }
109  free(l_dummy);
110 }
KM3NeT_Audio_Channel ch_n1
Definition: KM3NeT_DOM.h:60
struct Info_Word::Info_Word_Bitfield::@0 Bits
uint32_t audio_word_size_
Definition: KM3NeT_DOM.h:58
void Append(real_type sample)
Audio_Header header_
Definition: KM3NeT_DOM.h:55
uint8_t Samplig_Rate
Info_Word Info
bool ch1_
Definition: KM3NeT_DOM.h:56
#define BSWAP_64(x)
Definition: KM3NeT_DOM.h:20
DAQ_Common_Header Common_Header
union Info_Word::Info_Word_Bitfield Info
KM3NeT_Audio_Channel ch_n2
Definition: KM3NeT_DOM.h:61
bool ch2_
Definition: KM3NeT_DOM.h:57
#define DEBUG_MSG(str, lev)
Definition: KM3NeT_DOM.cc:14

Member Data Documentation

const int KM3NeT_DOM::DEBUG_LEVEL =2
static

Definition at line 35 of file KM3NeT_DOM.h.

boost::asio::io_service::strand KM3NeT_DOM::strand_
private

Definition at line 53 of file KM3NeT_DOM.h.

Audio_Header KM3NeT_DOM::header_
private

Definition at line 55 of file KM3NeT_DOM.h.

bool KM3NeT_DOM::ch1_
private

Definition at line 56 of file KM3NeT_DOM.h.

bool KM3NeT_DOM::ch2_
private

Definition at line 57 of file KM3NeT_DOM.h.

uint32_t KM3NeT_DOM::audio_word_size_
private

Definition at line 58 of file KM3NeT_DOM.h.

KM3NeT_Audio_Channel KM3NeT_DOM::ch_n1
private

Definition at line 60 of file KM3NeT_DOM.h.

KM3NeT_Audio_Channel KM3NeT_DOM::ch_n2
private

Definition at line 61 of file KM3NeT_DOM.h.


The documentation for this class was generated from the following files: