49 return (*mol1) < (*mol2);
61 fRMSMotherMoleculeDisplacement = 0;
62 fDisplacementType = 0;
73 fRMSMotherMoleculeDisplacement = 0;
74 fDisplacementType = 0;
81 fProductsVector->clear();
82 delete fProductsVector;
94 if (&right==
this)
return *
this;
99 fDisplacementType = right.fDisplacementType;
101 if(right.fProductsVector)
103 fProductsVector =
new vector<G4MoleculeHandle>(*(right.fProductsVector));
105 else fProductsVector = 0;
108 fReleasedEnergy = right.fReleasedEnergy;
109 fDecayTime = right.fDecayTime;
110 fProbability = right.fProbability;
112 fRMSMotherMoleculeDisplacement = right.fRMSMotherMoleculeDisplacement;
113 fRMSProductsDisplacementVector = right.fRMSProductsDisplacementVector;
120 if(!fProductsVector) fProductsVector =
new vector<G4MoleculeHandle> ;
123 fProductsVector->push_back(molHandle);
124 fRMSProductsDisplacementVector.push_back(displacement);
130 return fProductsVector->size();
137 return ((*fProductsVector)[index]).get();
144 if(!fProductsVector)
return -1.;
146 G4int sz = fProductsVector->size();
148 for (
G4int i=0; i<sz ; i++)
150 if(*product != *((*fProductsVector)[i]).get())
152 value = fRMSProductsDisplacementVector[i];
~G4MolecularDecayChannel()
G4int GetNbProducts() const
G4MolecularDecayChannel()
G4double GetRMSRadialDisplacementOfProduct(const G4Molecule *)
const G4Molecule * GetProduct(int) const
void AddProduct(const G4Molecule *, G4double=0)
static G4MoleculeHandleManager * Instance()
bool operator()(const G4Molecule *mol1, const G4Molecule *mol2) const