Orion
high-rate readout
detector.hpp
Go to the documentation of this file.
1 
5 #pragma once
6 
7 #include "itk/fec/detector.hpp"
8 
9 
10 namespace itk::star {
11 
12 class Detector : public itk::Detector<FrontEnd> {
13 public:
14 
15  struct Factory : public itk::Factory<Detector> {
16  virtual Detector* operator()() = 0;
17  };
18 
19  // void reset_all() override;
20  // void configure() override;
21 
22  // fe.write_fld(abcs.MaskHPR, 10);
23 
24  // add abcs.FieldName in list of HCC Fields
25  virtual void write_fld(uint8_t abc_id, const abc::Field& fld, abc::fld_t value) = 0;
26 
27  virtual void write_fld(const std::string name, fld_t value) = 0;
28  // auto filter = get_filter("hcc23.MaskHPR");
29  // auto field = get_fld("hcc23.abc:MaskHPR");
30  // "MaskHPR" - hcc for whole detector
31  // "abc.MaskHPR" - abcs for whole detector
32  // "ppb1a.MaskHPR" - all HCCs in ppb1a stave
33  // "ppb1a.abcs.MaskHPR" - all ABCs in ppb1a stave
34  // "ppb1a.abc10.MaskHPR" - all abc 10 of ppb1a stave
35  // "ppb1a.abc10.MaskHPR" - all ABCs in ppb1a stave
36  //"MaskHPR" abc0, abc1, ..., abc9, abcA, abcB, abcC, abcD, abcE, abcs
37  //"abc0.MaskHPR"
38  //"abcs.MaskHPR"
39 
40 
41  // void SingleHPR() {
42  // write(lcb::make_hcc_reg_write(16, 0x00000002));
43  // write(lcb::make_hcc_reg_write(16, 0x00000001));
44  // send();
45  // }
46 
47 
48 }; // Detector
49 
50 } // itk::star
Interface definition for Detector. Detector class contains list of front-ends and allows to send broa...
Definition: detector.hpp:20
Templated implementation of Factory class.
Definition: factory.hpp:35
Interface definition for field.
Definition: field.hpp:16
Definition: detector.hpp:12
Definition: detector.hpp:15