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,
19  public Observer<const BeginOfRun *> {
20 
21 public:
22 
24  ~CheckOverlap() override;
25 
26 private:
27 
28  void update(const BeginOfRun * run) override;
29  void checkHierarchyLeafPVLV(G4LogicalVolume * lv, unsigned int leafDepth);
30  void checkPV(G4VPhysicalVolume * pv, unsigned int leafDepth);
31  G4VPhysicalVolume * getTopPV();
32  void dumpLV(G4LogicalVolume * lv, std::string str);
33 
34 private:
35 
36  std::vector<std::string> nodeNames;
37  int nPoints;
38  std::vector<G4LogicalVolume*> topLV;
39 
40 };
41 
42 #endif
void checkPV(G4VPhysicalVolume *pv, unsigned int leafDepth)
Definition: CheckOverlap.cc:93
void checkHierarchyLeafPVLV(G4LogicalVolume *lv, unsigned int leafDepth)
Definition: CheckOverlap.cc:66
std::multimap< G4LogicalVolume *, G4VPhysicalVolume *, std::less< G4LogicalVolume * > > mmlvpv
Definition: CheckOverlap.h:14
~CheckOverlap() override
Definition: CheckOverlap.cc:31
void dumpLV(G4LogicalVolume *lv, std::string str)
std::vector< G4LogicalVolume * > topLV
Definition: CheckOverlap.h:38
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:33
std::vector< std::string > nodeNames
Definition: CheckOverlap.h:36
CheckOverlap(edm::ParameterSet const &p)
Definition: CheckOverlap.cc:20
G4VPhysicalVolume * getTopPV()
#define str(s)