Jpp test-rotations-old
the software that should make you happy
Loading...
Searching...
No Matches
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::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}
#define DEBUG_MSG(str, lev)
boost::asio::io_service::strand strand_
Definition KM3NeT_DOM.h:53

◆ ~KM3NeT_DOM()

KM3NeT_DOM::~KM3NeT_DOM ( )
virtual

Definition at line 31 of file KM3NeT_DOM.cc.

32{
33 DEBUG_MSG("Destructor",3);
34}

Member Function Documentation

◆ Add_probe()

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}
void Add_probe(pProbe probe, std::size_t id, std::size_t threshold)
KM3NeT_Audio_Channel ch_n2
Definition KM3NeT_DOM.h:61
KM3NeT_Audio_Channel ch_n1
Definition KM3NeT_DOM.h:60

◆ Check_time_async()

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)); };
void Check_time(Audio_Header header)
Definition KM3NeT_DOM.cc:42

◆ Handle_samples_async()

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)); };
void Handle_samples(uint8_t *buffer, uint32_t length)
Definition KM3NeT_DOM.cc:65

◆ Set_test()

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);};
void Set_test(uint32_t id)

◆ Check_time()

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}
void Check_time(Audio_Header header)
Audio_Header header_
Definition KM3NeT_DOM.h:55
uint32_t audio_word_size_
Definition KM3NeT_DOM.h:58
DAQ_Common_Header Common_Header
union Info_Word::Info_Word_Bitfield Info
struct Info_Word::Info_Word_Bitfield::@0 Bits

◆ Handle_samples()

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}
#define BSWAP_64(x)
Definition KM3NeT_DOM.h:20
void Append(real_type sample)
uint8_t Samplig_Rate

Member Data Documentation

◆ DEBUG_LEVEL

const int KM3NeT_DOM::DEBUG_LEVEL =2
static

Definition at line 35 of file KM3NeT_DOM.h.

◆ strand_

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

Definition at line 53 of file KM3NeT_DOM.h.

◆ header_

Audio_Header KM3NeT_DOM::header_
private

Definition at line 55 of file KM3NeT_DOM.h.

◆ ch1_

bool KM3NeT_DOM::ch1_
private

Definition at line 56 of file KM3NeT_DOM.h.

◆ ch2_

bool KM3NeT_DOM::ch2_
private

Definition at line 57 of file KM3NeT_DOM.h.

◆ audio_word_size_

uint32_t KM3NeT_DOM::audio_word_size_
private

Definition at line 58 of file KM3NeT_DOM.h.

◆ ch_n1

KM3NeT_Audio_Channel KM3NeT_DOM::ch_n1
private

Definition at line 60 of file KM3NeT_DOM.h.

◆ ch_n2

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: