FairRoot/PandaRoot
PndSttMapCreator.h
Go to the documentation of this file.
1 #ifndef PNDSTTMAPCREATOR_H
2 #define PNDSTTMAPCREATOR_H
3 
4 #include <iostream>
5 #include <map>
6 #include "TObject.h"
7 #include "PndSttGeometryMap.h"
8 
10 class PndSttTube;
11 class PndGeoSttPar;
12 class FairGeoNode;
13 
14 class PndSttMapCreator : public TObject
15 {
16  public:
17 
19  PndSttMapCreator(Int_t geoType);
22 
23  void SetGeneralParameters();
24 
25  // TO BE IMPLEMENTED WITH GEO TYPE n
26  PndSttTubeParameters *CreateTubeParameters(FairGeoNode *pnode);
27  Int_t FillSttTubeParameters(PndGeoSttPar *par, TList* volList);
29 
30  TClonesArray* FillTubeArray();
33  TString GetPathFromTubeID(Int_t tubeid, Bool_t isCopy);
35  Int_t GetTubeIDFromPath(TString path);
36  PndSttTube * GetTubeFromTubeID(Int_t tubeid);
37 
39  private:
40 
41  Int_t fGeoType;
44 
45  // fGeoType1
46  std::map<int, int> copy_map;
47 
49  PndSttMapCreator& operator= (const PndSttMapCreator&) {return *this;};
50 
51  // GEO TYPE 1
53  Int_t FillSttTubeParametersGeoType1(PndGeoSttPar *par, TList* volList);
54  TClonesArray* FillTubeArrayGeoType1();
58  TString GetPathFromTubeIDGeoType1(Int_t tubeid, Bool_t isCopy);
60  PndSttTube * GetTubeFromTubeIDGeoType1(Int_t tubeid);
61 
62  // GEO TYPE 2 This should not be done like this. There should be individual creators with common interface TS
64  TClonesArray* FillTubeArrayGeoType2();
68  TString GetPathFromTubeIDGeoType2(Int_t tubeid, Bool_t isCopy);
70  PndSttTube * GetTubeFromTubeIDGeoType2(Int_t tubeid);
71 
72  protected:
73  TClonesArray *fTubeArray;
76 
77 
78  ClassDef(PndSttMapCreator,1)
79 
80 };
81 
82 #endif
TString GetNameFromPathGeoType2(TString path)
PndSttTube * GetTubeFromParametersToFillGeoType1(PndSttTubeParameters *parms)
Int_t GetTubeIDFromPathGeoType1(TString path)
Int_t FillSttTubeParametersType2(PndGeoSttPar *par)
TClonesArray * FillTubeArrayGeoType2()
TString GetPathFromTubeIDGeoType1(Int_t tubeid, Bool_t isCopy)
PndSttTube * GetTubeFromTubeIDGeoType2(Int_t tubeid)
PndSttGeometryMap * GetGeometryMap()
PndSttGeometryMap * fMap
PndSttTube * fSttTube
std::map< int, int > copy_map
TString GetPathFromTubeIDGeoType2(Int_t tubeid, Bool_t isCopy)
TString GetNameFromPathGeoType1(TString path)
TClonesArray * fTubeArray
Double_t par[3]
Int_t FillSttTubeParameters(PndGeoSttPar *par, TList *volList)
Int_t GetTubeIDFromPath(TString path)
PndSttTube * GetTubeFromTubeID(Int_t tubeid)
Int_t GetTubeIDFromNameGeoType2(TString name)
PndGeoSttPar * fSttParameters
Double_t
Int_t GetTubeIDFromPathGeoType2(TString path)
PndSttTube * GetTubeFromParametersToFillGeoType2(PndSttTubeParameters *parms)
TClonesArray * FillTubeArray()
PndSttTubeParameters * CreateTubeParametersGeoType1(FairGeoNode *pnode)
TString name
PndSttMapCreator & operator=(const PndSttMapCreator &)
TClonesArray * FillTubeArrayGeoType1()
PndSttTubeParameters * CreateTubeParameters(FairGeoNode *pnode)
Int_t GetTubeIDFromName(TString name)
Int_t FillSttTubeParametersGeoType1(PndGeoSttPar *par, TList *volList)
PndSttTubeParameters * CreateTubeParametersGeoType2(FairGeoNode *pnode)
PndSttTube * GetTubeFromParametersToFill(PndSttTubeParameters *parms)
TString GetPathFromTubeID(Int_t tubeid, Bool_t isCopy)
TString GetNameFromPath(TString path)
Int_t GetTubeIDFromNameGeoType1(TString name)
PndSttTube * GetTubeFromTubeIDGeoType1(Int_t tubeid)