ATLAS Offline Software
Loading...
Searching...
No Matches
TgcDigitJitterData.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef TGCDIGITJITTERDATA_H
5#define TGCDIGITJITTERDATA_H
6
9#include <GaudiKernel/SystemOfUnits.h>
14
15#include <vector>
16
20namespace CLHEP {
21 class HepRandomEngine;
22}
23
25 public:
27
29
30 double drawJitter(const Amg::Vector3D& localDir,
31 CLHEP::HepRandomEngine* rndmEngine) const;
32
33 void cacheAngleInterval(const double minAngle, std::vector<double>&& timeProbs);
34
35 StatusCode initialize();
36
37 private:
38 struct JitterBin {
39 double minAngle{0.};
40 double maxAngle{0.};
41 bool operator<(const JitterBin& other) const{
42 return maxAngle < other.minAngle;
43 }
44 JitterBin(const double angle, std::vector<double>&& probs):
45 minAngle{angle}, maxAngle{angle}, timeProbs{std::move(probs)}{}
46 std::vector<double> timeProbs{};
47 };
48 std::vector<JitterBin> m_bins{};
49
50 double m_timeInterval{-1.};
51 double m_angleInterval{-1.};
52
53};
54CLASS_DEF( TgcDigitJitterData , 244147337 , 1 );
56#endif
Hold mappings of ranges to condition objects.
#define CONDCONT_DEF(...)
Definition CondCont.h:1413
Provide an interface for finding inheritance information at run time.
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
double angle(const GeoTrf::Vector2D &a, const GeoTrf::Vector2D &b)
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
double drawJitter(const Amg::Vector3D &localDir, CLHEP::HepRandomEngine *rndmEngine) const
void cacheAngleInterval(const double minAngle, std::vector< double > &&timeProbs)
~TgcDigitJitterData()=default
std::vector< JitterBin > m_bins
Eigen::Matrix< double, 3, 1 > Vector3D
STL namespace.
bool operator<(const JitterBin &other) const
JitterBin(const double angle, std::vector< double > &&probs)
std::vector< double > timeProbs