ATLAS Offline Software
Loading...
Searching...
No Matches
FPGATrackSimBankSvc Class Reference

#include <FPGATrackSimBankSvc.h>

Inheritance diagram for FPGATrackSimBankSvc:
Collaboration diagram for FPGATrackSimBankSvc:

Public Member Functions

 FPGATrackSimBankSvc (const std::string &name, ISvcLocator *svc)
virtual ~FPGATrackSimBankSvc ()=default
virtual StatusCode initialize () override
virtual const FPGATrackSimFitConstantBankFitConstantBank_1st (int missedPlane=-1) override
virtual const FPGATrackSimFitConstantBankFitConstantBank_2nd (int missedPlane=-1) override
virtual const FPGATrackSimSectorBankSectorBank_1st () override
virtual const FPGATrackSimSectorBankSectorBank_2nd () override
virtual const FPGATrackSimSectorSliceSectorSlice () override

Private Member Functions

bool LoadFitConstantBank_1st (int missedPlane=-1)
bool LoadFitConstantBank_2nd (int missedPlane=-1)
bool LoadSectorBank_1st ()
bool LoadSectorBank_2nd ()
bool LoadSectorSlice ()

Private Attributes

Gaudi::Property< float > m_phiShift {this, "phiShift", 0.0, "Amount to shift phi for fit cosntant banks"}
Gaudi::Property< std::string > m_path_constants_1st {this, "constants_1st", "", "Path of the 1st stage constants"}
Gaudi::Property< std::string > m_path_constants_2nd {this, "constants_2nd", "", "Path of the 2nd stage constants"}
Gaudi::Property< std::string > m_path_sectorbank_1st {this, "sectorBank_1st", "", "Path of the 1st stage sector bank"}
Gaudi::Property< std::string > m_path_sectorbank_2nd {this, "sectorBank_2nd", "", "Path of the 2nd stage sectorbank"}
Gaudi::Property< std::string > m_path_sectorslices {this, "sectorSlices", "", "Path of the sector slices"}
Gaudi::Property< std::string > m_bankTypes {this, "BankType", "FILE", "FILE or COOL (COOL/DB to be implemented)"}
Gaudi::Property< int > m_ncoords_1st {this, "NCoords_1st", 10, "Number of 1st stage coordinates"}
Gaudi::Property< int > m_ncoords_2nd {this, "NCoords_2nd", 18, "Number of 2nd stage coordinates"}
Gaudi::Property< std::string > m_path_NNconstants {this, "m_path_NNconstants", "", "Path for NN constants"}
Gaudi::Property< std::vector< std::string > > m_path_constants_1st_noguess {this, "constantsNoGuess_1st", {}, "Path of the 1st stage constants without guessing"}
Gaudi::Property< std::vector< std::string > > m_path_constants_2nd_noguess {this, "constantsNoGuess_2nd", {}, "Path of the 2nd stage constants without guessing"}
Gaudi::Property< bool > m_absQOverPtBinning { this, "qptAbsBinning", false, "Controls whether or not to interpret the bins as q/pt or |q/pt|"}
Gaudi::Property< std::vector< double > > m_qOverPtBins { this, "sectorQPtBins", {}, "q/pt bins for sector definition"}
ServiceHandle< IFPGATrackSimMappingSvcm_FPGATrackSimMapping {this, "FPGATrackSimMappingSvc", "FPGATrackSimMappingSvc"}
std::unique_ptr< FPGATrackSimFitConstantBankm_FitConstantBank_1st = nullptr
std::unique_ptr< FPGATrackSimFitConstantBankm_FitConstantBank_2nd = nullptr
std::vector< std::unique_ptr< FPGATrackSimFitConstantBank > > m_FitConstantBankNoGuess_1st
std::vector< std::unique_ptr< FPGATrackSimFitConstantBank > > m_FitConstantBankNoGuess_2nd
std::unique_ptr< FPGATrackSimSectorBankm_SectorBank_1st = nullptr
std::unique_ptr< FPGATrackSimSectorBankm_SectorBank_2nd = nullptr
std::unique_ptr< FPGATrackSimSectorSlicem_SectorSlices = nullptr

Detailed Description

Definition at line 15 of file FPGATrackSimBankSvc.h.

Constructor & Destructor Documentation

◆ FPGATrackSimBankSvc()

FPGATrackSimBankSvc::FPGATrackSimBankSvc ( const std::string & name,
ISvcLocator * svc )

Definition at line 12 of file FPGATrackSimBankSvc.cxx.

12 :
13 base_class(name,svc)
14{
15}

◆ ~FPGATrackSimBankSvc()

virtual FPGATrackSimBankSvc::~FPGATrackSimBankSvc ( )
virtualdefault

Member Function Documentation

◆ FitConstantBank_1st()

const FPGATrackSimFitConstantBank * FPGATrackSimBankSvc::FitConstantBank_1st ( int missedPlane = -1)
overridevirtual

Definition at line 95 of file FPGATrackSimBankSvc.cxx.

96{
97 if (missedPlane == -1) {
98 // Don't need to check the return actually, will return nullptr anyways
100
101 return m_FitConstantBank_1st.get();
102 }
103 else {
104 // Don't need to check the return actually, will return nullptr anyways
105 if (!m_FitConstantBankNoGuess_1st[missedPlane]) LoadFitConstantBank_1st(missedPlane);
106
107 return m_FitConstantBankNoGuess_1st[missedPlane].get();
108 }
109}
bool LoadFitConstantBank_1st(int missedPlane=-1)
std::unique_ptr< FPGATrackSimFitConstantBank > m_FitConstantBank_1st
std::vector< std::unique_ptr< FPGATrackSimFitConstantBank > > m_FitConstantBankNoGuess_1st

◆ FitConstantBank_2nd()

const FPGATrackSimFitConstantBank * FPGATrackSimBankSvc::FitConstantBank_2nd ( int missedPlane = -1)
overridevirtual

Definition at line 112 of file FPGATrackSimBankSvc.cxx.

113{
114 if (missedPlane == -1) {
115 // Don't need to check the return actually, will return nullptr anyways
117
118 return m_FitConstantBank_2nd.get();
119 }
120 else {
121 // Don't need to check the return actually, will return nullptr anyways
122 if (!m_FitConstantBankNoGuess_2nd[missedPlane]) LoadFitConstantBank_2nd(missedPlane);
123
124 return m_FitConstantBankNoGuess_2nd[missedPlane].get();
125 }
126}
std::unique_ptr< FPGATrackSimFitConstantBank > m_FitConstantBank_2nd
bool LoadFitConstantBank_2nd(int missedPlane=-1)
std::vector< std::unique_ptr< FPGATrackSimFitConstantBank > > m_FitConstantBankNoGuess_2nd

◆ initialize()

StatusCode FPGATrackSimBankSvc::initialize ( )
overridevirtual

Definition at line 19 of file FPGATrackSimBankSvc.cxx.

20{
21 ATH_MSG_DEBUG("-------------- FPGATrackSimBankSvc -------------------");
22 ATH_MSG_DEBUG("BankType Map = " << m_bankTypes);
23 ATH_MSG_DEBUG("Number of 1st stage coordinates = " << m_ncoords_1st);
24 ATH_MSG_DEBUG("Number of 2nd stage coordinates = " << m_ncoords_2nd);
25 ATH_MSG_DEBUG("-------------------------------------------------");
26
27 // resize this to the appropriate one and to be safe, set to nullptr to start
28 m_FitConstantBankNoGuess_1st.resize(m_FPGATrackSimMapping->PlaneMap_1st(0)->getNLogiLayers());
29 m_FitConstantBankNoGuess_2nd.resize(m_FPGATrackSimMapping->PlaneMap_2nd(0)->getNLogiLayers());
30 for (unsigned i = 0; i < m_FitConstantBankNoGuess_1st.size(); i++) m_FitConstantBankNoGuess_1st[i] = nullptr;
31 for (unsigned i = 0; i < m_FitConstantBankNoGuess_2nd.size(); i++) m_FitConstantBankNoGuess_2nd[i] = nullptr;
32
33 return StatusCode::SUCCESS;
34}
#define ATH_MSG_DEBUG(x)
Gaudi::Property< int > m_ncoords_1st
Gaudi::Property< int > m_ncoords_2nd
ServiceHandle< IFPGATrackSimMappingSvc > m_FPGATrackSimMapping
Gaudi::Property< std::string > m_bankTypes

◆ LoadFitConstantBank_1st()

bool FPGATrackSimBankSvc::LoadFitConstantBank_1st ( int missedPlane = -1)
private

Definition at line 42 of file FPGATrackSimBankSvc.cxx.

43{
44 if (missedPlane == -1)
45 m_FitConstantBank_1st = std::unique_ptr<FPGATrackSimFitConstantBank>(new FPGATrackSimFitConstantBank(m_FPGATrackSimMapping->PlaneMap_1st(0), m_ncoords_1st, m_path_constants_1st, true, m_phiShift));
46 else
47 m_FitConstantBankNoGuess_1st[missedPlane] = std::unique_ptr<FPGATrackSimFitConstantBank> (new FPGATrackSimFitConstantBank(m_FPGATrackSimMapping->PlaneMap_1st(0), m_ncoords_1st, m_path_constants_1st_noguess[missedPlane], true, m_phiShift, missedPlane)); // no check on the plane number
48
49 return true;
50}
Gaudi::Property< std::string > m_path_constants_1st
Gaudi::Property< std::vector< std::string > > m_path_constants_1st_noguess
Gaudi::Property< float > m_phiShift

◆ LoadFitConstantBank_2nd()

bool FPGATrackSimBankSvc::LoadFitConstantBank_2nd ( int missedPlane = -1)
private

Definition at line 53 of file FPGATrackSimBankSvc.cxx.

54{
55 if (missedPlane == -1)
56 m_FitConstantBank_2nd = std::make_unique<FPGATrackSimFitConstantBank> (m_FPGATrackSimMapping->PlaneMap_2nd(0), m_ncoords_2nd, m_path_constants_2nd, false, m_phiShift);
57 else
58 m_FitConstantBankNoGuess_2nd[missedPlane] = std::make_unique<FPGATrackSimFitConstantBank> (m_FPGATrackSimMapping->PlaneMap_2nd(0), m_ncoords_2nd, m_path_constants_2nd_noguess[missedPlane], false, m_phiShift, missedPlane); // no check on the plane number
59
60 return true;
61}
Gaudi::Property< std::string > m_path_constants_2nd
Gaudi::Property< std::vector< std::string > > m_path_constants_2nd_noguess

◆ LoadSectorBank_1st()

bool FPGATrackSimBankSvc::LoadSectorBank_1st ( )
private

Definition at line 64 of file FPGATrackSimBankSvc.cxx.

65{
66 m_SectorBank_1st = std::unique_ptr<FPGATrackSimSectorBank> (new FPGATrackSimSectorBank(m_path_sectorbank_1st));
68 return true;
69}
Gaudi::Property< std::vector< double > > m_qOverPtBins
Gaudi::Property< bool > m_absQOverPtBinning
Gaudi::Property< std::string > m_path_sectorbank_1st
std::unique_ptr< FPGATrackSimSectorBank > m_SectorBank_1st

◆ LoadSectorBank_2nd()

bool FPGATrackSimBankSvc::LoadSectorBank_2nd ( )
private

Definition at line 72 of file FPGATrackSimBankSvc.cxx.

73{
74 m_SectorBank_2nd = std::unique_ptr<FPGATrackSimSectorBank> (new FPGATrackSimSectorBank(m_path_sectorbank_2nd));
76 return true;
77}
std::unique_ptr< FPGATrackSimSectorBank > m_SectorBank_2nd
Gaudi::Property< std::string > m_path_sectorbank_2nd

◆ LoadSectorSlice()

bool FPGATrackSimBankSvc::LoadSectorSlice ( )
private

Definition at line 80 of file FPGATrackSimBankSvc.cxx.

81{
82 m_SectorSlices = std::unique_ptr<FPGATrackSimSectorSlice> (new FPGATrackSimSectorSlice(m_path_sectorslices));
83 return true;
84}
Gaudi::Property< std::string > m_path_sectorslices
std::unique_ptr< FPGATrackSimSectorSlice > m_SectorSlices

◆ SectorBank_1st()

const FPGATrackSimSectorBank * FPGATrackSimBankSvc::SectorBank_1st ( )
overridevirtual

Definition at line 129 of file FPGATrackSimBankSvc.cxx.

130{
131 // Don't need to check the return actually, will return nullptr anyways
133 return m_SectorBank_1st.get();
134}

◆ SectorBank_2nd()

const FPGATrackSimSectorBank * FPGATrackSimBankSvc::SectorBank_2nd ( )
overridevirtual

Definition at line 136 of file FPGATrackSimBankSvc.cxx.

137{
138 // Don't need to check the return actually, will return nullptr anyways
140
141 return m_SectorBank_2nd.get();
142}

◆ SectorSlice()

const FPGATrackSimSectorSlice * FPGATrackSimBankSvc::SectorSlice ( )
overridevirtual

Definition at line 145 of file FPGATrackSimBankSvc.cxx.

146{
147 // Don't need to check the return actually, will return nullptr anyways
149
150 return m_SectorSlices.get();
151}

Member Data Documentation

◆ m_absQOverPtBinning

Gaudi::Property<bool> FPGATrackSimBankSvc::m_absQOverPtBinning { this, "qptAbsBinning", false, "Controls whether or not to interpret the bins as q/pt or |q/pt|"}
private

Definition at line 51 of file FPGATrackSimBankSvc.h.

51{ this, "qptAbsBinning", false, "Controls whether or not to interpret the bins as q/pt or |q/pt|"};

◆ m_bankTypes

Gaudi::Property<std::string> FPGATrackSimBankSvc::m_bankTypes {this, "BankType", "FILE", "FILE or COOL (COOL/DB to be implemented)"}
private

Definition at line 45 of file FPGATrackSimBankSvc.h.

45{this, "BankType", "FILE", "FILE or COOL (COOL/DB to be implemented)"};

◆ m_FitConstantBank_1st

std::unique_ptr<FPGATrackSimFitConstantBank> FPGATrackSimBankSvc::m_FitConstantBank_1st = nullptr
private

Definition at line 59 of file FPGATrackSimBankSvc.h.

◆ m_FitConstantBank_2nd

std::unique_ptr<FPGATrackSimFitConstantBank> FPGATrackSimBankSvc::m_FitConstantBank_2nd = nullptr
private

Definition at line 60 of file FPGATrackSimBankSvc.h.

◆ m_FitConstantBankNoGuess_1st

std::vector<std::unique_ptr <FPGATrackSimFitConstantBank> > FPGATrackSimBankSvc::m_FitConstantBankNoGuess_1st
private

Definition at line 61 of file FPGATrackSimBankSvc.h.

◆ m_FitConstantBankNoGuess_2nd

std::vector<std::unique_ptr <FPGATrackSimFitConstantBank> > FPGATrackSimBankSvc::m_FitConstantBankNoGuess_2nd
private

Definition at line 62 of file FPGATrackSimBankSvc.h.

◆ m_FPGATrackSimMapping

ServiceHandle<IFPGATrackSimMappingSvc> FPGATrackSimBankSvc::m_FPGATrackSimMapping {this, "FPGATrackSimMappingSvc", "FPGATrackSimMappingSvc"}
private

Definition at line 54 of file FPGATrackSimBankSvc.h.

54{this, "FPGATrackSimMappingSvc", "FPGATrackSimMappingSvc"};

◆ m_ncoords_1st

Gaudi::Property<int> FPGATrackSimBankSvc::m_ncoords_1st {this, "NCoords_1st", 10, "Number of 1st stage coordinates"}
private

Definition at line 46 of file FPGATrackSimBankSvc.h.

46{this, "NCoords_1st", 10, "Number of 1st stage coordinates"};

◆ m_ncoords_2nd

Gaudi::Property<int> FPGATrackSimBankSvc::m_ncoords_2nd {this, "NCoords_2nd", 18, "Number of 2nd stage coordinates"}
private

Definition at line 47 of file FPGATrackSimBankSvc.h.

47{this, "NCoords_2nd", 18, "Number of 2nd stage coordinates"};

◆ m_path_constants_1st

Gaudi::Property<std::string> FPGATrackSimBankSvc::m_path_constants_1st {this, "constants_1st", "", "Path of the 1st stage constants"}
private

Definition at line 40 of file FPGATrackSimBankSvc.h.

40{this, "constants_1st", "", "Path of the 1st stage constants"};

◆ m_path_constants_1st_noguess

Gaudi::Property<std::vector<std::string> > FPGATrackSimBankSvc::m_path_constants_1st_noguess {this, "constantsNoGuess_1st", {}, "Path of the 1st stage constants without guessing"}
private

Definition at line 49 of file FPGATrackSimBankSvc.h.

49{this, "constantsNoGuess_1st", {}, "Path of the 1st stage constants without guessing"};

◆ m_path_constants_2nd

Gaudi::Property<std::string> FPGATrackSimBankSvc::m_path_constants_2nd {this, "constants_2nd", "", "Path of the 2nd stage constants"}
private

Definition at line 41 of file FPGATrackSimBankSvc.h.

41{this, "constants_2nd", "", "Path of the 2nd stage constants"};

◆ m_path_constants_2nd_noguess

Gaudi::Property<std::vector<std::string> > FPGATrackSimBankSvc::m_path_constants_2nd_noguess {this, "constantsNoGuess_2nd", {}, "Path of the 2nd stage constants without guessing"}
private

Definition at line 50 of file FPGATrackSimBankSvc.h.

50{this, "constantsNoGuess_2nd", {}, "Path of the 2nd stage constants without guessing"};

◆ m_path_NNconstants

Gaudi::Property<std::string> FPGATrackSimBankSvc::m_path_NNconstants {this, "m_path_NNconstants", "", "Path for NN constants"}
private

Definition at line 48 of file FPGATrackSimBankSvc.h.

48{this, "m_path_NNconstants", "", "Path for NN constants"};

◆ m_path_sectorbank_1st

Gaudi::Property<std::string> FPGATrackSimBankSvc::m_path_sectorbank_1st {this, "sectorBank_1st", "", "Path of the 1st stage sector bank"}
private

Definition at line 42 of file FPGATrackSimBankSvc.h.

42{this, "sectorBank_1st", "", "Path of the 1st stage sector bank"};

◆ m_path_sectorbank_2nd

Gaudi::Property<std::string> FPGATrackSimBankSvc::m_path_sectorbank_2nd {this, "sectorBank_2nd", "", "Path of the 2nd stage sectorbank"}
private

Definition at line 43 of file FPGATrackSimBankSvc.h.

43{this, "sectorBank_2nd", "", "Path of the 2nd stage sectorbank"};

◆ m_path_sectorslices

Gaudi::Property<std::string> FPGATrackSimBankSvc::m_path_sectorslices {this, "sectorSlices", "", "Path of the sector slices"}
private

Definition at line 44 of file FPGATrackSimBankSvc.h.

44{this, "sectorSlices", "", "Path of the sector slices"};

◆ m_phiShift

Gaudi::Property<float> FPGATrackSimBankSvc::m_phiShift {this, "phiShift", 0.0, "Amount to shift phi for fit cosntant banks"}
private

Definition at line 39 of file FPGATrackSimBankSvc.h.

39{this, "phiShift", 0.0, "Amount to shift phi for fit cosntant banks"};

◆ m_qOverPtBins

Gaudi::Property<std::vector<double> > FPGATrackSimBankSvc::m_qOverPtBins { this, "sectorQPtBins", {}, "q/pt bins for sector definition"}
private

Definition at line 52 of file FPGATrackSimBankSvc.h.

52{ this, "sectorQPtBins", {}, "q/pt bins for sector definition"};

◆ m_SectorBank_1st

std::unique_ptr<FPGATrackSimSectorBank> FPGATrackSimBankSvc::m_SectorBank_1st = nullptr
private

Definition at line 63 of file FPGATrackSimBankSvc.h.

◆ m_SectorBank_2nd

std::unique_ptr<FPGATrackSimSectorBank> FPGATrackSimBankSvc::m_SectorBank_2nd = nullptr
private

Definition at line 64 of file FPGATrackSimBankSvc.h.

◆ m_SectorSlices

std::unique_ptr<FPGATrackSimSectorSlice> FPGATrackSimBankSvc::m_SectorSlices = nullptr
private

Definition at line 65 of file FPGATrackSimBankSvc.h.


The documentation for this class was generated from the following files: