ATLAS Offline Software
TgcDigitContainer.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 // TgcDigitContainer.h
6 
7 #ifndef MUONDIGITCONTAINER_TGCDIGITCONAINTER_H
8 #define MUONDIGITCONTAINER_TGCDIGITCONAINTER_H
9 
10 // David Adams
11 // November 2001
12 
13 // Ketevi A. Assamagan, September 27 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 // TgcModuleId bil11(T1E,1,4);
29 // TgcModuleId bml11(T4E,-1,10);
30 // TgcModuleId bol11(T1F,1,1);
31 // // Insert some digits.
32 // digs.push_back(TgcDigit(TgcChannelId(bil11, 1, 0, 1)));
33 // digs.push_back(TgcDigit(TgcChannelId(bil11, 2, 1, 2)));
34 // digs.push_back(TgcDigit(TgcChannelId(bml11, 3, 0, 5)));
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<TgcDigitCollection>
53 {
54 public:
55  TgcDigitContainer(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 TgcDigitContainer& rhs);
82 
83 #endif
84 
85 
TgcDigitContainer::size_type
TgcDigitCollection::size_type size_type
Definition: TgcDigitContainer.h:58
TgcDigitContainer::classID
static const CLID & classID()
Definition: TgcDigitContainer.cxx:42
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
TgcDigitContainer::~TgcDigitContainer
~TgcDigitContainer()
TgcDigitContainer::TgcDigitContainer
TgcDigitContainer(unsigned int hash_max)
Definition: TgcDigitContainer.cxx:26
TgcDigitCollection.h
TgcDigitContainer::clID
virtual const CLID & clID() const
return class ID
Definition: TgcDigitContainer.h:68
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
TgcDigitContainer::digit_size
size_type digit_size() const
Definition: TgcDigitContainer.cxx:53
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
TgcDigitContainer
Use IdentifiableContainer with TgcDigitCollection.
Definition: TgcDigitContainer.h:53
IdentifiableContainerMT
Definition: IdentifiableContainerMT.h:30
DataVector< TgcDigit >::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...
TgcDigitContainer::MyBase
IdentifiableContainer< TgcDigitCollection > MyBase
Definition: TgcDigitContainer.h:59