BRAT 2.4.5
Class index
Full class index
brahmlib
BRAHMS
ROOT page

BrDbObject


class description - source file - inheritance tree

class BrDbObject : public TObject


    public:
BrDbObject BrDbObject() BrDbObject BrDbObject(const Char_t* classname, const Char_t* detectorname, TObject* obj) BrDbObject BrDbObject(BrDbObject&) virtual void ~BrDbObject() static TClass* Class() virtual TClass* IsA() const virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
Char_t fClassName[80] ClassName for database object Char_t fDetectorName[80] Identifier of detector/magnet name TObject* fDetectorGeometry Pointer to database object.

Class Description

  BrGeometryDbManager

 This manager class will be the owner of the DetectorVolume Objects
 Its intended use if for a user module to access database only via
 this mechanism, and not by opening any files by themselves. It
 also ensures that in the case that several user modules uses a
 given geometry it is ensured that
    a) The refer to the same object
    b) The application can use the setter methods to change values
       for a geometry constant and will thus be the same for all
       modules.
    c) The objects are owned by the manager and will be deleted only
       when the program exists (The instance is a static object).

 Sample code:

 The application can load the Manager and keep a global pointer
 accesible via a Brat common application file. It is in fact
 implemented via a Singletom mechanism. This enables us to use both
 the global mechanism as well as the instantons.

  Main application will have
  ---------------------------
  BrGeometryDbManager *gGeomDb = BrGeometryDbManager::Instance();

    gGeomDb->SetDbFileName("mrs.geo");
    gGeomDb->SetDbFileName("mrs.mag");
    gGeomDb->SetDbFileName("mysim.geo");

 The files should be search in order given. This means that if a
 given detector is not found in the first the search
 continues. Note as of now Magnetvolume are derived from
 BrDetectorVolume

 The user module should have in the Init()method. Could possible
 be in a Begin() in case geometry changes by run.

    ------------------------------------
    BrGeometryDbManager *geomdb = BrGeometryDbManager::Instance();

    BrDetectorVolume* t1_vol = (BrDetectorVolume*)
             geomdb->GetDetectorVolume("BrDetectorVolume",name);
    BrMagnetVolume* d1_vol = (BrMagnetVolume*)
             geomdb->GetDetectorVolume("BrMagnetVolume",name);

 where name may have been obtained from either the name of the module
 example BrDigitizeTPC  name == GetName()


  $Id: BrGeometryDbManager.cxx,v 1.11 2002/04/16 14:44:12 hagel Exp $
  $Author: hagel $
  $Date: 2002/04/16 14:44:12 $


 ROOT classes

 Brat classes

~BrDbObject()

BrDbObject(const Char_t* classname, const Char_t* detectorname, TObject* obj)



Inline Functions


         BrDbObject BrDbObject(const Char_t* classname, const Char_t* detectorname, TObject* obj)
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
               void StreamerNVirtual(TBuffer& b)
         BrDbObject BrDbObject(BrDbObject&)

This page automatically generated by script docBrat by Christian Holm

Copyright ; 2002 BRAHMS Collaboration <brahmlib@rcf.rhic.bnl.gov>
Last Update on Wed Sep 11 04:51:05 2002 by

Validate HTML
Validate CSS