ATLAS Offline Software
Loading...
Searching...
No Matches
ALFA_RawDataContainer_charge.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ALFA_RAWDATACONTAINER_CHARGE_H
6#define ALFA_RAWDATACONTAINER_CHARGE_H
7
8#include <vector>
9#include <string>
13//#include "EventContainers/IdentifiableContainer.h"
14
18
19
20//class ALFA_RawDataContainer_charge : public IdentifiableContainer<ALFA_RawDataCollection_charge> {
21class ALFA_RawDataContainer_charge : public DataVector<ALFA_RawDataCollection_charge> {
22
23 private:
24 // Raw data word and word header
25 uint32_t m_wordMarker;
26
27 // I added runNum, runType, DetEventType
28 // modification based on page19 MROD data format document and on ALFA dumped data file
29 //uint32_t m_dataWord;
30
31 // Data members
32 uint16_t m_subdetId; // Sub-detector Id
33 uint16_t m_mrodId; // MROD Id
34 uint32_t m_lvl1Id; // Lvl1 Id
35 uint16_t m_ecrId; // ECR Id
36 uint16_t m_bcId; // Bunch crossing Id
37 uint32_t m_runNum; // Run sequence number
38 uint16_t m_runType; // Run Type
39 uint16_t m_triggerTypeId; // Trigger type Id
40 uint32_t m_DetEventType; // Detector Event Type
41
42 // Data words in the ROD header
43
44 // Full Event marker
45 static const uint32_t s_FullEVmarker = 0xaa1234aa;
46 // ROB marker
47 static const uint32_t s_ROBmarker = 0xdd1234dd;
48 // ROD marker
49 static const uint32_t s_RODmarker = 0xee1234ee;
50
51 static const uint32_t s_RODheadersize = 0x00000009;
52 static const uint32_t s_RODversion = 0x03010000;
53
54 public:
55
58
60
61 size_type digit_size() const ;
62
63 bool is_FullEVmarker() const {return m_wordMarker == s_FullEVmarker;};
64 bool is_ROBmarker() const {return m_wordMarker == s_ROBmarker;};
65 bool is_RODmarker() const {return m_wordMarker == s_RODmarker;};
66
67 // Retrieve decoded results
68 uint16_t subdetId() const {return m_subdetId;}
69 uint16_t mrodId() const {return m_mrodId;}
70 uint32_t runNum() const {return m_runNum;}
71 uint16_t runType() const {return m_runType;}
72 uint32_t lvl1Id() const {return m_lvl1Id;}
73 uint16_t ecrId() const {return m_ecrId;}
74 uint16_t bcId() const {return m_bcId;}
75 uint16_t trigtypeId() const {return m_triggerTypeId;}
76 uint32_t DetEventType() const {return m_DetEventType;}
77
78 private:
79
80 // Private functions
81 void setZero();
82
83};
84
86
87
88#endif // ALFA_RAWDATACONTAINER_CHARGE_H
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
An STL vector of pointers that by default owns its pointed-to elements.
This container provides acces to the PMF RDOs.
ALFA_RawDataCollection_charge::size_type size_type
typename DataVectorBase< ALFA_RawData_charge >::Base::size_type size_type
Definition DataVector.h:814
DataVector(SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS, SG::IndexTrackingPolicy trackIndices=SG::DEFAULT_TRACK_INDICES)