//------------------------------------------------------------------------------ // Main geometry lass -- // (C) Piero Giubilato 2008-2010, Berkeley Lab -- //------------------------------------------------------------------------------ //______________________________________________________________________________ // {Trace} // [File name] "geom_Frame.h" // [Author] "Piero Giubilato" // [Version] "1.0" // [Modified by] "Piero Giubilato" // [Last revision] "31 Jan 2009" // [Language] "C++" // [Compiler] "Visual C++ 9.x" // [Member of] "Cool SEAL" // [Project] "SEAL" // [Description] "Main geometry class." // [Key documentation] // "Root user's guide" // "Visual C++ Reference Help" // {Trace} //______________________________________________________________________________ // Overloading check #ifndef geom_Frame_H #define geom_Frame_H // Standard libs #include // Root components #include // Application components #include "data_Object.h" #include "geom_Chip.h" #include "geom_Layer.h" #include "geom_Channel.h" //______________________________________________________________________________ class geom_Frame: public data_Object { private: // Class identifiers static const UShort_t class_Ver = 1; // HRD class version // Data storage UInt_t frame_HID; // Hardware ID std::vector chip_Array; // Embedded chips std::vector layer_Array; // Embedded layers std::vector chn_Array; // Embedded channels // Functions int data_Preset(); public: // Default methods geom_Frame (); ~geom_Frame (); // Hardware ID UInt_t HrdID() const; void HrdID(UInt_t val); // Chips managing UInt_t chip_Add(); UInt_t chip_Del(UInt_t chip_Idx); UInt_t chip_Count() const; geom_Chip* chip(UInt_t chip_Idx) const; // Layers managing UInt_t layer_Add(); UInt_t layer_Del(UInt_t layer_Idx); UInt_t layer_Count() const; geom_Layer* layer(UInt_t layer_Idx) const; // Channels managing UInt_t channel_Add(UInt_t chip_Idx = 0, UInt_t layer_Idx = 0); UInt_t channel_Del(UInt_t channel_Idx); UInt_t channel_Count() const; geom_Channel* channel(UInt_t channel_Idx) const; // Mimic function UInt_t dp_Count() const; // Root overloaded void Streamer (TBuffer &b); void Dump() const {Dump(0);} void Dump(UInt_t level) const; // Makes the class visible by RootCint //ClassDef(geom_Frame, 1) }; // Overloading check #endif