CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TrackingMaterialProducer.h
Go to the documentation of this file.
1 #ifndef TrackingMaterialProducer_h
2 #define TrackingMaterialProducer_h
3 #include <string>
4 #include <vector>
5 
8 
9 #include "G4LogicalVolume.hh"
10 
12 
13 class BeginOfJob;
14 class BeginOfEvent;
15 class BeginOfTrack;
16 class EndOfTrack;
17 class G4Step;
18 
19 class G4StepPoint;
20 class G4VTouchable;
21 class G4VPhysicalVolume;
22 class G4LogicalVolume;
23 
25  public Observer<const BeginOfJob*>,
26  public Observer<const BeginOfEvent*>,
27  public Observer<const BeginOfTrack*>,
28  public Observer<const G4Step*>,
29  public Observer<const EndOfTrack*>
30 {
31 public:
33  virtual ~TrackingMaterialProducer();
34 
35 private:
36  void update(const BeginOfJob*);
37  void update(const BeginOfEvent*);
38  void update(const BeginOfTrack*);
39  void update(const G4Step*);
40  void update(const EndOfTrack*);
41  void produce(edm::Event&, const edm::EventSetup&);
42 
43  bool isSelected( const G4VTouchable* touch );
44 
45 private:
47  std::vector<std::string> m_selectedNames;
48  std::vector<const G4LogicalVolume *> m_selectedVolumes;
50  std::vector<MaterialAccountingTrack>* m_tracks;
51 };
52 
53 #endif // TrackingMaterialProducer_h
void produce(edm::Event &, const edm::EventSetup &)
MaterialAccountingTrack m_track
TrackingMaterialProducer(const edm::ParameterSet &)
std::vector< MaterialAccountingTrack > * m_tracks
std::vector< const G4LogicalVolume * > m_selectedVolumes
std::vector< std::string > m_selectedNames
void update(const BeginOfJob *)
This routine will be called when the appropriate signal arrives.
bool isSelected(const G4VTouchable *touch)