musrMuonDecayChannel.hh

Go to the documentation of this file.
00001 #ifndef musrMuonDecayChannel_h
00002 #define musrMuonDecayChannel_h 1
00003 
00004 
00005 #include "G4ios.hh"
00006 #include "globals.hh"
00007 #include "G4VDecayChannel.hh"
00008 #include "G4DynamicParticle.hh"
00009 #include "Randomize.hh"
00010 #include "G4ThreeVector.hh"
00011 #include "G4Transform3D.hh"
00012 
00013 class musrMuonDecayChannel : public G4VDecayChannel
00014 {
00015 
00016 public:  
00017   //Constructors 
00018   musrMuonDecayChannel(const G4String& theParentName,
00019                      G4double        theBR);
00020   //  Destructor
00021   ~musrMuonDecayChannel();
00022   
00023  static musrMuonDecayChannel* pointer;
00024  static musrMuonDecayChannel* GetInstance();
00025 
00026 
00027 void   finalize();
00028 
00029 public:  // With Description
00030   virtual G4DecayProducts *DecayIt(G4double);     
00031   HepRandomEngine* theEngine;
00032   G4ThreeVector polarization, emomdir;  
00033 
00034   G4double alpha,sinalpha, cosalpha, delta, sindelta, cosdelta;
00035   G4double costheta, sintheta, phi, sinphi, cosphi, theta; 
00036 
00037   inline G4double GetTheta(){return theta;};
00038   inline G4double GetPhi(){return phi;};
00039   inline G4ThreeVector GetPolarization(){return polarization;};
00040   inline void  SetPolarization(G4ThreeVector polar){polarization=polar;};
00041  
00042 
00043 
00044   G4DecayProducts *DecayItPolarized(G4double,G4ThreeVector polar);
00045 
00046 
00047 private:
00048 
00049  
00050 };
00051 
00052 #endif

Generated on Mon Mar 27 12:19:54 2006 for MUSR by  doxygen 1.4.6