ATLAS Offline Software
RpcDigitContainer.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 // RpcDigitContainer.h
6 
7 #ifndef MUONDIGITCONTAINER_RPCDIGITCONAINTER_H
8 #define MUONDIGITCONTAINER_RPCDIGITCONAINTER_H
9 
10 // David Adams
11 // November 2001
12 
13 // Ketevi A. Assamagan, September 25 2002
14 
15 //
16 // Muon digit container.
17 //
18 // This container provides access to muon digits and provides
19 // a mechanism for recording them.
20 //
21 // Converters will enable reading from raw data, zebra and
22 // conventional StoreGate technologies (Objectivty, root).
23 // They will also enable writing to all but zebra.
24 //
25 // Usage:
26 //
27 // // Create module ID's.
28 // RpcModuleId bil11(BIL,1,1);
29 // RpcModuleId bml11(BML,1,1);
30 // RpcModuleId bol11(BOL,1,1);
31 // // Insert some digits.
32 // digs.push_back(RpcDigit(RpcChannelId(bil11, 1, 2, 1, 1, 0, 6)));
33 // digs.push_back(RpcDigit(RpcChannelId(bil11, 2, 1, 2, 2, 1, 2)));
34 // digs.push_back(RpcDigit(RpcChannelId(bml11, 1, 3, 1, 1, 0, 10)));
35 // // Check subcontainers.
36 // assert( digs.digits(bil11).size() == 2 );
37 // assert( digs.digits(bml11).size() == 1 );
38 // assert( digs.digits(bol11).size() == 0 );
39 
44 #include <vector>
45 #include <string>
47 #include "AthenaKernel/CLASS_DEF.h"
49 
50 
52  :public IdentifiableContainer<RpcDigitCollection>
53 {
54 public:
55  RpcDigitContainer(unsigned int hash_max) ;
57 
60 
61  size_type digit_size() const ;
62 
63  // IdentifiableContainer is still a DataObject
64  // Put CLID here.
65  static const CLID& classID();
66 
68  virtual const CLID& clID() const
69  {
70  return classID();
71  }
72 
73  private:
74 
75 
76 };
77 
79 
80 // Output stream.
81 std::ostream& operator<<(std::ostream& lhs, const RpcDigitContainer& rhs);
82 
83 #endif
84 
85 
86 
RpcDigitContainer
Use IdentifiableContainer with RpcDigitCollection.
Definition: RpcDigitContainer.h:53
IdentifiableContainerMT::size_type
std::vector< std::atomic< const void * > >::size_type size_type
Definition: IdentifiableContainerMT.h:72
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
RpcDigitContainer::clID
virtual const CLID & clID() const
return class ID
Definition: RpcDigitContainer.h:68
RpcDigitContainer::RpcDigitContainer
RpcDigitContainer(unsigned int hash_max)
Definition: RpcDigitContainer.cxx:26
RpcDigitCollection.h
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
RpcDigitContainer::MyBase
IdentifiableContainer< RpcDigitCollection > MyBase
Definition: RpcDigitContainer.h:59
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
RpcDigitContainer::size_type
RpcDigitCollection::size_type size_type
Definition: RpcDigitContainer.h:58
IdentifiableContainerMT
Definition: IdentifiableContainerMT.h:30
DataVector< RpcDigit >::size_type
BASE::size_type size_type
Definition: DataVector.h:813
RpcDigitContainer::~RpcDigitContainer
~RpcDigitContainer()
CLASS_DEF.h
macros to associate a CLID to a type
RpcDigitContainer::digit_size
size_type digit_size() const
Definition: RpcDigitContainer.cxx:52
IdentifiableContainer.h
This class is a general container which can hold objects of accessed by an IdentifierHash For more in...
RpcDigitContainer::classID
static const CLID & classID()
Definition: RpcDigitContainer.cxx:40