Skip to content

Conversation

@matthiasrichter
Copy link
Collaborator

  • Generic methods to convert a string to a uint of variable size, basically it allows to change
String2uint64("DESCRIPTION") -> String2<uint64_t>("DESCRIPTION")

It goes through the same template code for all types.

  • Generic implementation for N-byte descriptors, using it for the DataOrigin
  • Adding also a type conversion operator for AliceO2::Header::Block to extract the first BaseHeader

@mkrzewic
Copy link
Contributor

mkrzewic commented Jan 20, 2017

Hi Matthias, it looks good! I'm just wondering about the type conversion to BaseHeader, I think we should not expose BaseHeader directly, unless maybe in some internal implementation. MAybe a first step would be to generalize it a bit like this:

-  operator const BaseHeader*() const {return BaseHeader::get(buffer.get());}
+  template<typename T>
+  operator const T*() const {return get<T>(buffer.get());}

and then think if we can maybe hide the base class completely (at least in Header::Block API which is the public interface, some static_assert maybe), otherwise it becomes tempting to try to dynamic_cast stuff here...

@matthiasrichter
Copy link
Collaborator Author

Hi Mikolaj,good point.Its probably a good idea not to make base header that visible. I will have a second look.Ciao Matthias

Implements a generic container for the union of a char and a
uint element of the same size. Simple definition of 1 to 8 byte
decriptors. The generalization for more than 8 bytes can be activated
later once an appropriate test setup is available.
Copy link
Collaborator Author

@matthiasrichter matthiasrichter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have removed the type cast operator for AliceO2::Header::Block. We will first think a bit longer about this matter. I did a forced push to my fork, the respective code has been removed from the updated commits.

The PR is ready for merge now.

@MohammadAlTurany MohammadAlTurany merged commit 0bd9a6f into AliceO2Group:dev Jan 23, 2017
knopers8 pushed a commit to knopers8/AliceO2 that referenced this pull request Sep 7, 2020
* Added draft MCH module

* First implementation of SAMPA pedestals analysis

* Implemented decoding and mapping classes

Also added examples of detector-view histograms

* Fixed compilation warnings

* Added skeleton of physics data analysis

* Added pedestals histograms in detector coordinates

* [MCH] added draft decoder for User Logic data

* [MCH] added reading of temporary CRU mapping file

* [MCH] various improvements

Added saving of histograms to ROOT file on local filesystem (temporary patch)
Added support for drawing detectors outline on the ROOT plots
Tests of detectors/electronics mapping

* [MCH] updated tasks

* Renamed MCH Modules folder

* [MCH] implemented mapping into data decoder

* [MCH] moved mapping into data decoder and updated histograms

* [MCH] moved mapping into data decoder and updated histograms

* [MCH] moved location of all accessory files to /tmp

* [MCH] split CRUs and FECs mapping into separate files

* [MCH] added preliminary detector contour drawing code in pedestals checker

* [MCH] added example for retrieving the CRU mapping from the decoder class

* Ajout boucle sur de's, compile sans fonctionner

* Updated loop, plots histograms, issues on NHitsDE and NHitsHighAmplDE

* Adapted RawDataProcessor, corrected PhyDP, DE-specific histograms still empty

* [MCH] improved drawing of detector contours

* [MCH] enabled mapping for commissioning

* [MCH] reduced verbosity level

* [MCH] added checks for histograms in XY detector coordinates

* Decommenting PadReading

* Added file reader executable

The new executable reads data from a binary input file and sends the contents to QC via DPL.
The input data file must be filled with contiguous RDH blocks of 8 kB. Each block is read from the file and sent out via DPL.
The output format is the same as the one of the readout proxy executable, so that it should be possible to transparently use either of the two data providers without changing the QC side.

* RawDataProcessor, added call to readPadMapping2 via mMapFEC object

* MuonChambersMapping, definition of readPadMapping, allows to get pads infos on a given DE

* Removal of readPadMapping and of DE number hardcoding

* [MCH] commented out unnecessary MapFEC member

* [MCH] fixed mistake in CRU mapping load

* [MCH] removed unnecessary use of MapFEC object and removed DS-specific histograms

* [MCH] Small change in histogram title

* Added search and display of missing DS

* Typos corrected

* Debugging of MCHCheckPedestals (for clear marking of failing DSs)

* Implementation of Preclustering and Clustering from O2 in QC

* Computation of cluster sizes and charge histograms

* Commenting faulty cluster size and charge histos, Merging digits from same pads

* [MCH] moved modules folder to MUON/MCH

* [MCH] improved performances and added overall noise distribution plots

* Small changes for compilation

* Deleted MCH folder

* Modifications to read DPL digits as input for QC

* Adapted FileReader to dynamic CRU buffers

* Changed name of monitorDataDigits

* [MCH] Fixed naming of monitorData function

* [MCH] adapted file reader to dynamic CRU block sizes

* [MCH] added check for existance of DS board in mapping

* [MCH] improvements in pedestals analysis

- added function for reading the MCH digits from DPL
- improved speed of electronics mapping

* Fixed code formatting

* [MCH] cleaned code and removed unnecessary logging

* [MCH] further code improvements for PR AliceO2Group#221

* [MCH] fixed printf format strings

* [MCH] fixed build error

* [MCH] further build error fixes

* [MCH] further compilation error fixes

Co-authored-by: aferrero <andrea.ferrero@cern.ch>
Co-authored-by: Barthélémy von Haller <barthelemy.von.haller@cern.ch>
Co-authored-by: alice-mch <55982792+alice-mch@users.noreply.github.com>
Co-authored-by: Sebastien Perrin <sebastien.perrin@cern.ch>
EmilGorm pushed a commit to EmilGorm/AliceO2 that referenced this pull request Nov 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants