FairRoot/PandaRoot
PndEmcStructure.h
Go to the documentation of this file.
1 //======================================================================
2 // Description:
3 // Class PndEmcStructure
4 //------------------------------------------------------------------------
5 //#pragma once
6 #ifndef PNDEMCSTRUCTURE_H
7 #define PNDEMCSTRUCTURE_H
8 
9 //#include <map>
10 //#include <string>
11 #include "TObject.h"
12 #include "TString.h"
13 #include "PndEmcDataTypes.h"
14 
15 class PndEmcXtal;
17 class TGeoManager;
18 
19 using std::string;
20 
25 class PndEmcStructure: public TObject
26 {
27 
28 public:
29  typedef std::map<Int_t, Float_t> mapper;
30  static PndEmcStructure* Instance();
31  static PndEmcStructure* Instance(TGeoManager*);
32 
33  virtual ~PndEmcStructure();
34 
35  const mapper& GetEmcX() const { return emcX ;};
36  const mapper& GetEmcY() const { return emcY ;};
37  const mapper& GetEmcZ() const { return emcZ ;};
38  // const std::map<PndEmcTwoCoordIndex*, PndEmcXtal*>& GetTciXtalMap() const { return fTciXtalMap ;};
39 
40  const PndEmcTciXtalMap& GetTciXtalMap() const { return fTciXtalMap ;};
41  PndEmcTwoCoordIndex* locateIndex( double theta, double phi ) const;
42  void Print(string, Int_t option=1) const;
43 
44 private:
45  bool crystal_name_analysis(TString,int &module,int &copy,int &row,int &crystal);
46 
47 protected:
48  PndEmcStructure(TGeoManager*);
49 private:
51 
55 
56  // std::map<PndEmcTwoCoordIndex*, PndEmcXtal*> fTciXtalMap;
58  ClassDef(PndEmcStructure,1)
59 };
60 
61 
62 #endif // PNDEMCSTRUCTURE_HH
int row
Definition: anaLmdDigi.C:67
PndEmcStructure(TGeoManager *)
PndEmcTciXtalMap fTciXtalMap
represents coordinates of one crystal
Definition: PndEmcXtal.h:36
stores crystal index coordinates (x,y) or (theta,phi)
const mapper & GetEmcY() const
void Print(string, Int_t option=1) const
geometry helper class
bool crystal_name_analysis(TString, int &module, int &copy, int &row, int &crystal)
static PndEmcStructure * _instance
const PndEmcTciXtalMap & GetTciXtalMap() const
PndEmcTwoCoordIndex * locateIndex(double theta, double phi) const
std::map< Int_t, Float_t > mapper
std::map< PndEmcTwoCoordIndex *, PndEmcXtal * > PndEmcTciXtalMap
static PndEmcStructure * Instance()
const mapper & GetEmcZ() const
const mapper & GetEmcX() const
virtual ~PndEmcStructure()