PandaRoot
PndTrkSttHitList.h
Go to the documentation of this file.
1 
6 #ifndef PNDTRKSTTHITLIST_H
7 #define PNDTRKSTTHITLIST_H 1
8 
9 #include "PndTrkHitList.h"
10 
11 #include "TVector3.h"
12 #include "PndTrkHit.h"
13 #include "PndSttHit.h"
14 
15 #define MAXNOFSTTHITS 1000 // CHECK consistency
16 
18 
19  public:
21  PndTrkSttHitList(TClonesArray *tubearray);
23 
24  static PndTrkSttHitList *Instance();
26 
27  void AddHit(Int_t hitid, Int_t detid, FairHit *hit);
28  void AddHit(PndTrkHit *hit);
29 
30  int GetNofHitsInLayer(int ilay);
31  std::vector<PndTrkHit *> GetHitListFromLayer(int ilay);
32  PndTrkHit *GetHitFromLayer(int ihit, int ilay);
33  void PrintLayer(int ilay);
34  void DrawLayer(int ilay, Color_t color);
35  void PrintLayers();
36 
37  int GetNofHitsInSector(int isec);
38  std::vector<PndTrkHit *> GetHitListFromSector(int isec);
39  PndTrkHit *GetHitFromSector(int ihit, int isec);
40  void DrawSector(int isec, Color_t color = kBlack);
41  void PrintSector(int isec);
42  void PrintSectors();
43 
44  int GetNofHitsInSectorAndLayer(int isec, int ilay);
45  std::vector<PndTrkHit *> GetHitListFromSectorAndLayer(int isec, int ilay);
46  PndTrkHit *GetHitFromSectorAndLayer(int ihit, int isec, int ilay);
47  void DrawSectorAndLayer(int isec, int ilay, Color_t color = kBlack);
48  void PrintSectorAndLayer(int isec, int ilay);
49  void PrintSectorsAndLayers();
50 
51  Int_t FromSecLayToGlo(int isec, int ilay);
52  void FromGloToSecLay(int iglo, int &isec, int &ilay);
53 
54  std::vector<PndTrkHit *> GetHitList();
55 
56  void SetTubeArray(TClonesArray *tubeArray) { fTubeArray = tubeArray; }
57 
58  void Clear()
59  {
60  ClearList();
61  fInstance = nullptr;
62  hitmap.clear();
63  hitmap2.clear();
64  hitmap3.clear();
65  }
66 
67  protected:
69  TClonesArray *fTubeArray;
70 
71  std::multimap<int, int> hitmap;
72  std::multimap<int, int> hitmap2;
73  std::multimap<int, int> hitmap3;
75 };
76 
77 #endif
void PrintSectorsAndLayers()
void DrawLayer(int ilay, Color_t color)
std::multimap< int, int > hitmap3
std::vector< PndTrkHit * > GetHitList()
std::multimap< int, int > hitmap
PndTrkHit * GetHitFromSectorAndLayer(int ihit, int isec, int ilay)
int GetNofHitsInSector(int isec)
ClassDef(PndTrkSttHitList, 1)
void FromGloToSecLay(int iglo, int &isec, int &ilay)
void ClearList()
Definition: PndTrkHitList.h:53
std::vector< PndTrkHit * > GetHitListFromSectorAndLayer(int isec, int ilay)
int isec
Definition: f_Init.h:16
void SetTubeArray(TClonesArray *tubeArray)
std::vector< PndTrkHit * > GetHitListFromSector(int isec)
std::multimap< int, int > hitmap2
PndTrkSttHitList * Instanciate()
static PndTrkSttHitList * fInstance
void PrintSector(int isec)
static PndTrkSttHitList * Instance()
PndTrkHit * GetHitFromLayer(int ihit, int ilay)
int GetNofHitsInLayer(int ilay)
void PrintSectorAndLayer(int isec, int ilay)
TClonesArray * fTubeArray
int GetNofHitsInSectorAndLayer(int isec, int ilay)
void AddHit(Int_t hitid, Int_t detid, FairHit *hit)
void DrawSectorAndLayer(int isec, int ilay, Color_t color=kBlack)
PndTrkHit * GetHitFromSector(int ihit, int isec)
std::vector< PndTrkHit * > GetHitListFromLayer(int ilay)
void PrintLayer(int ilay)
Int_t FromSecLayToGlo(int isec, int ilay)
void DrawSector(int isec, Color_t color=kBlack)