CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 BeginOfJob;
13 class BeginOfRun;
14 class G4LogicalVolume;
15 class G4VPhysicalVolume;
16 
17 typedef std::multimap< G4LogicalVolume*, G4VPhysicalVolume*, std::less<G4LogicalVolume*> > mmlvpv;
18 
19 class CheckOverlap : public SimWatcher,
20  public Observer<const BeginOfRun *> {
21 
22 public:
23 
25  ~CheckOverlap();
26 
27 private:
28 
29  void update(const BeginOfRun * run);
30  void checkHierarchyLeafPVLV(G4LogicalVolume * lv, unsigned int leafDepth);
31  void checkPV(G4VPhysicalVolume * pv, unsigned int leafDepth);
32  G4VPhysicalVolume * getTopPV();
33  void dumpLV(G4LogicalVolume * lv, std::string str);
34 
35 private:
36 
37  std::vector<std::string> nodeNames;
38  int nPoints;
39  std::vector<G4LogicalVolume*> topLV;
40 
41 };
42 
43 #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
void update(const BeginOfRun *run)
This routine will be called when the appropriate signal arrives.
Definition: CheckOverlap.cc:34
void dumpLV(G4LogicalVolume *lv, std::string str)
std::vector< G4LogicalVolume * > topLV
Definition: CheckOverlap.h:39
std::vector< std::string > nodeNames
Definition: CheckOverlap.h:37
CheckOverlap(edm::ParameterSet const &p)
Definition: CheckOverlap.cc:21
G4VPhysicalVolume * getTopPV()