HDetGeomPar
class description - source file - inheritance tree (.pdf)
public:
HDetGeomPar(const char* name, const char* title, const char* context, const char* detectorName)
HDetGeomPar(const HDetGeomPar&)
virtual ~HDetGeomPar()
void addRefVolume(HGeomCompositeVolume*, const Int_t)
static TClass* Class()
virtual void clear()
virtual Int_t getCompNum(const TString&)
Int_t getMaxModules()
Int_t getMaxSectors()
virtual Int_t getModNumInComp(const TString&)
virtual Int_t getModNumInMod(const TString&)
HModGeomPar* getModule(const Int_t, const Int_t)
HModGeomPar* getModule(const Int_t)
Int_t getNumComponents()
Int_t getNumModules()
Int_t getNumRefModules()
HGeomCompositeVolume* getRefVolume(const Int_t)
virtual Int_t getSecNum(const TString&)
void getSector(TObjArray*, const Int_t)
HGeomShapes* getShapes()
virtual Bool_t init(HParIo*, Int_t*)
virtual TClass* IsA() const
Bool_t isFirstInitialization()
HDetGeomPar& operator=(const HDetGeomPar&)
virtual void printParam()
void setNotFirstInit()
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
virtual Int_t write(HParIo*)
protected:
TObjArray* modules linear array of all modules (type HModGeomPar)
TObjArray* refVolumes array of module types (type HGeomCompositeVolume)
Int_t maxSectors maximum number of sectors
Int_t maxModules maximum number of modules in a sector
Int_t numComponents number of components in a sector
HGeomShapes* shapes ! pointer to the shape classes
Bool_t isFirstInit ! kTRUE before first initialization
HGeomDetPar
Container class for the basic geometry parameters of a detector
This container can hold the information about the sizes and positions of
volumes forming a geometry tree with 2 levels: modules and components in
these modules.
The information is stored in 2 arrays.
The array "modules" is a linear array of maxSectors*maxModules pointers to
detector modules (type HModGeomPar) each having a name and a lab
transformation which describes the position and orientation of the internal
module coordinate system relative to the cave coordinate system.
Each module has a pointer to a reference module describing the type of this
module. These module types (objects of class HGeomCompositeVolume) are
stored in the second array "refVolumes". (Normally the modules in the six
sectors are identical and the information has to be stored only once. Only
their position is different.)
Each reference module is a volume with a detector dependent number of
components which are volumes themselves. Each volume has a name, a shape, a
mother, a shape dependant number of points describing the size and a
transformation. The transformation of a module describes the detector
coordinate system (ideal position in a sector) and the transformation of a
component shows the position and orientation relative to this detector
coordinate system.
inline functions of class HDetGeomPar:
Int_t getNumComponents()
returns the number of components in a module
Int_t getMaxSectors()
returns the maximum number of sectors
Int_t getMaxModules()
returns the maximum number of modules
HGeomShapes* getShapes()
return the pointer to the shape classes
virtual functions of class HDetGeomPar which have to be implemented by the
detector classes:
virtual Bool_t init(HParIo*,Int_t*)
initilizes the container from an input
virtual Int_t write(HParIo*)
writes the container to an output
virtual Int_t getSecNum(const TString&)
retrieves the sector number from the name of a module
virtual Int_t getModNumInMod(const TString&) {return -1;}
retrieves the module number from the name of a module
virtual Int_t getModNumInComp(const TString&) {return -1;}
retrieves the module number from the name of a component
virtual Int_t getCompNum(const TString&) {return -1;}
retrieves the component number from the name of a component
inline functions of class HModGeomPar:
void setVolume(HGeomCompositeVolume* p)
sets the pointer to the reference volume
HGeomCompositeVolume* getRefVolume()
returns a pointer to the reference volume
HGeomTransform& getLabTransform()
returns the lab transformation of a module
const Text_t* getRefName() const
sets the name of the reference volume
HDetGeomPar(const char* name,const char* title,
const char* context,const char* detectorName)
: HParSet(name,title,context)
The constructor creates an array of maxSectors*maxModules pointers of
type HModGeomPar
The pointers to modules, which are not active (taken from the setup),
are NULL-pointers.
It creates also an array of size maxModules, which is filled which the
reference modules during the first initialisation
~HDetGeomPar()
destructor deletes the arrays
Int_t getNumModules()
returns the maximum number of the modules
Int_t getNumRefModules()
returns the maximum number of the reference modules
HModGeomPar* getModule(const Int_t s,const Int_t m)
returns a pointer to the module with index m in sector with index s
HModGeomPar* getModule(const Int_t n)
returns a pointer to the module at position n in the array
void getSector(TObjArray* array,const Int_t s)
fills the given array with the pointers to all modules in the sector with
index s
HGeomCompositeVolume* getRefVolume(const Int_t m)
returns a pointer to the reference module with index m
void addRefVolume(HGeomCompositeVolume* v,const Int_t n)
adds the given reference volume at postion n in the array refVolumes
void clear()
clears the parameter container completely as long as it was not
initialized completly
otherwise it clears only the module transformation, but not the
reference volume and its inner parts
This function is virtual and could be overloaded in the derived class if needed.
void printParam()
prints the parameters
This function is virtual and could be overloaded in the derived class if
needed.
void Streamer(TBuffer &R__b)
Stream an object of class HDetGeomPar.
Inline Functions
Int_t getNumComponents()
Int_t getMaxSectors()
Int_t getMaxModules()
Bool_t isFirstInitialization()
void setNotFirstInit()
Bool_t init(HParIo*, Int_t*)
Int_t write(HParIo*)
Int_t getSecNum(const TString&)
Int_t getModNumInMod(const TString&)
Int_t getModNumInComp(const TString&)
Int_t getCompNum(const TString&)
HGeomShapes* getShapes()
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void StreamerNVirtual(TBuffer& b)
HDetGeomPar HDetGeomPar(const HDetGeomPar&)
HDetGeomPar& operator=(const HDetGeomPar&)
Last update: Mon Feb 5 16:50:05 2007
ROOT page - Class index - Class Hierarchy - 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.