ATLAS Offline Software
MmDigitContainer.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 // MmDigitContainer.h
6 
7 #ifndef MUONDIGITCONTAINER_MMDIGITCONAINTER_H
8 #define MUONDIGITCONTAINER_MMDIGITCONAINTER_H
9 
10 // Nektarios Chr. Benekos
11 // March 2013
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 // MmModuleId bil11(BIL,1,1);
26 // MmModuleId bml11(BML,1,1);
27 // MmModuleId bol11(BOL,1,1);
28 // // Insert some digits.
29 // digs.push_back(MmDigit(MmChannelId(bil11, 0, 0, 8), 101));
30 // digs.push_back(MmDigit(MmChannelId(bil11, 0, 1, 16), 101));
31 // digs.push_back(MmDigit(MmChannelId(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<MmDigitCollection>
50 {
51  public:
52 
53  MmDigitContainer(unsigned int hash_max) ;
55 
58 
59  size_type digit_size() const ;
60 
61  // IdentifiableContainer is still a DataObject
62  // Put CLID here.
63  static const CLID& classID();
64 
66  virtual const CLID& clID() const
67  {
68  return classID();
69  }
70 
71  private:
72 
73 
74 };
75 
76 CLASS_DEF(MmDigitContainer,1274132786,0)
77 
78 // Output stream.
79  std::ostream& operator<<(std::ostream& lhs, const MmDigitContainer& rhs);
80 
81 #endif
82 
83 
MmDigitContainer
Use IdentifiableContainer with MmDigitCollection.
Definition: MmDigitContainer.h:50
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
MmDigitContainer::MmDigitContainer
MmDigitContainer(unsigned int hash_max)
Definition: MmDigitContainer.cxx:27
MmDigitContainer::clID
virtual const CLID & clID() const
return class ID
Definition: MmDigitContainer.h:66
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
MmDigitContainer::classID
static const CLID & classID()
Definition: MmDigitContainer.cxx:43
MmDigitContainer::size_type
MmDigitCollection::size_type size_type
Definition: MmDigitContainer.h:56
MmDigitCollection.h
MmDigitContainer::~MmDigitContainer
~MmDigitContainer()
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
MmDigitContainer::digit_size
size_type digit_size() const
Definition: MmDigitContainer.cxx:54
IdentifiableContainerMT
Definition: IdentifiableContainerMT.h:30
DataVector< MmDigit >::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...
MmDigitContainer::MyBase
IdentifiableContainer< MmDigitCollection > MyBase
Definition: MmDigitContainer.h:57