ATLAS Offline Software
LArShapeP2.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef LARRAWCONDITIONS_LARSHAPEP2
6 #define LARRAWCONDITIONS_LARSHAPEP2
7 
10 #include <vector>
11 
14 
20  : public LAr2DWaveBase
21 {
22 public:
23 
25 
27  LArShapeP2(float timeOffset,
28  float timeBinWidth,
29  const std::vector<std::vector<float> >& vShape,
30  const std::vector<std::vector<float> >& vShapeDer);
31  LArShapeP2(float timeOffset,
32  float timeBinWidth,
33  unsigned int nPhases,
34  unsigned int nSamples,
35  const std::vector<float>& shape,
36  const std::vector<float>& shapeDer,
37  unsigned int index);
40 
41  size_t shapeSize() const { return waveSize(0); }
42  size_t shapeDerSize() const { return waveSize(1); }
43 
44  ShapeRef_t shape (size_t tbin) const { return wave(0, tbin); }
45  ShapeRef_t shapeDer (size_t tbin) const { return wave(1, tbin); }
46 };
47 
48 
49 
56 
57 
58 template <>
60 {
61 public:
62  typedef unsigned int FebId;
73 
75  {
76  return ConstReference();
77  }
78 
79 
80  template <class OTHERIT, class COPIER>
81  static void copySubset (OTHERIT otherBeg,
82  OTHERIT otherEnd,
84  COPIER copier)
85  {
86  SubsetVector::copySubset<LArShapeP2> (otherBeg, otherEnd,
87  to, copier);
88  }
89 };
90 
91 
92 #endif
93 
LAr2DWaveBase::timeBinWidth
float timeBinWidth() const
Return the time bin width for this channel.
LArCompactSubset.h
A more compact way of storing shape/ofc data.
LAr2DWaveBase::wave
LArVectorProxy wave(unsigned int which, size_t tbin) const
Return wave data.
LArCompactSubsetChannelPointer
This acts as a pointer to a LArCompactSubsetChannelProxy.
Definition: LArCompactSubset.h:227
index
Definition: index.py:1
LArConditionsSubsetTraits< LArShapeP2 >::FebId
unsigned int FebId
Definition: LArShapeP2.h:62
LArConditionsSubsetTraits< LArShapeP2 >::SubsetVector
LArCompactSubsetVector SubsetVector
Definition: LArShapeP2.h:72
LArConditionsSubsetTraits< LArShapeP2 >::Reference
LArCompactSubsetChannelProxy Reference
Definition: LArShapeP2.h:63
LAr2DWaveBase::waveSize
size_t waveSize(unsigned int which) const
Return the number of time bins for a wave.
LArShapeP2::ShapeRef_t
ILArShape::ShapeRef_t ShapeRef_t
Definition: LArShapeP2.h:24
LArShapeP2::shapeDer
ShapeRef_t shapeDer(size_t tbin) const
Definition: LArShapeP2.h:45
LArConditionsSubsetTraits< LArShapeP2 >::ConstPointer
LArCompactSubsetChannelPointer ConstPointer
Definition: LArShapeP2.h:66
LArShapeP2::LArShapeP2
LArShapeP2()
Definition: LArShapeP2.h:26
LArCompactSubsetChannelVector
This acts like a vector of channel objects.
Definition: LArCompactSubset.h:259
LArCompactSubsetFebPair
This acts like a FEB ID/channel vector pair.
Definition: LArCompactSubset.h:479
LArConditionsSubsetTraits< LArShapeP2 >::ChannelVector
LArCompactSubsetChannelVector ChannelVector
Definition: LArShapeP2.h:67
LArCompactSubsetConstChannelProxy
A more compact way of storing shape/ofc data — const portion.
Definition: LArCompactSubset.h:100
LArConditionsSubsetTraits< LArShapeP2 >::copySubset
static void copySubset(OTHERIT otherBeg, OTHERIT otherEnd, SubsetVector &to, COPIER copier)
Definition: LArShapeP2.h:81
LArConditionsSubsetTraits< LArShapeP2 >::FebPair
LArCompactSubsetFebPair FebPair
Definition: LArShapeP2.h:70
LAr2DWaveBase::timeOffset
float timeOffset() const
Return the time offset for this channel.
LArConditionsSubsetTraits< LArShapeP2 >::ConstChannelVector
LArCompactSubsetConstChannelVector ConstChannelVector
Definition: LArShapeP2.h:68
LArCompactSubsetConstChannelVector
This acts like a vector of channel objects — const version.
Definition: LArCompactSubset.h:393
LArConditionsSubsetTraits< LArShapeP2 >::ChannelVectorPointer
LArCompactSubsetChannelVectorPointer ChannelVectorPointer
Definition: LArShapeP2.h:69
ILArShape.h
LArConditionsSubset.h
This file defines the template class used for I/O of conditions data.
LArCompactSubsetVector
This acts like a vector of FEB ID / channel vector pairs.
Definition: LArCompactSubset.h:530
LArShapeP2
c-struct reproducing the structure of the persistent data
Definition: LArShapeP2.h:21
LArShapeP2::shape
ShapeRef_t shape(size_t tbin) const
Definition: LArShapeP2.h:44
CxxUtils::to
CONT to(RANGE &&r)
Definition: ranges.h:32
LArCompactSubsetChannelProxy
A more compact way of storing shape/ofc data — non-const portion.
Definition: LArCompactSubset.h:178
LArConditionsSubsetTraits< LArShapeP2 >::Pointer
LArCompactSubsetChannelPointer Pointer
Definition: LArShapeP2.h:65
LArConditionsSubsetTraits< LArShapeP2 >::empty
static ConstReference empty()
Definition: LArShapeP2.h:74
LArConditionsSubsetTraits::ConstReference
const T & ConstReference
Definition: LArConditionsSubset.h:70
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
LArConditionsSubsetTraits< LArShapeP2 >::FebPairReference
FebPair FebPairReference
Definition: LArShapeP2.h:71
LAr2DWaveBase
Per-channel class holding wave information in time bins.
Definition: LAr2DWaveBase.h:49
LArConditionsSubsetTraits< LArShapeP2 >::ConstReference
LArCompactSubsetConstChannelProxy ConstReference
Definition: LArShapeP2.h:64
LArShapeP2::shapeSize
size_t shapeSize() const
Definition: LArShapeP2.h:41
LArDigits2NtupleDumper.nSamples
nSamples
Definition: LArDigits2NtupleDumper.py:70
LAr2DWaveBase.h
Per-channel class holding wave information in time bins.
LArCompactSubsetChannelVectorPointer
This acts as a pointer to a LArCompactSubsetChannelVector.
Definition: LArCompactSubset.h:438
LArShapeP2::shapeDerSize
size_t shapeDerSize() const
Definition: LArShapeP2.h:42
LArVectorProxy
Proxy for accessing a range of float values like a vector.
Definition: LArVectorProxy.h:38
LArConditionsSubsetTraits
Traits class giving the types to use for the objects contained within the subset.
Definition: LArConditionsSubset.h:65