LCIO  "2.7.4"
 All Classes Namespaces Functions Variables Typedefs Friends Pages
ReconstructedParticle.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_RECONSTRUCTEDPARTICLE_H
8 #define EVENT_RECONSTRUCTEDPARTICLE_H 1
9 
10 #include "EVENT/Cluster.h"
11 #include "EVENT/LCObject.h"
12 #include "EVENT/ParticleID.h"
13 #include "EVENT/ReconstructedParticle.h"
14 #include "EVENT/Track.h"
15 #include "LCIOSTLTypes.h"
16 #include "empty_ignore.h"
17 
18 namespace EVENT {
19 
20 class Cluster;
21 class ParticleID;
22 class Track;
23 class Vertex;
24 
25 
28 typedef std::vector<ReconstructedParticle*> ReconstructedParticleVec ;
36 
37 public:
39  virtual ~ReconstructedParticle() { /* nop */; }
40 
41 
44 
45 //
46 // @cpp{
47 // public:
48 // static const int UNKNOWN = 0 ;
49 // static const int SINGLE = 1 ;
50 // static const int V0 = 2 ;
51 // static const int COMPOUND = 3 ;
52 // static const int JET = 4 ;
53 // }
54 //
59  virtual int getType() const = 0;
60 
61 // /** Return particles primary flag. All particles in the ReconstructedParticle
62 // * collection should by definition return true. Compound partciles will return false.
63 // */
64 // public boolean isPrimary() const ;
67  virtual bool isCompound() const = 0;
68 
71  virtual const double* getMomentum() const = 0;
72 
75  virtual double getEnergy() const = 0;
76 
81  virtual const FloatVec & getCovMatrix() const = 0;
82 
86  virtual double getMass() const = 0;
87 
90  virtual float getCharge() const = 0;
91 
94  virtual const float* getReferencePoint() const = 0;
95 
99  virtual const ParticleIDVec & getParticleIDs() const = 0;
100 
104  virtual ParticleID * getParticleIDUsed() const = 0;
105 
108  virtual float getGoodnessOfPID() const = 0;
109 
112  virtual const ReconstructedParticleVec & getParticles() const = 0;
113 
114 // /** The weights of the reconstructed particles combined to this particle
115 // */
116 // public const FloatVec& getParticleWeights() const ;
119  virtual const ClusterVec & getClusters() const = 0;
120 
121 // /** The weights of cluster contributions to this particle
122 // */
123 // public const FloatVec& getClusterWeights() const ;
126  virtual const TrackVec & getTracks() const = 0;
127 
130  virtual Vertex * getStartVertex() const = 0;
131 
135  virtual Vertex * getEndVertex() const = 0;
136 
137  // set methods
138 // /** Set the type of reconstructed particle, one of:<br>
139 // * ReconstructedParticle::SINGLE,<br>
140 // * ReconstructedParticle::V0,<br>
141 // * ReconstructedParticle::COMPOUND,<br>
142 // * ReconstructedParticle::JET<br>
143 // */
144 // public void setType( int type) ;
145 // /**Set primary flag.
146 // */
147 // public void setPrimary( boolean primary ) ;
148 // /** Set particle momentum (px,py,pz).
149 // */
150 // public void setMomentum( const float3V momentum ) ;
151 // /**Set energy.
152 // */
153 // public void setEnergy( float energy) ;
154 // /** Set the values of the covariance matrix of the particles four vector (px,py,pz,E).
155 // */
156 // public void setCovMatrix( const float3V cov ) ;
157 //
158 // /** Set the values of the covariance matrix of the particles four vector (px,py,pz,E).
159 // */
160 // public void setCovMatrix( const FloatVec& cov ) ;
161 //
162 // /**Set mass - independently from four vector.
163 // */
164 // public void setMass( float mass ) ;
165 // /** Set the charge.
166 // */
167 // public void setCharge( float charge ) ;
168 // /**Set the reference point, i.e. the point where the four vector is defined.
169 // */
170 // public void setReferencePoint( const float3V reference ) ;
174  virtual void addParticleID(ParticleID * pid) = 0;
175 
178  virtual void addParticle(ReconstructedParticle * particle) = 0;
179 
182  virtual void addCluster(Cluster * cluster) = 0;
183 
186  virtual void addTrack(Track * track) = 0;
187 
188 // /**Add a hypothesis for the MCParticle that this reconstructed particle corresponds to.
189 // */
190 // public void addMCParticle( MCParticle* mcParticle , float weight = 1.0 ) ;
191 }; // class
192 } // namespace EVENT
193 #endif /* ifndef EVENT_RECONSTRUCTEDPARTICLE_H */
The generic object that is held in an LCCollection.
Definition: LCObject.h:30
virtual const ParticleIDVec & getParticleIDs() const =0
The particle Id's sorted by their likelihood.
virtual const ReconstructedParticleVec & getParticles() const =0
The reconstructed particles that have been combined to this particle.
virtual Vertex * getEndVertex() const =0
The vertex where the particle decays This method actually returns the start vertex from the first dau...
virtual void addTrack(Track *track)=0
Add a track that has been used to create this particle.
virtual double getEnergy() const =0
Energy of the reconstructed particle - only float used in files.
The Vertex class for LCIO.
Definition: Vertex.h:34
virtual int getType() const =0
Type of reconstructed particle.
virtual float getCharge() const =0
Charge of the reconstructed particle.
std::vector< Track * > TrackVec
Vector of (pointers to) Tracks.
Definition: Track.h:22
std::vector< ParticleID * > ParticleIDVec
Vector of (pointers to) ParticleIDs.
Definition: ParticleID.h:16
std::vector< float > FloatVec
Vector of floats.
Definition: LCIOSTLTypes.h:18
virtual void addParticle(ReconstructedParticle *particle)=0
Add a particle that has been used to create this particle.
std::vector< Cluster * > ClusterVec
Vector of (pointers to) Clusters.
Definition: Cluster.h:20
virtual const ClusterVec & getClusters() const =0
The weights of the reconstructed particles combined to this particle.
virtual bool isCompound() const =0
Return particles primary flag.
The LCIO cluster.
Definition: Cluster.h:30
The LCIO track class.
Definition: Track.h:33
virtual const FloatVec & getCovMatrix() const =0
Covariance matrix of the reconstructed particle's 4vector (10 parameters).
ReconstructedParticle lcobject_type
Useful typedef for template programming with LCIO.
Definition: ReconstructedParticle.h:43
virtual float getGoodnessOfPID() const =0
The overall goodness of the PID on a scale of [0;1].
The LCIO reconstructedParticle.
Definition: ReconstructedParticle.h:35
Persistent interface for LCIO ParticleIDs.
Definition: ParticleID.h:28
virtual Vertex * getStartVertex() const =0
The start vertex associated to this particle.
std::vector< ReconstructedParticle * > ReconstructedParticleVec
Vector of (pointers to) ReconstructedParticles.
Definition: ReconstructedParticle.h:26
virtual const TrackVec & getTracks() const =0
The weights of cluster contributions to this particle.
virtual void addParticleID(ParticleID *pid)=0
Set the type of reconstructed particle, one of: ReconstructedParticle::SINGLE, ReconstructedParticl...
virtual void addCluster(Cluster *cluster)=0
Add a cluster that has been used to create this particle.
virtual const double * getMomentum() const =0
The reconstructed particle's 3-momentum - only float used in files,.
virtual ParticleID * getParticleIDUsed() const =0
The particle Id used for the kinematics of this particle.
virtual const float * getReferencePoint() const =0
Reference point of the reconstructedParticle parameters.
virtual double getMass() const =0
Mass of the reconstructed particle, set independently from four vector quantities.
virtual ~ReconstructedParticle()
Destructor.
Definition: ReconstructedParticle.h:39