Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

GeoSwimParticle.h

Go to the documentation of this file.
00001 
00002 //
00003 // GeoSwimParticle
00004 //
00005 // Adapted from example particle class provided with geant4_vmc package.
00006 // January 20, 2006  M.Ishitsuka First version for GeoSwimmer
00007 //                   ref. SwimPartile.h by S.Kasahara
00009 
00010 #ifndef GEOSWIMPARTICLE_H
00011 #define GEOSWIMPARTICLE_H
00012 
00013 #include "TVector3.h"           // ROOT TVector class
00014 #include "TParticle.h"           // ROOT TParticle class
00015 #include "Conventions/Munits.h"
00016 
00017 class GeoSwimParticle {
00018   
00019 public:
00020   GeoSwimParticle(Int_t pdg, TParticle* particle);
00021   GeoSwimParticle(const TVector3 position,
00022                    const TVector3 momentum,
00023                    Double_t       charge = -1.0,
00024                    Int_t          pdg = 13,
00025                    Double_t       mass = 0.105658357*Munits::GeV);
00026   GeoSwimParticle();
00027   virtual ~GeoSwimParticle();     
00028   
00029   // get methods  
00030   const TVector3 GetInitPosition()    const;
00031   const TVector3 GetPosition()        const;
00032   const TVector3 GetMomentum()        const;
00033   TVector3       GetDirection()       const;
00034   Double_t       GetMomentumModulus() const;
00035   Double_t       GetEnergy()          const;
00036   Double_t       GetMass()            const;
00037   Double_t       GetCharge()          const;
00038   Int_t          GetID()              const;
00039   Double_t       GetS()               const;
00040   Double_t       GetRange()           const;
00041   TParticle*     GetParticle()        const;
00042   
00043   void SetPosition(const TVector3 position);
00044   void SetMomentum(const TVector3 momentum);
00045   void SetMass(Double_t mass);
00046   void SetCharge(Double_t charge);
00047   void SetID(Int_t pdg);
00048 
00049   void SetS(double s);
00050   void SetRange(double range);
00051 
00052 private:
00053   // data members
00054   TVector3        fInitPosition; // Initial Position of a particle
00055   TVector3        fPosition;     // Position of a particle
00056   TVector3        fMomentum;     // Momentum of a particle
00057   Double_t        fMass;         // Mass
00058   Double_t        fCharge;       // Charge
00059   Int_t           fPDG;          // Particle ID by PDG numbering scheme
00060   Double_t        fS;            // Path
00061   Double_t        fRange;        // Range
00062   TParticle*      fParticle;
00063   ClassDef(GeoSwimParticle,0)
00064 };
00065 #endif //GEOSWIMPARTICLE_H   

Generated on Mon Feb 15 11:06:45 2010 for loon by  doxygen 1.3.9.1