CMS 3D CMS Logo

RHStopTracer.h
Go to the documentation of this file.
1 #ifndef SimG4Core_CustomPhysics_RHStopTracer_H
2 #define SimG4Core_CustomPhysics_RHStopTracer_H
3 
5 
8 
9 #include <regex>
10 
11 class BeginOfRun;
12 class BeginOfEvent;
13 class BeginOfTrack;
14 class EndOfTrack;
15 class G4Step;
16 class G4ParticleDefinition;
17 
18 class RHStopTracer : public SimProducer,
19  public Observer<const BeginOfRun *>,
20  public Observer<const BeginOfEvent *>,
21  public Observer<const BeginOfTrack *>,
22  public Observer<const EndOfTrack *> {
23 public:
25  ~RHStopTracer() override;
26  void update(const BeginOfRun *) override;
27  void update(const BeginOfEvent *) override;
28  void update(const BeginOfTrack *) override;
29  void update(const EndOfTrack *) override;
30  void produce(edm::Event &, const edm::EventSetup &) override;
31 
32 private:
33  struct StopPoint {
35  const std::string &fName, double fX, double fY, double fZ, double fT, int fId, double fMass, double fCharge)
36  : name(fName), x(fX), y(fY), z(fZ), t(fT), id(fId), mass(fMass), charge(fCharge) {}
38  double x;
39  double y;
40  double z;
41  double t;
42  int id;
43  double mass;
44  double charge;
45  };
47  double mTraceEnergy;
48  int minPdgId;
49  int maxPdgId;
52  std::regex rePartName;
53  std::vector<StopPoint> mStopPoints;
54 };
55 
56 #endif
RHStopTracer::RHStopTracer
RHStopTracer(edm::ParameterSet const &p)
Definition: RHStopTracer.cc:20
RHStopTracer::mTraceParticleName
std::string mTraceParticleName
Definition: RHStopTracer.h:51
Observer
Definition: Observer.h:23
RHStopTracer::minPdgId
int minPdgId
Definition: RHStopTracer.h:48
RHStopTracer::rePartName
std::regex rePartName
Definition: RHStopTracer.h:52
SimProducer.h
RHStopTracer::mStopRegular
bool mStopRegular
Definition: RHStopTracer.h:46
RHStopTracer::StopPoint::t
double t
Definition: RHStopTracer.h:41
EndOfTrack
Definition: EndOfTrack.h:6
RHStopTracer::produce
void produce(edm::Event &, const edm::EventSetup &) override
Definition: RHStopTracer.cc:105
Observer.h
MainPageGenerator.fName
fName
Definition: MainPageGenerator.py:301
RHStopTracer::update
void update(const BeginOfRun *) override
This routine will be called when the appropriate signal arrives.
Definition: RHStopTracer.cc:46
RHStopTracer::maxPdgId
int maxPdgId
Definition: RHStopTracer.h:49
RHStopTracer::mTraceEnergy
double mTraceEnergy
Definition: RHStopTracer.h:47
RHStopTracer::StopPoint::id
int id
Definition: RHStopTracer.h:42
RHStopTracer::mStopPoints
std::vector< StopPoint > mStopPoints
Definition: RHStopTracer.h:53
RHStopTracer::otherPdgId
int otherPdgId
Definition: RHStopTracer.h:50
BeginOfTrack
Definition: BeginOfTrack.h:6
RHStopTracer::StopPoint::z
double z
Definition: RHStopTracer.h:40
edm::ParameterSet
Definition: ParameterSet.h:47
AlCaHLTBitMon_ParallelJobs.p
def p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
SimProducer
Definition: SimProducer.h:64
RHStopTracer::~RHStopTracer
~RHStopTracer() override
Definition: RHStopTracer.cc:44
RHStopTracer::StopPoint::charge
double charge
Definition: RHStopTracer.h:44
RHStopTracer
Definition: RHStopTracer.h:18
RHStopTracer::StopPoint::mass
double mass
Definition: RHStopTracer.h:43
BeginOfEvent
Definition: BeginOfEvent.h:6
BeginOfRun
Definition: BeginOfRun.h:6
edm::EventSetup
Definition: EventSetup.h:58
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
RHStopTracer::StopPoint::name
std::string name
Definition: RHStopTracer.h:37
hydjet2DefaultParameters_cff.fT
fT
Definition: hydjet2DefaultParameters_cff.py:37
RHStopTracer::StopPoint::y
double y
Definition: RHStopTracer.h:39
RHStopTracer::StopPoint::StopPoint
StopPoint(const std::string &fName, double fX, double fY, double fZ, double fT, int fId, double fMass, double fCharge)
Definition: RHStopTracer.h:34
RHStopTracer::StopPoint::x
double x
Definition: RHStopTracer.h:38
RHStopTracer::StopPoint
Definition: RHStopTracer.h:33
ParameterSet.h
edm::Event
Definition: Event.h:73