Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
G4MolecularDecayChannel Class Reference

#include <G4MolecularDissociationChannel.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 G4MolecularDissociationChannel.hh.

Constructor & Destructor Documentation

G4MolecularDecayChannel::G4MolecularDecayChannel ( )

Definition at line 65 of file G4MolecularDissociationChannel.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::G4MolecularDecayChannel ( G4String  aName)

Definition at line 53 of file G4MolecularDissociationChannel.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 ( )

Definition at line 77 of file G4MolecularDissociationChannel.cc.

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

Definition at line 86 of file G4MolecularDissociationChannel.cc.

References right.

87 {
88  *this = right;
89 }

Member Function Documentation

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

Definition at line 118 of file G4MolecularDissociationChannel.cc.

References G4MoleculeHandleManager::Instance().

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()
G4double G4MolecularDecayChannel::GetDecayTime ( ) const
inline

Definition at line 158 of file G4MolecularDissociationChannel.hh.

159 {
160  return fDecayTime;
161 }
DisplacementType G4MolecularDecayChannel::GetDisplacementType ( ) const
inline

Definition at line 173 of file G4MolecularDissociationChannel.hh.

174 {
175  return fDisplacementType;
176 }
G4double G4MolecularDecayChannel::GetEnergy ( ) const
inline

Definition at line 147 of file G4MolecularDissociationChannel.hh.

Referenced by G4DNAMolecularDissociation::DecayIt().

148 {
149 
150  return fReleasedEnergy;
151 }
const G4String & G4MolecularDecayChannel::GetName ( void  ) const
inline

Definition at line 137 of file G4MolecularDissociationChannel.hh.

Referenced by G4DNAMolecularDissociation::DecayIt().

138 {
139  return fName;
140 }
G4int G4MolecularDecayChannel::GetNbProducts ( ) const

Definition at line 127 of file G4MolecularDissociationChannel.cc.

Referenced by G4DNAMolecularDissociation::DecayIt().

128 {
129  if(fProductsVector)
130  return fProductsVector->size();
131  return 0;
132 }
G4double G4MolecularDecayChannel::GetProbability ( ) const
inline

Definition at line 153 of file G4MolecularDissociationChannel.hh.

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

154 {
155  return fProbability;
156 }
const G4Molecule * G4MolecularDecayChannel::GetProduct ( int  index) const

Definition at line 134 of file G4MolecularDissociationChannel.cc.

Referenced by G4DNAMolecularDissociation::DecayIt(), and G4DNAWaterDissociationDisplacer::GetProductsDisplacement().

135 {
136  if(fProductsVector)
137  return ((*fProductsVector)[index]).get();
138 
139  return 0;
140 }
G4double G4MolecularDecayChannel::GetRMSMotherMoleculeDisplacement ( ) const
inline

Definition at line 163 of file G4MolecularDissociationChannel.hh.

164 {
165  return fRMSMotherMoleculeDisplacement;
166 }
const std::vector< G4double > & G4MolecularDecayChannel::GetRMSProductsDisplacement ( ) const
inline

Definition at line 142 of file G4MolecularDissociationChannel.hh.

143 {
144  return fRMSProductsDisplacementVector;
145 }
G4double G4MolecularDecayChannel::GetRMSRadialDisplacementOfProduct ( const G4Molecule product)

Definition at line 142 of file G4MolecularDissociationChannel.cc.

References DBL_MAX.

143 {
144  if(!fProductsVector) return -1.;
145 
146  G4int sz = fProductsVector->size();
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 }
int G4int
Definition: G4Types.hh:78
const XML_Char int const XML_Char * value
double G4double
Definition: G4Types.hh:76
#define DBL_MAX
Definition: templates.hh:83
G4MolecularDecayChannel & G4MolecularDecayChannel::operator= ( const G4MolecularDecayChannel right)

Definition at line 92 of file G4MolecularDissociationChannel.cc.

References fName, and right.

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 }
void G4MolecularDecayChannel::SetDecayTime ( G4double  value)
inline

Definition at line 126 of file G4MolecularDissociationChannel.hh.

127 {
128 
129  fDecayTime = value;
130 }
const XML_Char int const XML_Char * value
void G4MolecularDecayChannel::SetDisplacementType ( DisplacementType  aDisplacementType)
inline

Definition at line 168 of file G4MolecularDissociationChannel.hh.

169 {
170  fDisplacementType = aDisplacementType;
171 }
void G4MolecularDecayChannel::SetEnergy ( G4double  value)
inline

Definition at line 115 of file G4MolecularDissociationChannel.hh.

116 {
117  fReleasedEnergy = value;
118 }
const XML_Char int const XML_Char * value
void G4MolecularDecayChannel::SetName ( const G4String value)
inline

Definition at line 110 of file G4MolecularDissociationChannel.hh.

111 {
112  fName = value;
113 }
const XML_Char int const XML_Char * value
void G4MolecularDecayChannel::SetProbability ( G4double  value)
inline

Definition at line 121 of file G4MolecularDissociationChannel.hh.

122 {
123  fProbability = value;
124 }
const XML_Char int const XML_Char * value
void G4MolecularDecayChannel::SetRMSMotherMoleculeDisplacement ( G4double  value)
inline

Definition at line 132 of file G4MolecularDissociationChannel.hh.

133 {
134  fRMSMotherMoleculeDisplacement = value;
135 }
const XML_Char int const XML_Char * value

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