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