// @(#)root/g3d:$Name: $:$Id: TMaterial.cxx,v 1.2 2001/04/16 19:15:00 brun Exp $
// Author: Rene Brun 03/10/95
/*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#include "TROOT.h"
#include "TGeometry.h"
#include "TMaterial.h"
ClassImp(TMaterial)
//______________________________________________________________________________
//
// Manages a detector material. See class TGeometry
//
//______________________________________________________________________________
TMaterial::TMaterial()
{
//*-*-*-*-*-*-*-*-*-*-*Material default constructor*-*-*-*-*-*-*-*-*-*-*-*
//*-* ============================
//do nothing
}
//______________________________________________________________________________
TMaterial::TMaterial(const char *name, const char *title, Float_t a, Float_t z, Float_t density)
:TNamed(name,title), TAttFill(0,1)
{
//*-*-*-*-*-*-*-*-*-*-*Material normal constructor*-*-*-*-*-*-*-*-*-*-*-*-*
//*-* ============================
if (!gGeometry) gGeometry = new TGeometry("Geometry","Default Geometry");
fA = a;
fZ = z;
fDensity = density;
fNumber = gGeometry->GetListOfMaterials()->GetSize();
fRadLength = 0;
fInterLength = 0;
gGeometry->GetListOfMaterials()->Add(this);
}
//______________________________________________________________________________
TMaterial::TMaterial(const char *name, const char *title, Float_t a, Float_t z, Float_t density, Float_t radl, Float_t inter)
:TNamed(name,title), TAttFill(0,1)
{
//*-*-*-*-*-*-*-*-*-*-*Material normal constructor*-*-*-*-*-*-*-*-*-*-*-*-*
//*-* ============================
if (!gGeometry) gGeometry = new TGeometry("Geometry","Default Geometry");
fA = a;
fZ = z;
fDensity = density;
fNumber = gGeometry->GetListOfMaterials()->GetSize();
fRadLength = radl;
fInterLength = inter;
gGeometry->GetListOfMaterials()->Add(this);
}
//______________________________________________________________________________
TMaterial::~TMaterial()
{
//*-*-*-*-*-*-*-*-*-*-*Material default destructor*-*-*-*-*-*-*-*-*-*-*-*-*
//*-* ============================
if (gGeometry) gGeometry->GetListOfMaterials()->Remove(this);
}
//______________________________________________________________________________
void TMaterial::Streamer(TBuffer &R__b)
{
// Stream an object of class TMaterial.
UInt_t R__s, R__c;
if (R__b.IsReading()) {
Version_t R__v = R__b.ReadVersion(&R__s, &R__c);
TNamed::Streamer(R__b);
R__b >> fNumber;
R__b >> fA;
R__b >> fZ;
R__b >> fDensity;
if (R__v > 2) {
TAttFill::Streamer(R__b);
R__b >> fRadLength;
R__b >> fInterLength;
} else {
fRadLength = 0;
fInterLength = 0;
}
R__b.CheckByteCount(R__s, R__c, TMaterial::IsA());
} else {
R__c = R__b.WriteVersion(TMaterial::IsA(), kTRUE);
TNamed::Streamer(R__b);
R__b << fNumber;
R__b << fA;
R__b << fZ;
R__b << fDensity;
TAttFill::Streamer(R__b);
R__b << fRadLength;
R__b << fInterLength;
R__b.SetByteCount(R__c, kTRUE);
}
}
ROOT page - Class index - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.