ATLAS Offline Software
MM_DigitToolOutput.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MM_DIGITIZATION_MM_DIGITTOOLOUTPUT_H
6 #define MM_DIGITIZATION_MM_DIGITTOOLOUTPUT_H
7 
8 /*-----------------------------------------------
9 
10 Created March 2013 by Nektarios Chr. Benekos
11  Karakostas Konstantinos <Konstantinos.Karakostas@cern.ch>
12 
13 Class to store output produced by MDT_Digitization tools:
14 - was hit efficient
15 - strip position
16 - strip charge
17 - strip time
18 - first strip position [for Trigger study]
19 - first strip time [for Trigger study]
20 
21 -----------------------------------------------*/
22 
23 #include <vector>
24 
26 public:
27  MM_DigitToolOutput(bool hitWasEff, const std::vector<int>& strpos, const std::vector<float>& time, const std::vector<float>& charge,
28  int strTrig, float strTimeTrig) :
29  m_hitWasEff(hitWasEff),
30  m_strpos(strpos),
31  m_time(time),
33  m_stripForTrigger(strTrig),
34  m_stripTimeForTrigger(strTimeTrig)
35 
36  {
37  m_isValid = !(m_strpos.empty() || m_time.empty() || m_charge.empty());
38  }
39 
40  ~MM_DigitToolOutput() = default;
41 
42  bool hitWasEfficient() const { return m_hitWasEff; }
43  const std::vector<int>& stripPos() const { return m_strpos; }
44  const std::vector<float>& stripTime() const { return m_time; }
45  const std::vector<float>& stripCharge() const { return m_charge; }
46  bool isValid() const { return m_isValid; }
47 
48  int stripForTrigger() const { return m_stripForTrigger; }
49  float stripTimeForTrigger() const { return m_stripTimeForTrigger; }
52 
53 private:
54  bool m_hitWasEff{false};
55  std::vector<int> m_strpos{};
56  std::vector<float> m_time{};
57  std::vector<float> m_charge{};
60  bool m_isValid{false};
61 };
62 
63 #endif
MM_DigitToolOutput::stripPos
const std::vector< int > & stripPos() const
Definition: MM_DigitToolOutput.h:43
MM_DigitToolOutput::setStripForTrigger
void setStripForTrigger(int val)
Definition: MM_DigitToolOutput.h:50
MM_DigitToolOutput::m_stripTimeForTrigger
float m_stripTimeForTrigger
Definition: MM_DigitToolOutput.h:59
MM_DigitToolOutput::MM_DigitToolOutput
MM_DigitToolOutput(bool hitWasEff, const std::vector< int > &strpos, const std::vector< float > &time, const std::vector< float > &charge, int strTrig, float strTimeTrig)
Definition: MM_DigitToolOutput.h:27
MM_DigitToolOutput::m_charge
std::vector< float > m_charge
Definition: MM_DigitToolOutput.h:57
MM_DigitToolOutput::m_time
std::vector< float > m_time
Definition: MM_DigitToolOutput.h:56
MM_DigitToolOutput::m_stripForTrigger
int m_stripForTrigger
Definition: MM_DigitToolOutput.h:58
MM_DigitToolOutput::m_isValid
bool m_isValid
Definition: MM_DigitToolOutput.h:60
MM_DigitToolOutput
Definition: MM_DigitToolOutput.h:25
MM_DigitToolOutput::stripTime
const std::vector< float > & stripTime() const
Definition: MM_DigitToolOutput.h:44
MM_DigitToolOutput::setStripTimeForTrigger
void setStripTimeForTrigger(float val)
Definition: MM_DigitToolOutput.h:51
MM_DigitToolOutput::hitWasEfficient
bool hitWasEfficient() const
Definition: MM_DigitToolOutput.h:42
MM_DigitToolOutput::stripTimeForTrigger
float stripTimeForTrigger() const
Definition: MM_DigitToolOutput.h:49
MM_DigitToolOutput::m_strpos
std::vector< int > m_strpos
Definition: MM_DigitToolOutput.h:55
charge
double charge(const T &p)
Definition: AtlasPID.h:494
MM_DigitToolOutput::~MM_DigitToolOutput
~MM_DigitToolOutput()=default
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
MM_DigitToolOutput::stripForTrigger
int stripForTrigger() const
Definition: MM_DigitToolOutput.h:48
MM_DigitToolOutput::stripCharge
const std::vector< float > & stripCharge() const
Definition: MM_DigitToolOutput.h:45
MM_DigitToolOutput::isValid
bool isValid() const
Definition: MM_DigitToolOutput.h:46
MM_DigitToolOutput::m_hitWasEff
bool m_hitWasEff
Definition: MM_DigitToolOutput.h:54