[root] / trunk / geom / geom / inc / TGeoElement.h Repository:
ViewVC logotype

Log of /trunk/geom/geom/inc/TGeoElement.h

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

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: 19722 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: 19712 byte(s)
Diff to previous 33465
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 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: 19549 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 32677 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 18 15:27:12 2010 UTC (4 years, 10 months ago) by brun
File length: 19507 byte(s)
Diff to previous 32531
From Andrei:
adds support for reading isotopes via the GDML parser.

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: 19443 byte(s)
Diff to previous 22923
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 22923 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 1 12:34:14 2008 UTC (6 years, 9 months ago) by rdm
File length: 16880 byte(s)
Diff to previous 21425
move geom, geombuilder, geompainter and gdml to geom meta directory.

Revision 21425 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 17 15:59:27 2007 UTC (7 years, 1 month ago) by brun
Original Path: trunk/geom/inc/TGeoElement.h
File length: 16880 byte(s)
Diff to previous 20882
From Andrei:
Improve the documentation layout such that THtml makes a better rendering.

Revision 20882 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 19 11:31:26 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/geom/inc/TGeoElement.h
File length: 15747 byte(s)
Diff to previous 19826
Set property svn:eol-style LF on all source and Makefiles. This should avoid
problems with Win32 line endings ending up in the repository. All MS tools
support LF eols fine.

Revision 19826 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:56:11 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/geom/inc/TGeoElement.h
File length: 15747 byte(s)
Diff to previous 19825
imported svn:keywords Id property

Revision 19825 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:49:10 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/geom/inc/TGeoElement.h
File length: 15799 byte(s)
Diff to previous 16283
remove :$ from tag line

Revision 16283 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Sep 17 11:03:13 2006 UTC (8 years, 4 months ago) by brun
Original Path: trunk/geom/inc/TGeoElement.h
File length: 15809 byte(s)
Diff to previous 16276
From Mihaela:
a nicer version of the macro RadioNuclides.C.  also a patch giving the possibility to apply a range in time for the display of concentrations:
  TGeoBatemanSol::SetRange(Double_t tmin, Double_t tmax)

Revision 16276 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 15 10:23:07 2006 UTC (8 years, 4 months ago) by brun
Original Path: trunk/geom/inc/TGeoElement.h
File length: 15413 byte(s)
Diff to previous 16271
From Mihaela:
Fix problem with the reference to TF1 by moving the graphics code to TGeoPainter

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/inc/TGeoElement.h
File length: 15291 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 16141 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 28 11:41:12 2006 UTC (8 years, 4 months ago) by brun
Original Path: trunk/geom/inc/TGeoElement.h
File length: 12584 byte(s)
Diff to previous 16132
From Andrei:
Fix coding conventions violations.

Revision 16132 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 25 16:47:57 2006 UTC (8 years, 5 months ago) by brun
Original Path: trunk/geom/inc/TGeoElement.h
File length: 12578 byte(s)
Diff to previous 16117
From Mihaela:
added CC and assignment operator to the new class TGeoDecayChannel
(To avoid effc++ warnings).

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/inc/TGeoElement.h
File length: 12267 byte(s)
Diff to previous 15134
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/inc/TGeoElement.h
File length: 3205 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 13282 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 18 16:07:59 2005 UTC (9 years, 2 months ago) by brun
Original Path: trunk/geom/inc/TGeoElement.h
File length: 3088 byte(s)
Diff to previous 11638
From Andrei:
a patch fixing RS2 and RS4 coding conventions violations..

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/inc/TGeoElement.h
File length: 3146 byte(s)
Diff to previous 9331
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 9331 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 28 08:46:47 2004 UTC (10 years, 6 months ago) by brun
Original Path: trunk/geom/inc/TGeoElement.h
File length: 3251 byte(s)
Diff to previous 9311
From Andrei Gheata;
Fix for a back incompatibility in TGeoMaterial.
few other modifications for setting some
material flags and cleaning-up the element table at the end.

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/inc/TGeoElement.h
File length: 2963 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.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9