12 #ifndef ROOT_TGeoMedium 
   13 #define ROOT_TGeoMedium 
   23 class TGeoMedium : 
public TNamed
 
   27       kMedSavePrimitive = BIT(18)
 
   33    TGeoMaterial            *fMaterial;   
 
   36    TGeoMedium(
const TGeoMedium&);
 
   37    TGeoMedium& operator=(
const TGeoMedium&);
 
   42    TGeoMedium(
const char *name, Int_t numed, 
const TGeoMaterial *mat, Double_t *params=0);
 
   43    TGeoMedium(
const char *name, Int_t numed, Int_t imat, Int_t isvol, Int_t ifield,
 
   44               Double_t fieldm, Double_t tmaxfd, Double_t stemax, Double_t deemax, Double_t epsil, Double_t stmin);
 
   45    virtual ~TGeoMedium();
 
   47    virtual Int_t            GetByteCount()
 const {
return sizeof(*this);}
 
   48    Int_t                    GetId()
   const     {
return fId;}
 
   49    Double_t                 GetParam(Int_t i)
 const {
return fParams[i];}
 
   50    void                     SetParam(Int_t i, Double_t val)   {fParams[i] = val;}
 
   51    char                    *GetPointerName() 
const;
 
   52    TGeoMaterial            *GetMaterial()
 const {
return fMaterial;}
 
   53    virtual void             SavePrimitive(std::ostream &out, Option_t *option = 
"");
 
   54    void                     SetId(Int_t 
id)     {fId = id;}
 
   55    void                     SetMaterial(TGeoMaterial *mat) {fMaterial = mat;}
 
   56    virtual void             SetCerenkovProperties(TObject* cerenkov) {fMaterial->SetCerenkovProperties(cerenkov);}
 
   57    ClassDef(TGeoMedium, 1)