ATLAS Offline Software
Loading...
Searching...
No Matches
Count.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4// Count.h
5// TopoCore
6// Created by Carlos Moreno on 15/01/21.
7
8#ifndef L1TOPOINTERFACES_COUNT_H
9#define L1TOPOINTERFACES_COUNT_H
10
12
13#include <iostream>
14#include <vector>
15#include <stdint.h>
16#include <bitset>
17
18namespace TCS {
19
20 class Count {
21 public:
22
23 Count(unsigned int firstBit = 0,
24 unsigned int nBits = 1,
25 unsigned int sizeCount = 1 ) :
29 {};
30
31 // Destructor
32 ~Count(){};
33
34 // setters
36
37 void setFirstBit(unsigned int startBit) { m_firstBit = startBit; }
38 void setNBits(unsigned int nBits) { m_nBits = nBits; }
39 void setSizeCount(unsigned int sizeCount);// { m_sizeCount = sizeCount; }
40
41 // getters
42 // TO-DO add function to get count bits for a determined position
43 // TO-DO make ready for executing multiple algorithms in one instance
44
45 const std::bitset<128>& getCountBits() const { return m_count; }
46 unsigned int firstBit() const { return m_firstBit; }
47 unsigned int lastBit() const { return m_firstBit + m_nBits - 1; }
48 unsigned int nBits() const { return m_nBits; }
49 unsigned int sizeCount() const { return m_sizeCount; }
50
51 private:
52 std::bitset<128> m_count {0};
53 unsigned int m_firstBit {0};
54 unsigned int m_nBits {1};
55 unsigned int m_sizeCount {1};
56
57 };
58
59}
60
61//std::ostream & operator<<(std::ostream&, const TCS:Count &);
62
63#endif
unsigned int m_firstBit
Definition Count.h:53
unsigned int firstBit() const
Definition Count.h:46
std::bitset< 128 > m_count
Definition Count.h:52
unsigned int m_sizeCount
Definition Count.h:55
Count(unsigned int firstBit=0, unsigned int nBits=1, unsigned int sizeCount=1)
Definition Count.h:23
~Count()
Definition Count.h:32
unsigned int sizeCount() const
Definition Count.h:49
unsigned int m_nBits
Definition Count.h:54
void setSizeCount(unsigned int sizeCount)
Definition Count.cxx:12
unsigned int nBits() const
Definition Count.h:48
void setNBits(unsigned int nBits)
Definition Count.h:38
void setFirstBit(unsigned int startBit)
Definition Count.h:37
StatusCode reset()
Definition Count.h:35
const std::bitset< 128 > & getCountBits() const
Definition Count.h:45
unsigned int lastBit() const
Definition Count.h:47