PandaRoot
PndGeoHitList.h
Go to the documentation of this file.
1 #ifndef PNDGEOHITLIST_H
2 #define PNDGEOHITLIST_H
3 
4 #include "FairHit.h"
5 
6 #include "TGeoManager.h"
7 #include "TGeoNode.h"
8 #include "TGeoMatrix.h"
9 #include "TGeoVolume.h"
10 #include "TString.h"
11 #include "TClonesArray.h"
12 
13 #include <vector>
14 #include <iostream>
15 
17  public:
18  PndGeoHitList();
19  PndGeoHitList(TString groupName, TString topNodeName, TGeoVolume *baseVolume);
20  virtual ~PndGeoHitList();
21  PndGeoHitList(const PndGeoHitList &) = delete;
22  PndGeoHitList &operator=(const PndGeoHitList &) = delete;
23 
24  void CreateNewGroup(TString groupName, TString topNodeName, TGeoVolume *baseVolume);
25  void AddHit(FairHit *hit, Bool_t vis = kTRUE);
26  void AddHit(Double_t x, Double_t y, Double_t z, Bool_t vis = kTRUE);
27  void AddHit(TGeoMatrix *mat, Bool_t vis = kTRUE);
28  void AddHits(TClonesArray *hitList, Bool_t vis = kTRUE);
29  void SetHits(TClonesArray *hitList, Bool_t vis = kTRUE);
30  void RemoveGeoHits(Int_t from);
31  void CreateGeoHit(TGeoMatrix *mat);
32 
33  TString GetName() const { return fGroupName; };
34  const std::vector<TGeoNode *> GetNodes() const { return fNodeList; };
35  void SetVisibility(TString NodeName, bool value);
36  void SetVisibility(TGeoHMatrix pos, bool value);
37  void SetVisibility(Int_t id, bool value);
38  void SetAllInvisible();
39  Int_t GetNodeId(TString NodeName);
40  Int_t GetNodeId(TGeoHMatrix pos);
41 
42  private:
43  TString fGroupName;
44  TString fVolName;
45  std::vector<TGeoNode *> fNodeList;
46  TGeoVolume *fGroupVolume;
47  TGeoVolume *fTopVolume;
48  TGeoVolume *fBaseVolume;
49 
50  void CreateGeoHits(Int_t number);
51  void SetGeoHitsInvisible(Int_t from);
52 
53  ClassDef(PndGeoHitList, 1);
54 };
55 
56 #endif /*PNDGEOHITLIST_H*/
void SetVisibility(TString NodeName, bool value)
virtual ~PndGeoHitList()
void SetAllInvisible()
void AddHit(FairHit *hit, Bool_t vis=kTRUE)
void AddHits(TClonesArray *hitList, Bool_t vis=kTRUE)
void CreateGeoHit(TGeoMatrix *mat)
const std::vector< TGeoNode * > GetNodes() const
Definition: PndGeoHitList.h:34
void RemoveGeoHits(Int_t from)
TString GetName() const
Definition: PndGeoHitList.h:33
Int_t GetNodeId(TString NodeName)
void SetHits(TClonesArray *hitList, Bool_t vis=kTRUE)
PndGeoHitList & operator=(const PndGeoHitList &)=delete
void CreateNewGroup(TString groupName, TString topNodeName, TGeoVolume *baseVolume)