Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
daqdataformats::VERSION_NAMESPACE::RawNanoSlice Class Reference

Class to hold the data from the FEBs in correct formats. More...

#include "/cvmfs/nova-development.opensciencegrid.org/novasoft/releases/N20-11-30/DAQDataFormats/cxx/include/RawNanoSliceV0.h"

Inheritance diagram for daqdataformats::VERSION_NAMESPACE::RawNanoSlice:

Public Member Functions

 RawNanoSlice (const version_t)
 
 RawNanoSlice (const NanoSlice &)
 
 RawNanoSlice (const RawNanoSlice &)
 
 ~RawNanoSlice ()
 Destructor. More...
 
void init ()
 
void print (std::ostream &os=std::cout) const
 
uint32_t sizeofdata () const
 
bool setBufferSource (const void *pointer)
 
voidreadData (const void *pointer)
 
uint32_t getValue (const uint32_t) const
 
bool setValue (const uint32_t sample_number[[gnu::unused]], const uint32_t value)
 
uint32_t getValue1 () const
 
bool setValue1 (const uint32_t value)
 
uint32_t getNSamples () const
 Get total number of samples in the nanoslice. More...
 
uint32_t getNPretriggeredSamples () const
 Get number of pretriggered samples. More...
 
Encode_Type getEncodeType () const
 get the type of encoding for the samples in the nanoslice More...
 
 RawNanoSlice (const version_t)
 
 RawNanoSlice (const NanoSlice &)
 
 RawNanoSlice (const RawNanoSlice &)
 
 ~RawNanoSlice ()
 Destructor. More...
 
void init ()
 Initialization of the Data members. More...
 
void initWithData (const NanoSlice &)
 
void print (std::ostream &os=std::cout) const
 
uint32_t getReserved () const
 Get Reserved is not allowed for version 1, because there is no Reserved field. More...
 
bool setReserved (const uint32_t)
 Set for Reserved word is not allowed for version 1, because there is no Reserved field. More...
 
uint32_t getPulseHeight () const
 Get Pulse Height for version > 0 == Get Value1. More...
 
bool setPulseHeight (const uint32_t ph)
 Set Pulse Height for version > 0 == Set Value1. More...
 
bool setParameters (const NanoSlice &)
 Set method for all parameters of the NanoSlice. More...
 
bool checkReservedForCafe () const
 Check if the reserved word is 0xcafe is not allowed for version 1, because there is no Reserved field. More...
 
 IMPLEMENT_FIRST_GET_AND_SET (Value1, uint32_t)
 
 RawNanoSlice (const version_t)
 
 RawNanoSlice (const NanoSlice &)
 
 RawNanoSlice (const RawNanoSlice &)
 
 ~RawNanoSlice ()
 Destructor. More...
 
void init ()
 Initialization of the Data members. More...
 
void initWithData (const NanoSlice &)
 
uint32_t sizeofdata () const
 
void print (std::ostream &os=std::cout) const
 
bool setParameters (const NanoSlice &)
 Set method for all parameters of the NanoSlice. More...
 
uint32_t getValue1 () const
 
bool setValue1 (const uint32_t)
 
 INIT_FIRST (getValue, const, uint32_t, const uint32_t)
 
 INIT_FIRST (setValue,, bool, const uint32_t, const uint32_t)
 
 RawNanoSlice (const version_t)
 
 RawNanoSlice (const NanoSlice &)
 
 RawNanoSlice (const RawNanoSlice &)
 
 ~RawNanoSlice ()
 Destructor. More...
 
uint32_t sizeofdata () const
 
 RawNanoSlice (const version_t)
 
 RawNanoSlice (const NanoSlice &)
 
 RawNanoSlice (const RawNanoSlice &)
 
 ~RawNanoSlice ()
 Destructor. More...
 
uint32_t sizeofdata () const
 
 RawNanoSlice (const version_t)
 
 RawNanoSlice (const NanoSlice &)
 
 RawNanoSlice (const RawNanoSlice &)
 
 ~RawNanoSlice ()
 Destructor. More...
 
uint32_t sizeofdata () const
 

Protected Member Functions

 IMPLEMENT_FIRST_GET_AND_SET (PulseHeight, uint32_t)
 
 IMPLEMENT_FIRST_GET_AND_SET (TimeStamp, uint32_t)
 
 IMPLEMENT_FIRST_GET_AND_SET (Reserved, uint32_t)
 
 INIT_FIRST (initWithData,, void, const NanoSlice &)
 
 INIT_FIRST (setParameters,, bool, const NanoSlice &)
 
 INIT_FIRST (checkReservedForCafe, const, bool,)
 
 INIT_FIRST (initWithDataInternal,, void,)
 
uint32_t * getWordPointer (const uint32_t sample_number, uint32_t &mask, uint32_t &shift) const
 Returns pointer to the word, also mask and shift. More...
 

Protected Attributes

daqdataformats::RawNanoSliceHeader_Header
 The Nanoslice header pointer. More...
 

Detailed Description

Class to hold the data from the FEBs in correct formats.

The RawNanoSlice class is designed to mimic the format of the actual data block that the NOvA Front End6 Boards (FEBS) produce when they detect a signal above the zero suppression threshold.

The class supports general initialization with or with out data blocks as well as copyin style initialization for use with STL containers.

Pack and unpack methods for the data rely on two types of structured data blocks that are provided in association with the class.

The NanoSliceBlock structure breaks the raw data block out into its related high and low half words to give the headers, time stamps and pulseheight information

The NanoSliceHeader structure further breaks out the header blocks into the individual data information parts.

Definition at line 80 of file RawNanoSliceV0.h.

Constructor & Destructor Documentation

daqdataformats::VERSION_NAMESPACE::RawNanoSlice::RawNanoSlice ( const version_t  version)

Definition at line 24 of file RawNanoSliceV0.cpp.

24  :
25  RawDAQData(version, true)
26  ,ZEROOUT_GET_AND_SET(PulseHeight)
27  ,ZEROOUT_GET_AND_SET(TimeStamp)
28  ,ZEROOUT_GET_AND_SET(Reserved)
32  ,ZEROOUT_FUNCTION(initWithDataInternal)
33  ,_Header(NULL)
34 {}
#define ZEROOUT_FUNCTION(FUNC)
Definition: FunctionBind.h:52
daqdataformats::RawNanoSliceHeader * _Header
The Nanoslice header pointer.
#define ZEROOUT_GET_AND_SET(FUNC)
Definition: FunctionBind.h:56
const XML_Char * version
Definition: expat.h:187
bool setParameters(const NanoSlice &)
Set method for all parameters of the NanoSlice.
bool checkReservedForCafe() const
Check if the reserved word is 0xcafe is not allowed for version 1, because there is no Reserved field...
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::RawNanoSlice ( const NanoSlice nano)

Definition at line 36 of file RawNanoSliceV0.cpp.

36  :
37  RawDAQData(nano.Header.Version, true)
38  ,ZEROOUT_GET_AND_SET(PulseHeight)
39  ,ZEROOUT_GET_AND_SET(TimeStamp)
40  ,ZEROOUT_GET_AND_SET(Reserved)
44  ,ZEROOUT_FUNCTION(initWithDataInternal)
45  ,_Header(NULL)
46 {}
#define ZEROOUT_FUNCTION(FUNC)
Definition: FunctionBind.h:52
daqdataformats::RawNanoSliceHeader * _Header
The Nanoslice header pointer.
#define ZEROOUT_GET_AND_SET(FUNC)
Definition: FunctionBind.h:56
bool setParameters(const NanoSlice &)
Set method for all parameters of the NanoSlice.
bool checkReservedForCafe() const
Check if the reserved word is 0xcafe is not allowed for version 1, because there is no Reserved field...
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::RawNanoSlice ( const RawNanoSlice copyin)

Definition at line 49 of file RawNanoSliceV0.cpp.

49  :
50  RawDAQData(copyin)
51  ,DEEPCOPY_GET_AND_SET(PulseHeight)
52  ,DEEPCOPY_GET_AND_SET(TimeStamp)
53  ,DEEPCOPY_GET_AND_SET(Reserved)
57  ,DEEPCOPY_FUNCTION(initWithDataInternal)
58  ,_Header(NULL)
59 {
60 }
#define DEEPCOPY_FUNCTION(FUNC)
Definition: FunctionBind.h:40
#define DEEPCOPY_GET_AND_SET(FUNC)
Definition: FunctionBind.h:44
daqdataformats::RawNanoSliceHeader * _Header
The Nanoslice header pointer.
bool setParameters(const NanoSlice &)
Set method for all parameters of the NanoSlice.
bool checkReservedForCafe() const
Check if the reserved word is 0xcafe is not allowed for version 1, because there is no Reserved field...
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::~RawNanoSlice ( )

Destructor.

Definition at line 62 of file RawNanoSliceV0.cpp.

References _Header.

62  {
63  if(_Header)
64  delete _Header;
65 }
daqdataformats::RawNanoSliceHeader * _Header
The Nanoslice header pointer.
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::RawNanoSlice ( const version_t  )
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::RawNanoSlice ( const NanoSlice )
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::RawNanoSlice ( const RawNanoSlice )
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::~RawNanoSlice ( )

Destructor.

daqdataformats::VERSION_NAMESPACE::RawNanoSlice::RawNanoSlice ( const version_t  )
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::RawNanoSlice ( const NanoSlice )
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::RawNanoSlice ( const RawNanoSlice )
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::~RawNanoSlice ( )

Destructor.

daqdataformats::VERSION_NAMESPACE::RawNanoSlice::RawNanoSlice ( const version_t  )
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::RawNanoSlice ( const NanoSlice )
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::RawNanoSlice ( const RawNanoSlice )
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::~RawNanoSlice ( )

Destructor.

daqdataformats::VERSION_NAMESPACE::RawNanoSlice::RawNanoSlice ( const version_t  )
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::RawNanoSlice ( const NanoSlice )
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::RawNanoSlice ( const RawNanoSlice )
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::~RawNanoSlice ( )

Destructor.

daqdataformats::VERSION_NAMESPACE::RawNanoSlice::RawNanoSlice ( const version_t  )
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::RawNanoSlice ( const NanoSlice )
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::RawNanoSlice ( const RawNanoSlice )
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::~RawNanoSlice ( )

Destructor.

Member Function Documentation

bool daqdataformats::VERSION_NAMESPACE::RawNanoSlice::checkReservedForCafe ( ) const
inline

Check if the reserved word is 0xcafe is not allowed for version 1, because there is no Reserved field.

Definition at line 86 of file RawNanoSliceV1.h.

References GENERATE_FUNCTION_IS_NOT_ALLOWED, and IMPLEMENT_FIRST_GET_AND_SET.

Referenced by initWithData().

#define GENERATE_FUNCTION_IS_NOT_ALLOWED
calling functionIsNotAllowed
Definition: RawDAQData.h:21
Encode_Type daqdataformats::VERSION_NAMESPACE::RawNanoSlice::getEncodeType ( ) const

get the type of encoding for the samples in the nanoslice

Definition at line 167 of file RawNanoSliceV0.cpp.

References samweb_client.client::_version, and daqdataformats::NanoSliceVersionConvention::getEncodeType().

168 {
169  if(!fNanoSliceVersionConvention)fNanoSliceVersionConvention = new NanoSliceVersionConvention();
171 }
Encode_Type getEncodeType(const version_t ver) const
Get the encoding type.
static NanoSliceVersionConvention * fNanoSliceVersionConvention
uint32_t daqdataformats::VERSION_NAMESPACE::RawNanoSlice::getNPretriggeredSamples ( ) const

Get number of pretriggered samples.

Definition at line 161 of file RawNanoSliceV0.cpp.

References samweb_client.client::_version, and daqdataformats::NanoSliceVersionConvention::getNPretriggeredSamples().

162 {
163  if(!fNanoSliceVersionConvention)fNanoSliceVersionConvention = new NanoSliceVersionConvention();
165 }
uint32_t getNPretriggeredSamples(const version_t ver) const
Get number of pretriggered samples.
static NanoSliceVersionConvention * fNanoSliceVersionConvention
uint32_t daqdataformats::VERSION_NAMESPACE::RawNanoSlice::getNSamples ( ) const

Get total number of samples in the nanoslice.

Definition at line 155 of file RawNanoSliceV0.cpp.

References samweb_client.client::_version, and daqdataformats::NanoSliceVersionConvention::getNSamples().

Referenced by getWordPointer().

156 {
157  if(!fNanoSliceVersionConvention)fNanoSliceVersionConvention = new NanoSliceVersionConvention();
159 }
uint32_t getNSamples(const version_t ver) const
Get the number of samples.
static NanoSliceVersionConvention * fNanoSliceVersionConvention
uint32_t daqdataformats::VERSION_NAMESPACE::RawNanoSlice::getPulseHeight ( ) const
inline

Get Pulse Height for version > 0 == Get Value1.

Definition at line 77 of file RawNanoSliceV1.h.

Referenced by print().

77 { return getValue1();}
uint32_t daqdataformats::VERSION_NAMESPACE::RawNanoSlice::getReserved ( ) const
inline

Get Reserved is not allowed for version 1, because there is no Reserved field.

Definition at line 73 of file RawNanoSliceV1.h.

References GENERATE_FUNCTION_IS_NOT_ALLOWED.

Referenced by initWithData(), and print().

#define GENERATE_FUNCTION_IS_NOT_ALLOWED
calling functionIsNotAllowed
Definition: RawDAQData.h:21
uint32_t daqdataformats::VERSION_NAMESPACE::RawNanoSlice::getValue ( const uint32_t  sample_number) const
inline

The meaning of the value could be different. It could be DCS

Definition at line 104 of file RawNanoSliceV0.h.

References RETURN_FUNCTION.

Referenced by getWordPointer().

uint32_t getPulseHeight() const
Get Pulse Height for version > 0 == Get Value1.
#define RETURN_FUNCTION(FULLFUNCTIONNAME)
Definition: Macros.h:57
uint32_t daqdataformats::VERSION_NAMESPACE::RawNanoSlice::getValue1 ( ) const
inline

Definition at line 79 of file RawNanoSliceV2.h.

References GENERATE_FUNCTION_IS_NOT_ALLOWED.

#define GENERATE_FUNCTION_IS_NOT_ALLOWED
calling functionIsNotAllowed
Definition: RawDAQData.h:21
uint32_t daqdataformats::VERSION_NAMESPACE::RawNanoSlice::getValue1 ( ) const
inline

Definition at line 107 of file RawNanoSliceV0.h.

References RETURN_FUNCTION.

uint32_t getPulseHeight() const
Get Pulse Height for version > 0 == Get Value1.
#define RETURN_FUNCTION(FULLFUNCTIONNAME)
Definition: Macros.h:57
uint32_t * daqdataformats::VERSION_NAMESPACE::RawNanoSlice::getWordPointer ( const uint32_t  sample_number,
uint32_t &  mask,
uint32_t &  shift 
) const
protected
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::IMPLEMENT_FIRST_GET_AND_SET ( Value1  ,
uint32_t   
)
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::IMPLEMENT_FIRST_GET_AND_SET ( PulseHeight  ,
uint32_t   
)
protected
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::IMPLEMENT_FIRST_GET_AND_SET ( TimeStamp  ,
uint32_t   
)
protected
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::IMPLEMENT_FIRST_GET_AND_SET ( Reserved  ,
uint32_t   
)
protected
void daqdataformats::VERSION_NAMESPACE::RawNanoSlice::init ( )

Initialization of the Data members.

Referenced by demo.App::__init__(), testem0.App::__init__(), Lesson1.App::__init__(), and ExN03.App::__init__().

void daqdataformats::VERSION_NAMESPACE::RawNanoSlice::init ( )

Initialization of the Data members.

Referenced by demo.App::__init__(), testem0.App::__init__(), Lesson1.App::__init__(), and ExN03.App::__init__().

void daqdataformats::VERSION_NAMESPACE::RawNanoSlice::init ( )

After using resetBufferSource header is already constructed Now we need to initialize it

Initialize the Reserved word to 0xCAFE (for version 0)

After using resetBufferSource header is already constructed Now we need to initialize it

After using resetBufferSource header is already constructed Now we need to initialize it

Definition at line 69 of file RawNanoSliceV0.cpp.

References _Header, daqdataformats::VERSION_NAMESPACE::CURRENT_FIELDS_SUB_NAMESPACE::cafe_word, EXECUTE_FUNCTION, and setReserved().

Referenced by demo.App::__init__(), testem0.App::__init__(), Lesson1.App::__init__(), and ExN03.App::__init__().

69  {
70 
71  /// After using resetBufferSource header is already constructed
72  /// Now we need to initialize it
73  _Header->init();
74 
75  /// Initialize the Reserved word to 0xCAFE (for version 0)
77 }
#define EXECUTE_FUNCTION(FULLFUNCTIONNAME)
Execute and return the delegate.
Definition: Macros.h:54
daqdataformats::RawNanoSliceHeader * _Header
The Nanoslice header pointer.
bool setReserved(const uint32_t)
Set for Reserved word is not allowed for version 1, because there is no Reserved field.
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::INIT_FIRST ( getValue  ,
const  ,
uint32_t  ,
const uint32_t   
)
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::INIT_FIRST ( setValue  ,
bool  ,
const uint32_t  ,
const uint32_t   
)
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::INIT_FIRST ( initWithData  ,
void  ,
const NanoSlice  
)
protected
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::INIT_FIRST ( setParameters  ,
bool  ,
const NanoSlice  
)
protected
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::INIT_FIRST ( checkReservedForCafe  ,
const  ,
bool   
)
protected
daqdataformats::VERSION_NAMESPACE::RawNanoSlice::INIT_FIRST ( initWithDataInternal  ,
void   
)
protected
void daqdataformats::VERSION_NAMESPACE::RawNanoSlice::initWithData ( const NanoSlice nanoslice_parameters)

After using resetBufferSource header is already constructed Now we need to initialize it

Initialize the Reserved word to 0xCAFE (for version 0)

Additionally, set TimeStamp and PulseHeight from nanoslice_parameters

After using resetBufferSource header is already constructed Now we need to initialize it

After using resetBufferSource header is already constructed Now we need to initialize it

Definition at line 80 of file RawNanoSliceV0.cpp.

References _Header, daqdataformats::VERSION_NAMESPACE::CURRENT_FIELDS_SUB_NAMESPACE::cafe_word, checkReservedForCafe(), EXECUTE_FUNCTION, getReserved(), daqdataformats::NanoSlice::Header, daqdataformats::NanoSlice::PulseHeight, setPulseHeight(), setReserved(), and daqdataformats::NanoSlice::TimeStamp.

80  {
81 
82  /// After using resetBufferSource header is already constructed
83  /// Now we need to initialize it
84  _Header->initWithData(nanoslice_parameters.Header);
85 
86  /// Initialize the Reserved word to 0xCAFE (for version 0)
88 
89  /// Additionally, set TimeStamp and PulseHeight from nanoslice_parameters
90  EXECUTE_FUNCTION(setTimeStamp) (nanoslice_parameters.TimeStamp);
91  EXECUTE_FUNCTION(setPulseHeight)(nanoslice_parameters.PulseHeight);
92 }
#define EXECUTE_FUNCTION(FULLFUNCTIONNAME)
Execute and return the delegate.
Definition: Macros.h:54
daqdataformats::RawNanoSliceHeader * _Header
The Nanoslice header pointer.
bool setPulseHeight(const uint32_t ph)
Set Pulse Height for version > 0 == Set Value1.
bool setReserved(const uint32_t)
Set for Reserved word is not allowed for version 1, because there is no Reserved field.
void daqdataformats::VERSION_NAMESPACE::RawNanoSlice::initWithData ( const NanoSlice )
void daqdataformats::VERSION_NAMESPACE::RawNanoSlice::print ( std::ostream &  os = std::cout) const
void daqdataformats::VERSION_NAMESPACE::RawNanoSlice::print ( std::ostream &  os = std::cout) const
void daqdataformats::VERSION_NAMESPACE::RawNanoSlice::print ( std::ostream &  os = std::cout) const

Definition at line 125 of file RawNanoSliceV0.cpp.

References _Header, allTimeWatchdog::endl, EXECUTE_FUNCTION, novadaq::HexUtils::format(), getPulseHeight(), getReserved(), MECModelEnuComparisons::i, and sizeofdata().

Referenced by getWordPointer().

125  {
126 
127  _Header->print(os);
128 
129  os<<boost::format(" NanoSlice Body: TimeStamp=%u PulseHeight=%u Reserved=%u ")
130  %EXECUTE_FUNCTION(getTimeStamp)()
133 
134  const uint32_t size_of_data = EXECUTE_FUNCTION(sizeofdata)();
135 
136  os<<"Data size = "<<size_of_data<<"\n";
137 
138 
139  os<<"\nRAW(hex):";
140  for(uint32_t i = 0; i < size_of_data; ++i){
141  printWord(i,false, os);
142  os<<" ";
143  }
144 
145  os<<"\nRAW(binary):";
146  for(uint32_t i = 0; i < size_of_data; ++i){
147  if(i > 0)os<<" ";
148  printWord(i,true, os);
149  os<<std::endl;
150  }
151 }
#define EXECUTE_FUNCTION(FULLFUNCTIONNAME)
Execute and return the delegate.
Definition: Macros.h:54
uint32_t getPulseHeight() const
Get Pulse Height for version > 0 == Get Value1.
daqdataformats::RawNanoSliceHeader * _Header
The Nanoslice header pointer.
std::string format(const int32_t &value, const int &ndigits=8)
Definition: HexUtils.cpp:14
uint32_t getReserved() const
Get Reserved is not allowed for version 1, because there is no Reserved field.
void* daqdataformats::VERSION_NAMESPACE::RawNanoSlice::readData ( const void pointer)
inline

Definition at line 98 of file RawNanoSliceV0.h.

References daqdataformats::RawDAQData::readDataGeneral().

Referenced by PandAna.core.core.loader::Go().

98 {return RawDAQData::readDataGeneral(pointer);};
void * readDataGeneral(const void *buffer)
General ReadData method when the sizeofdata is known.
Definition: RawDAQData.cpp:186
bool daqdataformats::VERSION_NAMESPACE::RawNanoSlice::setBufferSource ( const void pointer)

If Header is already defined, then set its buffer source Otherwise, need to construct it

< version of the NanoSliceHeader equals the version of the NanoSlice

Definition at line 110 of file RawNanoSliceV0.cpp.

References _Header, and samweb_client.client::_version.

110  {
111 
112  _Buffer = (void*)pointer;
113 
114  /// If Header is already defined, then set its buffer source
115  /// Otherwise, need to construct it
116  if(_Header)return _Header->setBufferSource(pointer);
117 
118  _Header = new daqdataformats::RawNanoSliceHeader(pointer, _version); ///< version of the NanoSliceHeader equals the version of the NanoSlice
119 
120  return true;
121 }
daqdataformats::RawNanoSliceHeader * _Header
The Nanoslice header pointer.
bool daqdataformats::VERSION_NAMESPACE::RawNanoSlice::setParameters ( const NanoSlice )

Set method for all parameters of the NanoSlice.

bool daqdataformats::VERSION_NAMESPACE::RawNanoSlice::setParameters ( const NanoSlice nanoslice_parameters)

Set method for all parameters of the NanoSlice.

At this point header must be already defined

Definition at line 99 of file RawNanoSliceV0.cpp.

References _Header, EXECUTE_FUNCTION, daqdataformats::NanoSlice::Header, daqdataformats::NanoSlice::PulseHeight, setPulseHeight(), and daqdataformats::NanoSlice::TimeStamp.

99  {
100  EXECUTE_FUNCTION(setTimeStamp) (nanoslice_parameters.TimeStamp);
101  EXECUTE_FUNCTION(setPulseHeight)(nanoslice_parameters.PulseHeight);
102 
103  /// At this point header must be already defined
104  _Header->setParameters(nanoslice_parameters.Header);
105 
106  return true;
107 }
#define EXECUTE_FUNCTION(FULLFUNCTIONNAME)
Execute and return the delegate.
Definition: Macros.h:54
daqdataformats::RawNanoSliceHeader * _Header
The Nanoslice header pointer.
bool setPulseHeight(const uint32_t ph)
Set Pulse Height for version > 0 == Set Value1.
bool daqdataformats::VERSION_NAMESPACE::RawNanoSlice::setPulseHeight ( const uint32_t  ph)
inline

Set Pulse Height for version > 0 == Set Value1.

Definition at line 79 of file RawNanoSliceV1.h.

Referenced by initWithData(), and setParameters().

79 { return setValue1(ph);}
bool daqdataformats::VERSION_NAMESPACE::RawNanoSlice::setReserved ( const uint32_t  )
inline

Set for Reserved word is not allowed for version 1, because there is no Reserved field.

Definition at line 75 of file RawNanoSliceV1.h.

References GENERATE_FUNCTION_IS_NOT_ALLOWED.

Referenced by init(), and initWithData().

#define GENERATE_FUNCTION_IS_NOT_ALLOWED
calling functionIsNotAllowed
Definition: RawDAQData.h:21
bool daqdataformats::VERSION_NAMESPACE::RawNanoSlice::setValue ( const uint32_t sample_number]  [[gnu::unused],
const uint32_t  value 
)
inline

Definition at line 105 of file RawNanoSliceV0.h.

References RETURN_FUNCTION.

#define RETURN_FUNCTION(FULLFUNCTIONNAME)
Definition: Macros.h:57
const XML_Char int const XML_Char * value
Definition: expat.h:331
bool setPulseHeight(const uint32_t ph)
Set Pulse Height for version > 0 == Set Value1.
bool daqdataformats::VERSION_NAMESPACE::RawNanoSlice::setValue1 ( const uint32_t  )
inline

Definition at line 80 of file RawNanoSliceV2.h.

References GENERATE_FUNCTION_IS_NOT_ALLOWED, INIT_FIRST, and lem_server::mask.

#define GENERATE_FUNCTION_IS_NOT_ALLOWED
calling functionIsNotAllowed
Definition: RawDAQData.h:21
bool daqdataformats::VERSION_NAMESPACE::RawNanoSlice::setValue1 ( const uint32_t  value)
inline

Definition at line 108 of file RawNanoSliceV0.h.

References IMPLEMENT_FIRST_GET_AND_SET, INIT_FIRST, and RETURN_FUNCTION.

#define RETURN_FUNCTION(FULLFUNCTIONNAME)
Definition: Macros.h:57
const XML_Char int const XML_Char * value
Definition: expat.h:331
bool setPulseHeight(const uint32_t ph)
Set Pulse Height for version > 0 == Set Value1.
uint32_t daqdataformats::VERSION_NAMESPACE::RawNanoSlice::sizeofdata ( ) const
inline
uint32_t daqdataformats::VERSION_NAMESPACE::RawNanoSlice::sizeofdata ( ) const
inline
uint32_t daqdataformats::VERSION_NAMESPACE::RawNanoSlice::sizeofdata ( ) const
inline
uint32_t daqdataformats::VERSION_NAMESPACE::RawNanoSlice::sizeofdata ( ) const
inline
uint32_t daqdataformats::VERSION_NAMESPACE::RawNanoSlice::sizeofdata ( ) const
inline

Member Data Documentation

daqdataformats::RawNanoSliceHeader* daqdataformats::VERSION_NAMESPACE::RawNanoSlice::_Header
protected

The Nanoslice header pointer.

Definition at line 130 of file RawNanoSliceV0.h.

Referenced by getWordPointer(), init(), initWithData(), print(), setBufferSource(), setParameters(), and ~RawNanoSlice().


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