Belle II Software  release-08-01-10
SVDShaperDigitConverter.cc
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 #include <tracking/datcon/findlets/SVDShaperDigitConverter.h>
9 #include <tracking/datcon/entities/DATCONSVDDigit.h>
10 #include <tracking/trackFindingCDC/utilities/StringManipulation.h>
11 #include <svd/dataobjects/SVDShaperDigit.h>
12 #include <vxd/dataobjects/VxdID.h>
13 #include <framework/core/ModuleParamList.h>
14 
15 using namespace Belle2;
16 using namespace TrackFindingCDC;
17 
19 {
20 }
21 
22 void SVDShaperDigitConverter::exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix)
23 {
24  Super::exposeParameters(moduleParamList, prefix);
25 
26  moduleParamList->addParameter(TrackFindingCDC::prefixed(prefix, "storeSVDShaperDigitsName"), m_param_storeSVDShaperDigitsName,
27  "StoreArray name of the SVDShaperDigits StoreArray.", m_param_storeSVDShaperDigitsName);
28 }
29 
31 {
33 
35 }
36 
37 void SVDShaperDigitConverter::apply(std::vector<DATCONSVDDigit>& svdUDigits, std::vector<DATCONSVDDigit>& svdVDigits)
38 {
39  for (auto& shaperdigit : m_storeSVDShaperDigits) {
40 
41  const VxdID& sensorid = shaperdigit.getSensorID();
42  bool isu = shaperdigit.isUStrip();
43  short cellid = shaperdigit.getCellID();
44  const DATCONSVDDigit::APVFloatSamples& rawsamples = shaperdigit.getSamples();
45 
46  if (isu) {
47  svdUDigits.emplace_back(DATCONSVDDigit(sensorid, isu, cellid, rawsamples));
48  } else {
49  svdVDigits.emplace_back(DATCONSVDDigit(sensorid, isu, cellid, rawsamples));
50  }
51  }
52 }
The DATCONSVDDigit class.
std::array< APVFloatSampleType, c_nAPVSamples > APVFloatSamples
Types for array of samples for processing.
The Module parameter list class.
SVDShaperDigitConverter()
Add the subfindlets.
void apply(std::vector< DATCONSVDDigit > &svdUDigits, std::vector< DATCONSVDDigit > &svdVDigits) override
Load in the reco tracks and the hits.
void initialize() override
Create the store arrays.
StoreArray< SVDShaperDigit > m_storeSVDShaperDigits
SVDShaperDigit StoreArray.
std::string m_param_storeSVDShaperDigitsName
SVDShaperDigits StoreArray name.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters of the sub findlets.
void initialize() override
Receive and dispatch signal before the start of the event processing.
virtual void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix)
Forward prefixed parameters of this findlet to the module parameter list.
Definition: Findlet.h:69
Class to uniquely identify a any structure of the PXD and SVD.
Definition: VxdID.h:33
void addParameter(const std::string &name, T &paramVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module list.
Abstract base class for different kinds of events.