Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-06-29 07:06:37

0001 ///////////////////////////////////////////////////////////////////////////
0002 //
0003 //    Copyright 2010
0004 //
0005 //    This file is part of starlight.
0006 //
0007 //    starlight is free software: you can redistribute it and/or modify
0008 //    it under the terms of the GNU General Public License as published by
0009 //    the Free Software Foundation, either version 3 of the License, or
0010 //    (at your option) any later version.
0011 //
0012 //    starlight is distributed in the hope that it will be useful,
0013 //    but WITHOUT ANY WARRANTY; without even the implied warranty of
0014 //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
0015 //    GNU General Public License for more details.
0016 //
0017 //    You should have received a copy of the GNU General Public License
0018 //    along with starlight. If not, see <http://www.gnu.org/licenses/>.
0019 //
0020 ///////////////////////////////////////////////////////////////////////////
0021 //
0022 // File and Version Information:
0023 // $Rev:: 263                         $: revision of last commit
0024 // $Author:: butter                   $: author of last commit
0025 // $Date:: 2016-06-04 23:03:58 +0100 #$: date of last commit
0026 //
0027 // Description:
0028 //
0029 //
0030 //
0031 ///////////////////////////////////////////////////////////////////////////
0032 
0033 
0034 #ifndef STARLIGHTPARTICLE_H
0035 #define STARLIGHTPARTICLE_H
0036 
0037 
0038 #include "lorentzvector.h"
0039 
0040 
0041 class starlightParticle : public lorentzVector
0042 {
0043    public:
0044       
0045       starlightParticle();
0046       starlightParticle ( double px, double py, double pz, double e, double mass, int pdgCode, short charge, 
0047               double vx = 0., double vy = 0, double vz = 0, double vt = 0,
0048               int firstParent = 0, int lastParent = 0, int firstDaughter = 0, int lastDaughter = 0, int status = 0);
0049       virtual ~starlightParticle();
0050    
0051       void setPdgCode(int pdgCode) { _pdgCode = pdgCode; }
0052       int getPdgCode() const { return _pdgCode; }
0053       
0054       void setCharge(short charge) { _charge = charge; }
0055       short getCharge() const { return _charge; }
0056 
0057       void setMass(short mass) { _mass = mass; }
0058       short getMass() const { return _mass; }
0059       
0060       void setFirstParent(int parent) { _firstParent = parent; }
0061       void setLastParent(int parent) { _lastParent = parent; }
0062       int getFirstParent() const { return _firstParent; }
0063       int getLastParent() const { return _lastParent; }
0064       
0065       void setFirstDaughter(int first) { _firstDaughter = first; }
0066       int getFirstDaughter() const { return _firstDaughter; }
0067       
0068       void setLastDaughter(int first) { _lastDaughter = first; }
0069       int getLastDaughter() const { return _lastDaughter; }
0070       
0071       void setStatus(int status) { _status = status; }
0072       int getStatus() const { return _status; }
0073       
0074       void setVertex(lorentzVector v) { _vertex = v; }
0075       lorentzVector getVertex() const { return _vertex; }
0076 
0077       void reflect()
0078       {
0079     this->SetXYZT(-1.0*this->GetPx(),-1.0*this->GetPy(),-1.0*this->GetPz(),this->GetE());
0080     _vertex.reflect();
0081       };
0082       
0083       
0084    private:
0085      
0086     lorentzVector _vertex;
0087     
0088     int _pdgCode;
0089     short _charge;
0090     double _mass;
0091     
0092     int _firstParent;
0093     int _lastParent;
0094     int _firstDaughter;
0095     int _lastDaughter;
0096 
0097     int _status;
0098   
0099 };
0100 
0101 
0102 #endif  // STARLIGHTPARTICLE_H