|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef MUON_MUONTRACKSTEERINGSTRATEGY_H
6 #define MUON_MUONTRACKSTEERINGSTRATEGY_H
13 #include "GaudiKernel/MsgStream.h"
32 std::vector<std::vector<MuonStationIndex::ChIndex> >&
path, std::vector<unsigned int>&
seedOrder) :
37 std::vector<std::vector<MuonStationIndex::ChIndex> >&
path) :
44 std::vector<std::vector<MuonStationIndex::ChIndex> >&
path, std::vector<unsigned int>&
seedOrder) :
56 void setCh(
const std::vector<MuonStationIndex::ChIndex>&
val,
const unsigned int layer);
57 void setCh(
const std::vector<std::vector<MuonStationIndex::ChIndex> >&
val) {
m_path =
val; }
60 const std::vector<std::vector<MuonStationIndex::ChIndex> >&
getAll()
const {
return m_path; }
61 const std::vector<MuonStationIndex::ChIndex>&
getCh(
const unsigned int)
const;
73 std::vector<std::vector<MuonStationIndex::ChIndex> >
m_path;
79 if (
opt ==
"CutSeedsOnTracks")
81 else if (
opt ==
"CombineSegInStation")
83 else if (
opt ==
"DynamicSeeding")
85 else if (
opt ==
"PreferOutsideIn")
87 else if (
opt ==
"AllowOneSharedHit")
89 else if (
opt ==
"DoRefinement")
91 else if (
opt ==
"DoAmbiSolving")
93 else if (
opt ==
"BarrelEndcapFilter")
97 std::vector<unsigned int>
seeds;
99 for (
unsigned int i = 0;
i <
opt.size() && success; ++
i) {
101 if (holder < 0 || holder > 9)
104 seeds.push_back(holder);
111 if (
opt == Last)
return;
126 throw std::range_error(
"MuonTrackSteering a path beyond the possible paths is chosen");
132 return m_bits[
static_cast<unsigned int>(op)];
136 sl <<
"MuonTrackSteeringStrategy " << mtss.
getName() <<
" with options: " << mtss.
allOptions() <<
" with seeds";
137 if (mtss.
seeds().size()) {
138 for (
unsigned int i = 0;
i < mtss.
seeds().
size(); ++
i) { sl <<
" " << mtss.
seeds()[
i]; }
141 sl <<
" and chambers are: " << std::endl;
143 sl <<
"\t Step " <<
i <<
" : ( ";
144 for (
unsigned int j = 0; j < mtss.
getCh(
i).
size() - 1; ++j) sl << mtss.
getCh(
i)[j] <<
" , ";
146 sl <<
" ) " << std::endl;
152 sl <<
"MuonTrackSteeringStrategy " << mtss.
getName() <<
" with options: " << mtss.
allOptions() <<
" with seeds";
153 if (mtss.
seeds().size()) {
154 for (
unsigned int i = 0;
i < mtss.
seeds().
size(); ++
i) { sl <<
" " << mtss.
seeds()[
i]; }
157 sl <<
" and chambers are: " << std::endl;
159 sl <<
"\t Step " <<
i <<
" : ( ";
160 for (
unsigned int j = 0; j < mtss.
getCh(
i).
size() - 1; ++j) sl << mtss.
getCh(
i)[j] <<
" , ";
162 sl <<
" ) " << std::endl;
void setCh(const std::vector< MuonStationIndex::ChIndex > &val, const unsigned int layer)
path
python interpreter configuration --------------------------------------—
const std::string & getName() const
void setCh(const std::vector< std::vector< MuonStationIndex::ChIndex > > &val)
const std::vector< std::vector< MuonStationIndex::ChIndex > > & getAll() const
std::bitset< Last > m_bits
List of all of the options available.
std::vector< std::vector< MuonStationIndex::ChIndex > > m_path
MuonTrackSteeringStrategy(const std::string &name, const std::bitset< Last > &bits, std::vector< std::vector< MuonStationIndex::ChIndex > > &path, std::vector< unsigned int > &seedOrder)
void setName(const std::string &name)
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
bool option(Option) const
const std::vector< MuonStationIndex::ChIndex > & getCh(const unsigned int) const
list seedOrder(flags, *list pixel=None, list strip=None)
void setSeeds(const std::vector< unsigned int > &val)
std::string m_path
the path being used
std::vector< unsigned int > m_seeds
MuonTrackSteeringStrategy(const std::string &name, std::vector< std::string > &options, std::vector< std::vector< MuonStationIndex::ChIndex > > &path, std::vector< unsigned int > &seedOrder)
std::ostream & operator<<(std::ostream &ostr, const Muon::HedgehogBoard &board)
const std::vector< unsigned int > & seeds() const
MuonTrackSteeringStrategy(const std::string &name, std::vector< std::string > &options, std::vector< std::vector< MuonStationIndex::ChIndex > > &path)
Constructor that assumes the seed order could come as part of the options.
void setOption(Option, bool value)
const std::bitset< Last > & allOptions() const