[root] / trunk / geom / geom / src / TGeoElement.cxx Repository:
ViewVC logotype

Log of /trunk/geom/geom/src/TGeoElement.cxx

Parent Directory Parent Directory


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

Revision 44635 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 8 16:14:10 2012 UTC (2 years, 7 months ago) by agheata
File length: 48312 byte(s)
Diff to previous 44556
coverity fixes

Revision 44556 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 5 09:20:41 2012 UTC (2 years, 7 months ago) by axel
File length: 48285 byte(s)
Diff to previous 44507
Remaining fixes for AIX, Solaris after removal of using namespace std from Riostream.h

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 38038 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Feb 11 07:53:23 2011 UTC (3 years, 11 months ago) by rdm
File length: 47645 byte(s)
Diff to previous 36535
fix erroneous use of TString::Format() (issue 78043).

Revision 36535 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 8 14:41:54 2010 UTC (4 years, 2 months ago) by agheata
File length: 47668 byte(s)
Diff to previous 35001
Changed Form() to TString::Format() everywhere

Revision 35001 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 25 11:22:05 2010 UTC (4 years, 5 months ago) by agheata
File length: 47580 byte(s)
Diff to previous 34891
Fix leaked pointer to file (coverity #16089)

Revision 34891 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 20 15:07:14 2010 UTC (4 years, 5 months ago) by agheata
File length: 47541 byte(s)
Diff to previous 34210
Fixed uninitialized variable. Coverity # 21378

Revision 34210 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 30 09:37:14 2010 UTC (4 years, 6 months ago) by brun
File length: 47440 byte(s)
Diff to previous 33467
Fix format in Fatal statements

Revision 33467 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 11 12:13:34 2010 UTC (4 years, 8 months ago) by agheata
File length: 47442 byte(s)
Diff to previous 33466
Fixed warning for double->int conversion.

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 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: 46960 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: 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 29876 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 24 08:03:09 2009 UTC (5 years, 5 months ago) by brun
File length: 41383 byte(s)
Diff to previous 26668
From Andrei:
fix for the un-itialized variable and a protection of the access via TGeoElement.

Revision 26668 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 5 07:43:15 2008 UTC (6 years, 1 month ago) by brun
File length: 41153 byte(s)
Diff to previous 23478
Fix some gcc4.3.2 warnings and also some initializations.

Revision 23478 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 23 14:36:55 2008 UTC (6 years, 9 months ago) by brun
File length: 41033 byte(s)
Diff to previous 22923
From Andrei:
Fix many shadowed variables.

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: 41025 byte(s)
Diff to previous 20882
move geom, geombuilder, geompainter and gdml to geom meta directory.

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/src/TGeoElement.cxx
File length: 41025 byte(s)
Diff to previous 20819
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 20819 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 15 07:29:53 2007 UTC (7 years, 2 months ago) by brun
Original Path: trunk/geom/src/TGeoElement.cxx
File length: 41025 byte(s)
Diff to previous 20772
From Andrei:
Fix for bug: https://savannah.cern.ch/bugs/index.php?31309

Revision 20772 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 13 08:26:11 2007 UTC (7 years, 2 months ago) by brun
Original Path: trunk/geom/src/TGeoElement.cxx
File length: 40987 byte(s)
Diff to previous 20411
From Mihaela:
fix for the bug related to Bateman solution reported in Savannah.
https://savannah.cern.ch/bugs/?31224

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 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/src/TGeoElement.cxx
File length: 40980 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/src/TGeoElement.cxx
File length: 41034 byte(s)
Diff to previous 18946
remove :$ from tag line

Revision 18946 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 5 06:34:47 2007 UTC (7 years, 7 months ago) by brun
Original Path: trunk/geom/src/TGeoElement.cxx
File length: 41044 byte(s)
Diff to previous 17306
From Andrei & Mihaela:
- TGeoCache.cxx - All obsolete caching options/classes removed. The only remaining 2 classes are TGeoNodeCache and TGeoCacheState. No loss of functionality.

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 17237 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 20 08:23:03 2006 UTC (8 years, 1 month ago) by brun
Original Path: trunk/geom/src/TGeoElement.cxx
File length: 41003 byte(s)
Diff to previous 16796
From Andrei:
Fix a problem reported by Brett Wiren
After creating 15 elements ROOT's
TGeoElementTable's underlying TObjArray overflows.  This was due to a
hard coded array size and unchecked insertion.

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 16576 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 20 09:38:11 2006 UTC (8 years, 3 months ago) by rdm
Original Path: trunk/geom/src/TGeoElement.cxx
File length: 40988 byte(s)
Diff to previous 16283
make sure RadioNuclides.txt can be found when ROOT is installed using --prefix.

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/src/TGeoElement.cxx
File length: 41153 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/src/TGeoElement.cxx
File length: 40924 byte(s)
Diff to previous 16272
From Mihaela:
Fix problem with the reference to TF1 by moving the graphics code to TGeoPainter

Revision 16272 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 14 17:39:29 2006 UTC (8 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoElement.cxx
File length: 41743 byte(s)
Diff to previous 16271
Fix compilation problems on Windows.
Comment calls to TF1. TGeo cannot depend on libHist.

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 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/src/TGeoElement.cxx
File length: 31708 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/src/TGeoElement.cxx
File length: 31673 byte(s)
Diff to previous 16128
From Mihaela:
added CC and assignment operator to the new class TGeoDecayChannel
(To avoid effc++ warnings).

Revision 16128 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 25 14:17:33 2006 UTC (8 years, 5 months ago) by rdm
Original Path: trunk/geom/src/TGeoElement.cxx
File length: 31176 byte(s)
Diff to previous 16117
From Axel:
Fix compiler warning in MSVC due to "*/*.

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 15742 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jul 9 05:27:55 2006 UTC (8 years, 6 months ago) by brun
Original Path: trunk/geom/src/TGeoElement.cxx
File length: 9231 byte(s)
Diff to previous 15172
From Eddy:
Fix many typos in comments

Revision 15172 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 24 17:11:54 2006 UTC (8 years, 8 months ago) by brun
Original Path: trunk/geom/src/TGeoElement.cxx
File length: 9226 byte(s)
Diff to previous 15134
Fix coding conventions violations

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 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/src/TGeoElement.cxx
File length: 8674 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/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 9392 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 5 08:52:35 2004 UTC (10 years, 6 months ago) by brun
Original Path: trunk/geom/src/TGeoElement.cxx
File length: 8913 byte(s)
Diff to previous 9362
From Andrei Gheata:
added a protection against double instantiation of TGeoElementTable.

Revision 9362 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 1 15:14:23 2004 UTC (10 years, 6 months ago) by brun
Original Path: trunk/geom/src/TGeoElement.cxx
File length: 8708 byte(s)
Diff to previous 9331
From Andrei Gheata:
Minor changes in the element names

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/src/TGeoElement.cxx
File length: 8860 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/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.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9