FairRoot/PandaRoot
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
PndEmcMapperGeo3RootV2 Class Reference

#include <PndEmcMapper.h>

Inheritance diagram for PndEmcMapperGeo3RootV2:
PndEmcMapper

Public Member Functions

 PndEmcMapperGeo3RootV2 ()
 
const std::map< Int_t,
PndEmcTwoCoordIndex * > & 
GetTciMap ()
 
Int_t GetMapVersion () const
 
void Add (PndEmcMapper *)
 
PndEmcTwoCoordIndexGetTCI (Int_t DetectorId)
 

Static Public Member Functions

static PndEmcMapperInstance ()
 
static void Init (Int_t MapVersion)
 

Protected Attributes

std::map< Int_t,
PndEmcTwoCoordIndex * > 
fIntTwoCoordMap
 

Detailed Description

Definition at line 76 of file PndEmcMapper.h.

Constructor & Destructor Documentation

PndEmcMapperGeo3RootV2::PndEmcMapperGeo3RootV2 ( )

Definition at line 238 of file PndEmcMapper.cxx.

References col, PndEmcMapper::fIntTwoCoordMap, and row.

239 {
240  PndEmcTwoCoordIndex *_tci;
241  Int_t detId, detId_tmp, iX, iY; //iTheta, iPhi, //[R.K. 01/2017] unused variable
242  detId = detId_tmp =iX = iY = 0; //iTheta = iPhi = //[R.K. 01/2017] unused variable
243 
244  Int_t module =3;
245  for (Int_t row = -37; row <= 37; row++)
246  for (Int_t col = -36; col <= 36; col++)
247  if (row != 0 && col != 0)//in copy numbering of the crystals in the geometry root file, there's no CrystalCol=0 or CrystalRow=0
248  {
249  detId = module*100000000 + (row+37)*1000000 + (col+36);
250 
251  iX = -col; //the minus sign before 'iX' is introduced, since the geometry of FwEndCap gets rotated by 180 deg around the y-axis in PndEmc.cxx
252  iY = row;
253  if (iX >0) // these two if conditions are introduced here to make the mapping down here (_tci) a continuous pattern
254  iX -= 1;
255  if (iY >0)
256  iY -= 1;
257  _tci=new PndEmcTwoCoordIndex(iX+250,iY+250,detId);
258 
259  fIntTwoCoordMap[detId]=_tci;
260  }
261 }
int row
Definition: anaLmdDigi.C:67
int col
Definition: anaLmdDigi.C:67
stores crystal index coordinates (x,y) or (theta,phi)
std::map< Int_t, PndEmcTwoCoordIndex * > fIntTwoCoordMap
Definition: PndEmcMapper.h:40

Member Function Documentation

void PndEmcMapper::Add ( PndEmcMapper newMapper)
inherited

Definition at line 89 of file PndEmcMapper.cxx.

References PndEmcMapper::fIntTwoCoordMap, and PndEmcMapper::GetTciMap().

Referenced by PndEmcMapper::Init().

90 {
91  std::map<Int_t,PndEmcTwoCoordIndex* > newMapp = newMapper->GetTciMap();
92 
93  fIntTwoCoordMap.insert(newMapp.begin(),newMapp.end());
94 }
const std::map< Int_t, PndEmcTwoCoordIndex * > & GetTciMap()
std::map< Int_t, PndEmcTwoCoordIndex * > fIntTwoCoordMap
Definition: PndEmcMapper.h:40
Int_t PndEmcMapper::GetMapVersion ( ) const
inlineinherited

Accessors

Definition at line 34 of file PndEmcMapper.h.

References PndEmcMapper::fMapVersion.

34 { return fMapVersion ;};
static Int_t fMapVersion
Definition: PndEmcMapper.h:45
PndEmcTwoCoordIndex * PndEmcMapper::GetTCI ( Int_t  DetectorId)
inherited
const std::map< Int_t, PndEmcTwoCoordIndex * > & PndEmcMapper::GetTciMap ( )
inherited

Definition at line 441 of file PndEmcMapper.cxx.

References PndEmcMapper::fIntTwoCoordMap.

Referenced by PndEmcMapper::Add(), and PndEmcHitsToWaveform::Exec().

442 {
443  return fIntTwoCoordMap;
444 }
std::map< Int_t, PndEmcTwoCoordIndex * > fIntTwoCoordMap
Definition: PndEmcMapper.h:40
PndEmcMapper::Init ( Int_t  MapVersion)
staticinherited

Definition at line 25 of file PndEmcMapper.cxx.

References PndEmcMapper::_instance, PndEmcMapper::Add(), and PndEmcMapper::fMapVersion.

Referenced by anaPatternRecoQuality(), clonemc(), dbuilder(), generatePatternDB(), PndEmcGeoPar::InitEmcMapper(), kfparticle(), patternMatcher(), pid(), pid2_complete(), pid_box(), pid_complete(), pid_complete_runs(), pid_complete_sec(), pid_day1(), pid_multi(), pid_rich(), pidideal_complete(), pidideal_day1(), prod_pid(), prod_rec(), reco(), reco2_complete(), reco_box(), reco_complete(), reco_complete_gf2(), reco_complete_runs(), reco_complete_sec(), reco_completeCA(), reco_day1(), reco_fts(), reco_multi(), reco_rich(), reco_sttcombi(), recoideal_box(), recoideal_complete(), recoideal_day1(), recolocal_complete(), recoqa_complete(), run_reco_complete(), run_reco_sttcombi_timebased(), run_tracking_sttcombi_timebased(), runTrackingPid(), testFilter(), trackingQA_complete(), trackingQA_forward_complete(), and trackingQANewLinks().

26 {
27  if (mapVersion==0)
28  {
29  cout<<"Emc mapper version 0 does not exist"<<endl;
30  }
31  else if (mapVersion!=fMapVersion)
32  {
33  fMapVersion=mapVersion;
34  switch (mapVersion) {
35  case 1:
40  break;
41  case 2:
46  break;
47  case 3:
52  break;
53  case 4:
55  break;
56  case 5:
58  break;
59  case 6:
61  break;
62  case 7:
64  break;
65  case 8: // old backward emc mappping (geom. version 2008)
67  break;
68  case 9: // old barrel emc mapping
73  break;
74  default :
75  cout<<"Emc Mapper version "<<mapVersion<<" is not defined"<<endl;
76  }
77  }
78 }
static Int_t fMapVersion
Definition: PndEmcMapper.h:45
void Add(PndEmcMapper *)
static PndEmcMapper * _instance
Definition: PndEmcMapper.h:44
PndEmcMapper::Instance ( )
staticinherited

Member Data Documentation

std::map<Int_t,PndEmcTwoCoordIndex* > PndEmcMapper::fIntTwoCoordMap
protectedinherited

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