ATLAS Offline Software
RegionDataFromFile.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONCALIB_REGIONDATAFROMFILE_H
6 #define MUONCALIB_REGIONDATAFROMFILE_H
7 
8 #include <iostream>
9 #include <vector>
10 
11 namespace MuonCalib {
12 
16  struct MultilayerId {
17  MultilayerId() = default;
18  MultilayerId(int st, int e, int p, int m) : stName(st), eta(e), phi(p), ml(m) {}
19  int stName{-1};
20  int eta{-1};
21  int phi{-1};
22  int ml{-1};
23  };
24 
29  public:
31  typedef std::vector<id_type> id_vec;
32 
33  public:
36  id_vec getIdentifiers(int regionId) const;
37 
39  unsigned int nregions() const;
40 
41  void setNRegions(unsigned int nreg) {
42  m_nregions = nreg;
43  m_identifiersPerRegions.resize(nreg);
44  }
45 
48  bool addRegion(int regionIndex, const id_vec& ids);
49 
51  void clear();
52 
53  std::istream& read(std::istream& is);
54  std::ostream& write(std::ostream& os) const;
55 
56  private:
57  typedef std::vector<id_vec> id_vec_vec;
58 
60  unsigned int m_nregions;
62  };
63 
64 } // namespace MuonCalib
65 
66 std::istream& operator>>(std::istream& is, MuonCalib::RegionDataFromFile& data);
67 std::ostream& operator<<(std::ostream& os, const MuonCalib::RegionDataFromFile& data);
68 
69 #endif
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
MuonCalib::MultilayerId::MultilayerId
MultilayerId(int st, int e, int p, int m)
Definition: RegionDataFromFile.h:18
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
MuonCalib::RegionDataFromFile::id_vec
std::vector< id_type > id_vec
Definition: RegionDataFromFile.h:31
operator>>
std::istream & operator>>(std::istream &is, MuonCalib::RegionDataFromFile &data)
Definition: RegionDataFromFile.cxx:100
MuonCalib::RegionDataFromFile::m_identifiersPerRegions
id_vec_vec m_identifiersPerRegions
Definition: RegionDataFromFile.h:61
MuonCalib::RegionDataFromFile::getIdentifiers
id_vec getIdentifiers(int regionId) const
returns a vector containing all identifiers for the given regionId, returns an empty vector if the re...
Definition: RegionDataFromFile.cxx:14
MuonCalib::RegionDataFromFile::m_nregions
unsigned int m_nregions
map containing all identifiers for a given region id
Definition: RegionDataFromFile.h:60
MuonCalib::MultilayerId::eta
int eta
Definition: RegionDataFromFile.h:20
MuonCalib::RegionDataFromFile::write
std::ostream & write(std::ostream &os) const
Definition: RegionDataFromFile.cxx:80
MuonCalib::RegionDataFromFile::clear
void clear()
clear entries
Definition: RegionDataFromFile.cxx:36
MuonCalib::RegionDataFromFile::setNRegions
void setNRegions(unsigned int nreg)
Definition: RegionDataFromFile.h:41
MuonCalib::MultilayerId
Holds the station, eta, phi and multilayer Ids for a given multilayer.
Definition: RegionDataFromFile.h:16
MuonCalib::RegionDataFromFile::nregions
unsigned int nregions() const
returns the number of regions
MuonCalib
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
Definition: CscCalcPed.cxx:22
MuonCalib::MultilayerId::stName
int stName
Definition: RegionDataFromFile.h:19
operator<<
std::ostream & operator<<(std::ostream &os, const MuonCalib::RegionDataFromFile &data)
Definition: RegionDataFromFile.cxx:102
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
MuonCalib::RegionDataFromFile::id_type
MultilayerId id_type
Definition: RegionDataFromFile.h:30
python.subdetectors.mmg.ids
ids
Definition: mmg.py:8
MuonCalib::RegionDataFromFile::id_vec_vec
std::vector< id_vec > id_vec_vec
Definition: RegionDataFromFile.h:57
MuonCalib::RegionDataFromFile::addRegion
bool addRegion(int regionIndex, const id_vec &ids)
returns false if the region was already present, nothing is added in that case
Definition: RegionDataFromFile.cxx:25
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
MuonCalib::MultilayerId::phi
int phi
Definition: RegionDataFromFile.h:21
MuonCalib::RegionDataFromFile::read
std::istream & read(std::istream &is)
Definition: RegionDataFromFile.cxx:41
MuonCalib::RegionDataFromFile
Manages the I/O of the list of multilayers belonging to a calibration region.
Definition: RegionDataFromFile.h:28
MuonCalib::MultilayerId::MultilayerId
MultilayerId()=default
MuonCalib::MultilayerId::ml
int ml
Definition: RegionDataFromFile.h:22