LCIO  "2.7.4"
 All Classes Namespaces Functions Variables Typedefs Friends Pages
MCParticle.h
1 // -*- C++ -*-
2 // AID-GENERATED
3 // =========================================================================
4 // This class was generated by AID - Abstract Interface Definition
5 // DO NOT MODIFY, but use the org.freehep.aid.Aid utility to regenerate it.
6 // =========================================================================
7 #ifndef EVENT_MCPARTICLE_H
8 #define EVENT_MCPARTICLE_H 1
9 
10 #include "EVENT/LCObject.h"
11 #include "EVENT/MCParticle.h"
12 #include "empty_ignore.h"
13 
14 #include <vector>
15 
16 namespace EVENT {
17 
18 
19 class MCParticle ;
21 typedef std::vector<MCParticle*> MCParticleVec ;
27 class MCParticle : public LCObject {
28 
29 public:
31  virtual ~MCParticle() { /* nop */; }
32 
33 
36 
40  virtual double getEnergy() const = 0;
41 
44  virtual const float* getSpin() const = 0;
45 
48  virtual const int* getColorFlow() const = 0;
49 
52  virtual const MCParticleVec & getParents() const = 0;
53 
56  virtual const MCParticleVec & getDaughters() const = 0;
57 
60  virtual int getPDG() const = 0;
61 
68  virtual int getGeneratorStatus() const = 0;
69 
83  virtual int getSimulatorStatus() const = 0;
84 
85  // define the bit positions for the simulation flag
86 
87  static const int BITEndpoint = 31 ;
88  static const int BITCreatedInSimulation = 30 ;
89  static const int BITBackscatter = 29 ;
90  static const int BITVertexIsNotEndpointOfParent = 28 ;
91  static const int BITDecayedInTracker = 27 ;
92  static const int BITDecayedInCalorimeter = 26 ;
93  static const int BITLeftDetector = 25 ;
94  static const int BITStopped = 24 ;
95  static const int BITOverlay = 23 ;
96 
99  virtual bool isCreatedInSimulation() const = 0;
100 
107  virtual bool isBackscatter() const = 0;
108 
112  virtual bool vertexIsNotEndpointOfParent() const = 0;
113 
116  virtual bool isDecayedInTracker() const = 0;
117 
121  virtual bool isDecayedInCalorimeter() const = 0;
122 
125  virtual bool hasLeftDetector() const = 0;
126 
129  virtual bool isStopped() const = 0;
130 
133  virtual bool isOverlay() const = 0;
134 
135  // corresponding setters
136 // public void setCreatedInSimulation(boolean val) ;
137 // public void setBackscatter(boolean val) ;
138 // public void setVertexIsNotEndpointOfParent(boolean val) ;
139 // public void setDecayedInTracker(boolean val) ;
140 // public void setDecayedInCalorimeter(boolean val) ;
141 // public void setHasLeftDetector(boolean val) ;
142 // public void setStopped(boolean val) ;
143 // public void setOverlay(boolean val) ;
146  virtual const double* getVertex() const = 0;
147 
152  virtual float getTime() const = 0;
153 
160  virtual const double* getEndpoint() const = 0;
161 
165  virtual const double* getMomentum() const = 0;
166 
170  virtual const double* getMomentumAtEndpoint() const = 0;
171 
174  virtual double getMass() const = 0;
175 
178  virtual float getCharge() const = 0;
179 
180 }; // class
181 } // namespace EVENT
182 #endif /* ifndef EVENT_MCPARTICLE_H */
The generic object that is held in an LCCollection.
Definition: LCObject.h:30
std::vector< MCParticle * > MCParticleVec
Vector of (pointers to) MCParticles.
Definition: MCParticle.h:19
virtual const MCParticleVec & getParents() const =0
Returns the parents of this particle.
virtual const double * getMomentumAtEndpoint() const =0
Returns the particle's 3-momentum at the endpoint in [GeV] Only float used in files.
virtual bool isCreatedInSimulation() const =0
True if the particle has been created by the simulation program (rather than the generator).
virtual bool isDecayedInCalorimeter() const =0
True if the particle decayed or interacted (non-continuous interaction, particle terminated) in non-t...
virtual const float * getSpin() const =0
Returns the spin (helicity) vector of the particle.
virtual int getPDG() const =0
Returns the PDG code of the particle.
virtual bool isStopped() const =0
True if the particle lost all kinetic energy inside the world volume and did not decay.
virtual const int * getColorFlow() const =0
Returns the color flow as defined by the generator.
virtual double getMass() const =0
Returns the mass of the particle in [GeV] - only float used in files.
virtual bool hasLeftDetector() const =0
True if the particle left the world volume undecayed.
virtual bool isBackscatter() const =0
True if the particle was created by the simulator as a result of an interaction or decay in non-track...
virtual double getEnergy() const =0
Returns the energy of the particle (at the vertex) in [GeV] computed from the particle's momentum and...
virtual bool isDecayedInTracker() const =0
True if the particle decayed or interacted in a tracking region.
virtual int getGeneratorStatus() const =0
Returns the status for particles as defined by the generator, typically 0 empty line 1 undecayed ...
virtual const double * getVertex() const =0
Returns the production vertex of the particle in [mm].
virtual int getSimulatorStatus() const =0
Returns the status for particles from the simulation, e.g.
The LCIO Monte Carlo particle.
Definition: MCParticle.h:27
virtual float getCharge() const =0
Returns the particle's charge.
MCParticle lcobject_type
Useful typedef for template programming with LCIO.
Definition: MCParticle.h:35
virtual const double * getEndpoint() const =0
Returns the endpoint of the particle in [mm] if the endpoint has been set explicetly.
virtual const double * getMomentum() const =0
Returns the particle's 3-momentum at the production vertex in [GeV].
virtual bool isOverlay() const =0
True if the particle has been overlayed by the simulation (or digitization) program.
virtual const MCParticleVec & getDaughters() const =0
Returns the daughters of this particle.
virtual bool vertexIsNotEndpointOfParent() const =0
True if the particle was created as a result of a continuous process where the parent particle contin...
virtual float getTime() const =0
The creation time of the particle in [ns] wrt.
virtual ~MCParticle()
Destructor.
Definition: MCParticle.h:31