LCOV - code coverage report
Current view: top level - MUON/MUONgeometry - AliMUONGeometryEnvelope.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 6 6 100.0 %
Date: 2016-06-14 17:26:59 Functions: 7 10 70.0 %

          Line data    Source code
       1             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       2             :  * See cxx source for full Copyright notice                               */
       3             : 
       4             : // $Id$
       5             : // Revision of includes 07/05/2004
       6             : 
       7             : /// \ingroup geometry
       8             : /// \class AliMUONGeometryEnvelope
       9             : /// \brief Geometry envelope helper class
      10             : ///
      11             : /// Helper class for definititon of an assembly of volumes.
      12             : ///
      13             : /// \author Ivana Hrivnacova, IPN Orsay
      14             : 
      15             : #ifndef ALI_MUON_GEOMETRY_ENVELOPE_H
      16             : #define ALI_MUON_GEOMETRY_ENVELOPE_H
      17             : 
      18             : #include <TNamed.h>
      19             : 
      20             : class TGeoTranslation;
      21             : class TGeoRotation;
      22             : class TGeoCombiTrans;
      23             : class TObjArray;
      24             : 
      25             : class AliMUONGeometryEnvelope : public TNamed
      26             : {
      27             :   public:
      28             :     AliMUONGeometryEnvelope(const TString& name, Int_t id,  
      29             :                             Bool_t isVirtual, const char* only); 
      30             :     AliMUONGeometryEnvelope(const TString& name,  Int_t id,
      31             :                             Int_t copyNo, const char* only); 
      32             :     AliMUONGeometryEnvelope();
      33             :     virtual ~AliMUONGeometryEnvelope();
      34             :   
      35             :     // methods
      36             :     void  AddConstituent(const TString& name, Int_t copyNo); 
      37             :     void  AddConstituent(const TString& name, Int_t copyNo, 
      38             :                          const TGeoTranslation& translation); 
      39             :     void  AddConstituent(const TString& name, Int_t copyNo,
      40             :                          const TGeoTranslation& translation, 
      41             :                          const TGeoRotation& rotation);
      42             :     void  AddConstituent(const TString& name, Int_t copyNo,
      43             :                          const TGeoCombiTrans& transform); 
      44             : 
      45             :     void  AddConstituentParam(const TString& name, Int_t copyNo, 
      46             :                          Int_t npar, Double_t* param);
      47             :     void  AddConstituentParam(const TString& name, Int_t copyNo, 
      48             :                          const TGeoTranslation& translation,
      49             :                          Int_t npar, Double_t* param);
      50             :     void  AddConstituentParam(const TString& name, Int_t copyNo, 
      51             :                          const TGeoTranslation& translation, 
      52             :                          const TGeoRotation& rotation,
      53             :                          Int_t npar, Double_t* param);
      54             :     void  AddConstituentParam(const TString& name, Int_t copyNo, 
      55             :                          const TGeoCombiTrans& transform,
      56             :                          Int_t npar, Double_t* param);
      57             : 
      58             :     void  SetTranslation(const TGeoTranslation& translation);
      59             :     void  SetRotation(const TGeoRotation& rotation);
      60             :     void  SetTransform(const TGeoCombiTrans& transform);
      61             : 
      62             :     // get methods
      63             :     Bool_t                 IsVirtual() const;  
      64             :     Bool_t                 IsMANY() const;  
      65             :     Int_t                  GetCopyNo() const;  
      66             :     const TGeoCombiTrans*  GetTransformation() const;
      67             :     const TObjArray*       GetConstituents() const;
      68             : 
      69             :   protected:
      70             :     /// Not implemented
      71             :     AliMUONGeometryEnvelope(const AliMUONGeometryEnvelope& rhs);
      72             :     /// Not implemented
      73             :     AliMUONGeometryEnvelope& operator = (const AliMUONGeometryEnvelope& rhs);
      74             : 
      75             :   private:
      76             :     Bool_t           fIsVirtual;     ///< \brief true if envelope is not represented
      77             :                                      /// by a real volume
      78             :     Bool_t           fIsMANY;        ///< \brief true if envelope is placed with
      79             :                                      /// MANY option
      80             :     Int_t            fCopyNo;        ///< \brief copy number 
      81             :                                      /// (only non virtual envelope can have 
      82             :                                      ///  more than one copy)
      83             :     TGeoCombiTrans*  fTransformation;///< \brief  the envelope transformation wrt to the
      84             :                                      /// mother frame (the chamber position)
      85             :     TObjArray*       fConstituents;  ///< \brief the constituents names and transformations
      86             :                                      /// wrt to the envelope position                                 
      87             :  
      88       43286 :   ClassDef(AliMUONGeometryEnvelope,1) // MUON chamber geometry base class
      89             : };
      90             : 
      91             : // inline functions
      92             : 
      93             : /// Return true if envelope is virtual
      94             : inline Bool_t AliMUONGeometryEnvelope::IsVirtual() const
      95       10816 : { return fIsVirtual; }  
      96             : 
      97             : /// Return true if envelope is placed with MANY option
      98             : inline Bool_t AliMUONGeometryEnvelope::IsMANY() const
      99        2704 : { return fIsMANY; }  
     100             : 
     101             : /// Return copy number
     102             : inline Int_t AliMUONGeometryEnvelope::GetCopyNo() const
     103        3160 : { return fCopyNo; }  
     104             : 
     105             : /// Return the envelope transformation wrt to the mother frame 
     106             : /// (the chamber position)
     107             : inline const TGeoCombiTrans* AliMUONGeometryEnvelope::GetTransformation() const 
     108        3160 : { return fTransformation; }
     109             : 
     110             : /// Return the array of constituents names and transformations 
     111             : /// wrt to the envelope position
     112             : inline const TObjArray* AliMUONGeometryEnvelope::GetConstituents() const
     113       18616 : { return fConstituents; }
     114             : 
     115             : #endif //ALI_MUON_GEOMETRY_ENVELOPE_H

Generated by: LCOV version 1.11