FairRoot/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 
20  public:
21 
23  PndTrkSttHitList(TClonesArray *tubearray);
25 
26  static PndTrkSttHitList * Instance();
28 
29  void AddHit(Int_t hitid, Int_t detid, FairHit *hit);
30  void AddHit(PndTrkHit *hit);
31 
32 
33  int GetNofHitsInLayer(int ilay);
34  std::vector< PndTrkHit* > GetHitListFromLayer(int ilay);
35  PndTrkHit *GetHitFromLayer(int ihit, int ilay);
36  void PrintLayer(int ilay);
37  void DrawLayer(int ilay, Color_t color);
38  void PrintLayers();
39 
40 
41  int GetNofHitsInSector(int isec);
42  std::vector< PndTrkHit* > GetHitListFromSector(int isec);
43  PndTrkHit *GetHitFromSector(int ihit, int isec);
44  void DrawSector(int isec, Color_t color = kBlack);
45  void PrintSector(int isec);
46  void PrintSectors();
47 
48  int GetNofHitsInSectorAndLayer(int isec, int ilay);
49  std::vector< PndTrkHit* > GetHitListFromSectorAndLayer(int isec, int ilay);
50  PndTrkHit *GetHitFromSectorAndLayer(int ihit, int isec, int ilay);
51  void DrawSectorAndLayer(int isec, int ilay, Color_t color = kBlack);
52  void PrintSectorAndLayer(int isec, int ilay);
53  void PrintSectorsAndLayers();
54 
55  Int_t FromSecLayToGlo(int isec, int ilay);
56  void FromGloToSecLay(int iglo, int &isec, int &ilay);
57 
58  std::vector< PndTrkHit* > GetHitList();
59 
60  void SetTubeArray(TClonesArray *tubeArray) { fTubeArray = tubeArray; }
61 
62  void Clear() {
63  ClearList();
64  fInstance = NULL;
65  hitmap.clear();
66  hitmap2.clear();
67  hitmap3.clear();
68  }
69 
70 
71  protected:
73  TClonesArray *fTubeArray;
74 
75  std::multimap< int , int > hitmap;
76  std::multimap< int, int > hitmap2;
77  std::multimap< int, int > hitmap3;
79 };
80 
81 
82 #endif
static PndTrkSttHitList * fInstance
void DrawLayer(int ilay, Color_t color)
PndTrkSttHitList * Instanciate()
std::vector< PndTrkHit * > GetHitList()
PndTrkHit * GetHitFromLayer(int ihit, int ilay)
std::multimap< int, int > hitmap2
PndTrkHit * GetHitFromSectorAndLayer(int ihit, int isec, int ilay)
int GetNofHitsInSector(int isec)
ClassDef(PndTrkSttHitList, 1)
PndTrkHit * GetHitFromSector(int ihit, int isec)
void FromGloToSecLay(int iglo, int &isec, int &ilay)
std::vector< PndTrkHit * > GetHitListFromLayer(int ilay)
void ClearList()
Definition: PndTrkHitList.h:52
std::vector< PndTrkHit * > GetHitListFromSector(int isec)
int isec
Definition: f_Init.h:19
void SetTubeArray(TClonesArray *tubeArray)
std::multimap< int, int > hitmap3
void PrintSector(int isec)
int GetNofHitsInLayer(int ilay)
int hit(Int_t nEvents=0, TString inFile="sim.root", TString parFile="par.root", TString inDigi="digi.root", TString outFile="hit.root", Int_t timeBased=0)
Definition: hit.C:1
std::multimap< int, int > hitmap
void PrintSectorAndLayer(int isec, int ilay)
TClonesArray * fTubeArray
static PndTrkSttHitList * Instance()
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)
std::vector< PndTrkHit * > GetHitListFromSectorAndLayer(int isec, int ilay)
void PrintLayer(int ilay)
Int_t FromSecLayToGlo(int isec, int ilay)
void DrawSector(int isec, Color_t color=kBlack)