LCOV - code coverage report
Current view: top level - TPC/TPCbase - AliSegmentArray.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 8 9 88.9 %
Date: 2016-06-14 17:26:59 Functions: 4 9 44.4 %

          Line data    Source code
       1             : #ifndef ALISEGMENTARRAY_H
       2             : #define ALISEGMENTARRAY_H
       3             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : /* $Id$ */
       7             : 
       8             : /// \class AliSegmentArray
       9             : ///
      10             : ///  Manager class general Alice segment
      11             : ///  segment is for example one pad row in TPC
      12             : 
      13             : #include "TNamed.h"
      14             : #include "TError.h"
      15             : #include "TObjArray.h"
      16             : 
      17             : class TTree;
      18             : class TBranch;
      19             : class TFile;
      20             : class TArrayI;
      21             : class AliSegmentID;
      22             :  
      23             : class AliSegmentArray: public TNamed{
      24             : public:
      25             :   AliSegmentArray();
      26             :   AliSegmentArray(const char *classname, Int_t n);  // 
      27             :   virtual ~AliSegmentArray();
      28             :   Bool_t  SetClass(const char *classname);  //set class of stored object 
      29             :   const AliSegmentID * At(Int_t i); //return pointer to segment with index i 
      30             :   const AliSegmentID * operator[](Int_t i); //return pointer to segment with index i
      31             : 
      32             :   Bool_t AddSegment(AliSegmentID *segment); // add segment to array
      33             :   AliSegmentID * AddSegment(Int_t index);   //create objet and set index
      34             :   Bool_t   MakeArray(Int_t n);       //make array of pointers to Segments
      35             :   void ClearSegment(Int_t index); //remove segment from active   
      36             :   virtual AliSegmentID * NewSegment(); //dynamicaly create new segment 
      37             :   //input output functions
      38         576 :   TTree * GetTree(){return fTree;}      //return pointer to connected tree
      39             :   
      40             :   virtual void MakeTree(char *file=0);              //Make tree with the name
      41             :   virtual void MakeTree(TTree* tree);              //Make tree with the name
      42             : 
      43             :   virtual Bool_t ConnectTree(const char * treeName); //connect tree from current directory 
      44             :   virtual Bool_t ConnectTree(TTree* tree); //connect tree from current directory 
      45             :   
      46             :   virtual AliSegmentID * LoadSegment(Int_t index);//load segment with index to the memory
      47             :   virtual AliSegmentID * LoadEntry(Int_t index); //load segment entry from position index in tree
      48             :   virtual void StoreSegment(Int_t index);//write segmen persistent  
      49             :   Bool_t  MakeDictionary(Int_t size);//create index table for tree
      50           0 :   TClass * GetClass() {return fClass;}
      51             :   
      52             : protected:
      53             :   AliSegmentArray(const AliSegmentArray &segment); //copy constructor
      54             :   AliSegmentArray &operator = (const AliSegmentArray & segment); //assignment operator
      55             :   TObjArray  * fSegment;  //!<! pointer to array of pointers to segment
      56             :   TArrayI    * fTreeIndex; //!<! pointers(index) table in tree
      57             :   Int_t      fNSegment; ///< number of alocated segments
      58             :   TTree    * fTree;   //!<! tree with segment objects
      59             :   Bool_t   fTreeOwner;///< flag determing the ownership of the fTree
      60             :   TBranch  * fBranch; //!<! total branch
      61             : private: 
      62             :   TClass  *   fClass;    //!<! class type of included objects
      63             : 
      64             :   /// \cond CLASSIMP
      65          24 :   ClassDef(AliSegmentArray,3)
      66             :   /// \endcond
      67             : 
      68             : };
      69             : 
      70             : 
      71             : 
      72             : inline const AliSegmentID*  AliSegmentArray::operator[](Int_t i)
      73             : {
      74             :   /// return segment with given index
      75             : 
      76      228956 :   if ( (i<0) || (i>=fNSegment)) return 0; 
      77       45796 :   return (AliSegmentID *)(fSegment->At(i));
      78             :   
      79       68688 : }
      80             : 
      81             : inline const AliSegmentID*  AliSegmentArray::At(Int_t i)
      82             : {
      83             :   /// return segment with given index
      84             : 
      85      137376 :   if ( (i<0) || (i>=fNSegment)) return 0; 
      86       45792 :   return (AliSegmentID *)(fSegment->At(i));
      87       45792 : }
      88             : 
      89             : #endif //ALISEGMENTARRAY_H

Generated by: LCOV version 1.11