Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4MolecularDecayChannel Class Reference

#include <G4MolecularDecayChannel.hh>

Public Member Functions

 G4MolecularDecayChannel ()
 
 G4MolecularDecayChannel (G4String)
 
 ~G4MolecularDecayChannel ()
 
 G4MolecularDecayChannel (const G4MolecularDecayChannel &)
 
G4MolecularDecayChanneloperator= (const G4MolecularDecayChannel &right)
 
G4double GetRMSRadialDisplacementOfProduct (const G4Molecule *)
 
void AddProduct (const G4Molecule *, G4double=0)
 
void SetName (const G4String &)
 
void SetEnergy (G4double)
 
void SetProbability (G4double)
 
void SetDecayTime (G4double)
 
void SetRMSMotherMoleculeDisplacement (G4double)
 
void SetDisplacementType (DisplacementType)
 
const G4StringGetName () const
 
G4int GetNbProducts () const
 
const G4MoleculeGetProduct (int) const
 
const std::vector< G4double > & GetRMSProductsDisplacement () const
 
G4double GetEnergy () const
 
G4double GetProbability () const
 
G4double GetDecayTime () const
 
G4double GetRMSMotherMoleculeDisplacement () const
 
DisplacementType GetDisplacementType () const
 

Detailed Description

Definition at line 55 of file G4MolecularDecayChannel.hh.

Constructor & Destructor Documentation

◆ G4MolecularDecayChannel() [1/3]

G4MolecularDecayChannel::G4MolecularDecayChannel ( )

Definition at line 65 of file G4MolecularDecayChannel.cc.

66{
67 // pointer
68 fProductsVector = 0;
69 // double
70 fReleasedEnergy = 0;
71 fDecayTime = 0;
72 fProbability = 0;
73 fRMSMotherMoleculeDisplacement = 0;
74 fDisplacementType = 0; // meaning no displacement cf G4VMolecularDisplacer
75}

◆ G4MolecularDecayChannel() [2/3]

G4MolecularDecayChannel::G4MolecularDecayChannel ( G4String  aName)

Definition at line 53 of file G4MolecularDecayChannel.cc.

53 : fName(aName)
54{
55 //pointer
56 fProductsVector = 0;
57 //double
58 fDecayTime = 0;
59 fProbability = 0;
60 fReleasedEnergy = 0;
61 fRMSMotherMoleculeDisplacement = 0;
62 fDisplacementType = 0; // meaning no displacement cf G4VMolecularDisplacer
63}

◆ ~G4MolecularDecayChannel()

G4MolecularDecayChannel::~G4MolecularDecayChannel ( )

Definition at line 77 of file G4MolecularDecayChannel.cc.

78{
79 if(fProductsVector)
80 {
81 fProductsVector->clear();
82 delete fProductsVector;
83 }
84}

◆ G4MolecularDecayChannel() [3/3]

G4MolecularDecayChannel::G4MolecularDecayChannel ( const G4MolecularDecayChannel right)

Definition at line 86 of file G4MolecularDecayChannel.cc.

87{
88 *this = right;
89}

Member Function Documentation

◆ AddProduct()

void G4MolecularDecayChannel::AddProduct ( const G4Molecule molecule,
G4double  displacement = 0 
)

Definition at line 118 of file G4MolecularDecayChannel.cc.

119{
120 if(!fProductsVector) fProductsVector = new vector<G4MoleculeHandle> ;
121
122 G4MoleculeHandle molHandle(G4MoleculeHandleManager::Instance()->GetMoleculeHandle(molecule));
123 fProductsVector->push_back(molHandle);
124 fRMSProductsDisplacementVector.push_back(displacement);
125}
static G4MoleculeHandleManager * Instance()

Referenced by G4EmDNAPhysicsChemistry::ConstructDecayChannels().

◆ GetDecayTime()

G4double G4MolecularDecayChannel::GetDecayTime ( ) const
inline

Definition at line 158 of file G4MolecularDecayChannel.hh.

159{
160 return fDecayTime;
161}

◆ GetDisplacementType()

DisplacementType G4MolecularDecayChannel::GetDisplacementType ( ) const
inline

Definition at line 173 of file G4MolecularDecayChannel.hh.

174{
175 return fDisplacementType;
176}

◆ GetEnergy()

G4double G4MolecularDecayChannel::GetEnergy ( ) const
inline

Definition at line 147 of file G4MolecularDecayChannel.hh.

148{
149
150 return fReleasedEnergy;
151}

Referenced by G4DNAMolecularDecay::DecayIt().

◆ GetName()

const G4String & G4MolecularDecayChannel::GetName ( ) const
inline

Definition at line 137 of file G4MolecularDecayChannel.hh.

138{
139 return fName;
140}

Referenced by G4DNAMolecularDecay::DecayIt().

◆ GetNbProducts()

G4int G4MolecularDecayChannel::GetNbProducts ( ) const

Definition at line 127 of file G4MolecularDecayChannel.cc.

128{
129 if(fProductsVector)
130 return fProductsVector->size();
131 return 0;
132}

Referenced by G4DNAMolecularDecay::DecayIt().

◆ GetProbability()

G4double G4MolecularDecayChannel::GetProbability ( ) const
inline

Definition at line 153 of file G4MolecularDecayChannel.hh.

154{
155 return fProbability;
156}

Referenced by G4MolecularDecayTable::CheckDataConsistency(), and G4DNAMolecularDecay::DecayIt().

◆ GetProduct()

const G4Molecule * G4MolecularDecayChannel::GetProduct ( int  index) const

Definition at line 134 of file G4MolecularDecayChannel.cc.

135{
136 if(fProductsVector)
137 return ((*fProductsVector)[index]).get();
138
139 return 0;
140}

Referenced by G4DNAMolecularDecay::DecayIt(), and G4DNAMolecularDecayDisplacer::GetProductsDisplacement().

◆ GetRMSMotherMoleculeDisplacement()

G4double G4MolecularDecayChannel::GetRMSMotherMoleculeDisplacement ( ) const
inline

Definition at line 163 of file G4MolecularDecayChannel.hh.

164{
165 return fRMSMotherMoleculeDisplacement;
166}

◆ GetRMSProductsDisplacement()

const std::vector< G4double > & G4MolecularDecayChannel::GetRMSProductsDisplacement ( ) const
inline

Definition at line 142 of file G4MolecularDecayChannel.hh.

143{
144 return fRMSProductsDisplacementVector;
145}

◆ GetRMSRadialDisplacementOfProduct()

G4double G4MolecularDecayChannel::GetRMSRadialDisplacementOfProduct ( const G4Molecule product)

Definition at line 142 of file G4MolecularDecayChannel.cc.

143{
144 if(!fProductsVector) return -1.;
145
146 G4int sz = fProductsVector->size();
147 G4double value = DBL_MAX;
148 for (G4int i=0; i<sz ; i++)
149 {
150 if(*product != *((*fProductsVector)[i]).get())
151 {
152 value = fRMSProductsDisplacementVector[i];
153 }
154 }
155 return value;
156}
double G4double
Definition: G4Types.hh:64
int G4int
Definition: G4Types.hh:66
#define DBL_MAX
Definition: templates.hh:83

◆ operator=()

G4MolecularDecayChannel & G4MolecularDecayChannel::operator= ( const G4MolecularDecayChannel right)

Definition at line 91 of file G4MolecularDecayChannel.cc.

93{
94 if (&right==this) return *this;
95
96 // string
97 fName = right.fName;
98 //displacement type
99 fDisplacementType = right.fDisplacementType;
100 // pointer
101 if(right.fProductsVector)
102 {
103 fProductsVector = new vector<G4MoleculeHandle>(*(right.fProductsVector));
104 }
105 else fProductsVector = 0;
106
107 // double
108 fReleasedEnergy = right.fReleasedEnergy;
109 fDecayTime = right.fDecayTime;
110 fProbability = right.fProbability;
111 // vector
112 fRMSMotherMoleculeDisplacement = right.fRMSMotherMoleculeDisplacement;
113 fRMSProductsDisplacementVector = right.fRMSProductsDisplacementVector;
114 return *this;
115
116}

◆ SetDecayTime()

void G4MolecularDecayChannel::SetDecayTime ( G4double  value)
inline

Definition at line 126 of file G4MolecularDecayChannel.hh.

127{
128
129 fDecayTime = value;
130}

◆ SetDisplacementType()

void G4MolecularDecayChannel::SetDisplacementType ( DisplacementType  aDisplacementType)
inline

Definition at line 168 of file G4MolecularDecayChannel.hh.

169{
170 fDisplacementType = aDisplacementType;
171}

Referenced by G4EmDNAPhysicsChemistry::ConstructDecayChannels().

◆ SetEnergy()

void G4MolecularDecayChannel::SetEnergy ( G4double  value)
inline

Definition at line 115 of file G4MolecularDecayChannel.hh.

116{
117 fReleasedEnergy = value;
118}

Referenced by G4EmDNAPhysicsChemistry::ConstructDecayChannels().

◆ SetName()

void G4MolecularDecayChannel::SetName ( const G4String value)
inline

Definition at line 110 of file G4MolecularDecayChannel.hh.

111{
112 fName = value;
113}

◆ SetProbability()

void G4MolecularDecayChannel::SetProbability ( G4double  value)
inline

Definition at line 121 of file G4MolecularDecayChannel.hh.

122{
123 fProbability = value;
124}

Referenced by G4EmDNAPhysicsChemistry::ConstructDecayChannels().

◆ SetRMSMotherMoleculeDisplacement()

void G4MolecularDecayChannel::SetRMSMotherMoleculeDisplacement ( G4double  value)
inline

Definition at line 132 of file G4MolecularDecayChannel.hh.

133{
134 fRMSMotherMoleculeDisplacement = value;
135}

The documentation for this class was generated from the following files: