CMS 3D CMS Logo

CheckOverlap.h
Go to the documentation of this file.
1 #ifndef Validation_CheckOverlap_H
2 #define Validation_CheckOverlap_H
6 
7 #include <iostream>
8 #include <vector>
9 #include <map>
10 #include <string>
11 
12 class BeginOfRun;
13 class G4LogicalVolume;
14 class G4VPhysicalVolume;
15 
16 typedef std::multimap<G4LogicalVolume *, G4VPhysicalVolume *, std::less<G4LogicalVolume *> > mmlvpv;
17 
18 class CheckOverlap : public SimWatcher, public Observer<const BeginOfRun *> {
19 public:
21  ~CheckOverlap() override;
22 
23 private:
24  void update(const BeginOfRun *run) override;
25  void checkHierarchyLeafPVLV(G4LogicalVolume *lv, unsigned int leafDepth);
26  void checkPV(G4VPhysicalVolume *pv, unsigned int leafDepth);
27  G4VPhysicalVolume *getTopPV();
28  void dumpLV(G4LogicalVolume *lv, std::string str);
29 
30 private:
31  std::vector<std::string> nodeNames;
32  int nPoints;
33  std::vector<G4LogicalVolume *> topLV;
34 };
35 
36 #endif
void checkPV(G4VPhysicalVolume *pv, unsigned int leafDepth)
Definition: CheckOverlap.cc:89
void checkHierarchyLeafPVLV(G4LogicalVolume *lv, unsigned int leafDepth)
Definition: CheckOverlap.cc:64
~CheckOverlap() override
Definition: CheckOverlap.cc:30
std::multimap< G4LogicalVolume *, G4VPhysicalVolume *, std::less< G4LogicalVolume * > > mmlvpv
Definition: CheckOverlap.h:14
void dumpLV(G4LogicalVolume *lv, std::string str)
def pv(vc)
Definition: MetAnalyzer.py:7
void update(const BeginOfRun *run) override
This routine will be called when the appropriate signal arrives.
Definition: CheckOverlap.cc:32
std::vector< std::string > nodeNames
Definition: CheckOverlap.h:31
CheckOverlap(edm::ParameterSet const &p)
Definition: CheckOverlap.cc:20
G4VPhysicalVolume * getTopPV()
std::vector< G4LogicalVolume * > topLV
Definition: CheckOverlap.h:33
#define str(s)