PandaRoot
BSEmcFwEndcap_AgThomaBonnVersion_SensorNameIdMap.h
Go to the documentation of this file.
1 #ifndef BSEMCFWENDCAP_AGTHOMABONNVERSION_SENSORNAMEIDMAP_HH
2 #define BSEMCFWENDCAP_AGTHOMABONNVERSION_SENSORNAMEIDMAP_HH
3 
4 #include <utility>
5 #include <vector>
6 
7 #include "Rtypes.h"
8 #include "RtypesCore.h"
9 #include "TString.h"
10 
11 #include "PndSensorNameIdMap.h"
12 
13 class TBuffer;
14 class TClass;
15 class TMemberInspector;
16 class TString;
17 
27  public:
30  virtual Int_t CreateId(TString &t_sensName) const /*override*/;
31 
32  private:
33  std::pair<Int_t, Int_t> ConvertIntoAlveole(Int_t t_section, Int_t t_alveolex, Int_t t_alveoley) const;
34  Int_t RemapCrystal(Int_t t_crystal, Int_t t_alveolex, Int_t t_alveoley) const;
35  Bool_t IsIncludedIn(Int_t t_xIndex, Int_t t_yIndex, const std::vector<std::pair<Int_t, Int_t>> &t_indices) const;
36  Int_t CalculateRow(Int_t t_crystal, Int_t t_xAlveoleIndex, Int_t t_yAlveoleIndex) const;
37  Int_t CalculateColumn(Int_t t_crystal, Int_t t_xAlveoleIndex, Int_t t_yAlveoleIndex) const;
38 
39  std::vector<std::pair<Int_t, Int_t>> f0DegRot{};
40  std::vector<std::pair<Int_t, Int_t>> f90DegRot{};
41  std::vector<std::pair<Int_t, Int_t>> f180DegRot{};
42  std::vector<std::pair<Int_t, Int_t>> f270DegRot{};
43  std::vector<std::pair<Int_t, Int_t>> fRequireOffset{};
44 
46 };
47 
48 #endif /*BSEMCFWENDCAP_AGTHOMABONNVERSION_SENSORNAMEIDMAP_HH*/
Base class for NameIdMaps used by the EmcGeoHandling singleton to retrieve a detector id from a name ...
virtual Int_t CreateId(TString &t_sensName) const
FwEndcap specific crystal-geometry-name decoding into detector Id used by EmcDetector.