Log of /trunk/geom/geom/src/TGeoElement.cxx
Parent Directory
Revision
44507 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Jun 4 12:30:41 2012 UTC (2 years, 7 months ago) by
axel
File length: 48235 byte(s)
Diff to
previous 43155
Remove
using namespace std;
from Riostream.h, which has huge consequences for all of ROOT.
Riostream.h is now a simple wrapper for fstream, iostream, iomanip for backward compatibility; Riosfwd.h simply wraps iosfwd.
Because of templates and their inline functions, Riostream.h needed to be included in headers, too (e.g. TParameter.h), which violated the assumption that Riostream.h is not exposing its using namespace std to headers.
ROOT now requires R__ANSISTREAM, R__SSTREAM, which does not change the set of supported compilers.
Without "using namespace std", several identifiers are now prefixed by std::; e.g. roofit/* source files now have a using namespace std to keep their coding style.
TFile::MakeProject() now generates "using namespace std" to convert the CINT-style class names into C++ ones.
Revision
43155 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Feb 28 14:27:43 2012 UTC (2 years, 10 months ago) by
agheata
File length: 47990 byte(s)
Diff to
previous 38038
Added thread id retrieval via TLS. Faster version of TGeoBranchArray. Added getters for specific activity (in Bq/gram) for radioactive elements and materials/mixtures via GetSpecificActivity().
Revision
33466 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue May 11 11:16:52 2010 UTC (4 years, 8 months ago) by
agheata
File length: 47435 byte(s)
Diff to
previous 33465
Effective value for number of nucleons in case of isotopes is used for the printout and for computing the interaction length.
Revision
33465 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue May 11 09:58:19 2010 UTC (4 years, 8 months ago) by
agheata
File length: 47400 byte(s)
Diff to
previous 32677
Added computation of fN for the constructor takink only A,Z. Introduced TGeoElement::Neff() to return the effective number of nucleons.
Revision
32531 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Mar 10 17:59:17 2010 UTC (4 years, 10 months ago) by
brun
File length: 46484 byte(s)
Diff to
previous 29876
From Andrei:
This patch adds a new class TGeoIsotope inside the file TGeoElement.h/.cxx. This is done for compatibility with GEANT4 isotopes and elements. I also changed TGeoElement class to contain the number of nucleons + an array of possible isotopes (as in G4). One can make isotopes of the same element:
TGeoIsotope *iso1 = new TGeoIsotope("U235", Z,N1,A1);
TGeoIsotope *iso2 = new TGeoIsotope("U238", Z,N2,A2);
then an element containing the 2 isotopes:
TGeoElement *elem = new TGeoElement("U_nat", "U", 2);
elem->AddIsotope(iso1,abundance1_percent);
elem->AddIsotope(iso2,abundance2_percent);
Then make normal materials based on such elements.
I added getters for isotopes from elements, as well as an isotope table within TGeoElementTable with search method by name (and not supporting several isotopes with the same name). I also updated the existing material table to use the number of nucleons. Everything backward compatible.
Revision
20411 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Oct 19 12:37:58 2007 UTC (7 years, 3 months ago) by
rdm
Original Path:
trunk/geom/src/TGeoElement.cxx
File length: 40951 byte(s)
Diff to
previous 19826
remove conditional around include of RConfigure.h:
#ifdef R__HAVE_CONFIG
#include "RConfigure.h"
#endif
Having this conditional caused RConfigure.h to be missing from the .d
files and hence these files would not be recompiled after re-configuring
using --prefix.
Revision
17306 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jan 12 16:03:17 2007 UTC (8 years ago) by
brun
Original Path:
trunk/geom/src/TGeoElement.cxx
File length: 41023 byte(s)
Diff to
previous 17237
TMath::Abs, TMath::Min, TMath::Max, TMath::Sign, TMath::Range
These functions are unfortunately not defined in a standard way in std::
This include is referenced by a new version of TMath.h.
As a result, TMath.h is back compatible with the previous version.
TMathBase.h is used in place of TMath.h in all the classes
that will go into the future miniCore library.
TMath.h and the TMath implementation will go into a new math sub-directory.
TString.h uses TMathBase.h instead of TMath.h.
As a result, it was necessary to include "TMath.h" in some classes
assuming that TMath was included via TString and using other functions
than the ones defined in TMathBase.h
----------------------------------------------------------------------
Revision
16796 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Nov 16 17:18:32 2006 UTC (8 years, 2 months ago) by
rdm
Original Path:
trunk/geom/src/TGeoElement.cxx
File length: 40994 byte(s)
Diff to
previous 16576
Changes to get rid of the config.h and HAVE_CONFIG define. These were way
too trivial (just do a locate config.h to see how many there are):
- replace occurances of config.h by RConfigure.h
- add #warning in config.h that is should not be used
- change HAVE_CONFIG to R__HAVE_CONFIG
Revision
16271 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Sep 14 17:22:12 2006 UTC (8 years, 4 months ago) by
brun
Original Path:
trunk/geom/src/TGeoElement.cxx
File length: 41723 byte(s)
Diff to
previous 16141
From Mihaela Gheata:
a patch implementing the time evolution of a radioactive material/mixture according the Bateman equations. I also attached a macro that demonstrates this.
Below there is a quite detailed description of all new features coming with radionucliudes. The same explanations are in the header of the macro.
_______________________________________________________________________
A radionuclide (TGeoElementRN) derives from the class TGeoElement and
provides additional information related to its radioactive properties and
decay modes.
The radionuclides table is loaded on demand by any call:
TGeoElementRN *TGeoElementTable::GetElementRN(Int_t atomic_number,
Int_t atomic_charge,
Int_t isomeric_number)
The isomeric number is optional and the default value is 0.
To create a radioactive material based on a radionuclide, one should use the
constructor:
TGeoMaterial(const char *name, TGeoElement *elem, Double_t density)
To create a radioactive mixture, one can use radionuclides as well as stable
elements:
TGeoMixture(const char *name, Int_t nelements, Double_t density);
TGeoMixture::AddElement(TGeoElement *elem, Double_t weight_fraction);
Once defined, one can retrieve the time evolution for the radioactive
materials/mixtures by using one of the 2 methods:
void TGeoMaterial::FillMaterialEvolution(TObjArray *population,
Double_t precision=0.001)
To use this method, one has to provide an empty TObjArray object that will
be filled with all elements coming from the decay chain of the initial
radionuclides contained by the material/mixture. The precision represent the
cumulative branching ratio for which decay products are still considered.
The POPULATION list may contain stable elements as well as radionuclides,
depending on the initial elements. To test if an element is a radionuclide:
Bool_t TGeoElement::IsRadioNuclide() const
All radionuclides in the output population list have attached objects that
represent the time evolution of their fraction of nuclei with respect to the
top radionuclide in the decay chain. These objects (Bateman solutions) can be
retrieved and drawn:
TGeoBatemanSol *TGeoElementRN::Ratio();
void TGeoBatemanSol::Draw();
Another method allows to create the evolution of a given radioactive
material/mixture at a given moment in time:
TGeoMaterial::DecayMaterial(Double_t time, Double_t precision=0.001)
The method will create the mixture that result from the decay of a initial
material/mixture at TIME, while all resulting elements having a fractional
weight less than PRECISION are excluded.
Revision
16117 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Aug 25 09:44:35 2006 UTC (8 years, 5 months ago) by
brun
Original Path:
trunk/geom/src/TGeoElement.cxx
File length: 31185 byte(s)
Diff to
previous 15742
From Mihaela Gheata:
New classes to support radionuclides materials.
TGeoElementRN - a radionuclide subclassing TGeoElement. Contains info about
radioactive properties of unstable elements, like: half life, mass excess,
natural abundancy, ...
TGeoDecayChannel - a decay channel of a RN element, with: decay type,
branching ratio, parent and daughter nuclides, Q value for the decay.
TGeoElemIter - an iterator for decay chains starting with a RN element.
A complete database (in etc/RadioNuclides.tx) of radionuclides with their
decays (~1MB) which are loaded by the element table of TGeo on demand:
TGeoElementTable::GetElementRN(Int_t a, Int_t z, Int_t iso)
Currently one can use radioactive elements to create radioactive
materials/mixtures. An algorithm to provide the time evolution for RN elements
is being implemented.
Revision
15134 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue May 23 04:47:42 2006 UTC (8 years, 8 months ago) by
brun
Original Path:
trunk/geom/src/TGeoElement.cxx
File length: 9171 byte(s)
Diff to
previous 13282
From Federico Carminati:
"I have implemented all copy and equal operators needed to silence all
warnings in AliRoot, as requested. I have implemented shallow copies as
would do the default operators synthetized by the compiler.
Most operators are protected. If users complain, you just have to move
them into the public area, but class derivation is of course supported.
It has been a terrible job, I have modified 278 files, but the changes
are backward compabile, and this goes a long way to permitting user to
use the effc++ flag with root headers."
Revision
11638 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Apr 20 15:22:54 2005 UTC (9 years, 9 months ago) by
brun
Original Path:
trunk/geom/src/TGeoElement.cxx
File length: 8641 byte(s)
Diff to
previous 9392
From Andrei Gheata:
- boundary tolerance introduced for spheres
- few corrections related to boundary tolerance in composite shapes
- fix for the problem reported by Sue: now the element table is not a
singleton anymore - it is owned by each TGeoManager class and has to be
retreived by calling gGeoManager->GetElementTable().
- fix for problem with MANY's observed by Andreas Morsch in Alice ITS : some
topologies of MANY leading to different search hypothesys were not
properly checked, resulting in overlapping regions that became invisible
during tracking: now completely fixed.
Revision
9311 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Added
Fri Jun 25 11:59:56 2004 UTC (10 years, 7 months ago) by
brun
Original Path:
trunk/geom/src/TGeoElement.cxx
File length: 8723 byte(s)
From Andrei Gheata:
- TGeoShape::PaintNext() removed from all shapes (for the new
visualization system to be introduced shortly).
The new mechanism is implemented in
TGeoPainter::PaintShape (uses gGeoManager as we discussed), but it also
affect some shapes (TGeoCompositeShape at least)
- New files: TGeoElement.h /.cxx representing a chemical element. This
is very helpful for the implementation of TFluka. Materials/mixtures can
be now built also based on this new class. An element table is kept
always transient in memory.
- Mihaela implemented the TGeoParaboloid shape: new files:
TGeoParaboloid.h/cxx.
This form allows you to request diffs between any two revisions of this file.
For each of the two "sides" of the diff,
enter a numeric revision.