LCOV - code coverage report
Current view: top level - ITS/ITSrec - AliITSAlignMilleModule.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 6 16.7 %
Date: 2016-06-14 17:26:59 Functions: 1 10 10.0 %

          Line data    Source code
       1             : #ifndef ALIITSALIGNMILLEMODULE_H
       2             : #define ALIITSALIGNMILLEMODULE_H 
       3             : /* Copyright(c) 2007-2009 , ALICE Experiment at CERN, All rights reserved. * 
       4             :  * See cxx source for full Copyright notice                               */  
       5             :  
       6             : /// \ingroup rec 
       7             : /// \class AliITSAlignMilleModule 
       8             : /// \brief Class for alignment of ITS 
       9             : // 
      10             : // Authors: Marcello Lunardon 
      11             : 
      12             : /* $Id$  */ 
      13             : //#include <TString.h> 
      14             : //#include <TObject.h> 
      15             : #include <TNamed.h> 
      16             : 
      17             : 
      18             : class AliAlignObjParams; 
      19             : class TGeoHMatrix; 
      20             : 
      21             : class AliITSAlignMilleModule : public TNamed 
      22             : { 
      23             : public: 
      24             :   AliITSAlignMilleModule(); 
      25             :   AliITSAlignMilleModule(UShort_t volid); // basic single volume constructor
      26             :   AliITSAlignMilleModule(Int_t index, UShort_t volid, char* symname, const TGeoHMatrix *m, Int_t nsv=0, const UShort_t *volidsv=NULL); // general constructor
      27             : 
      28             :   AliITSAlignMilleModule(const AliITSAlignMilleModule& rhs); // copy constructor
      29             :   AliITSAlignMilleModule& operator=(const AliITSAlignMilleModule& rhs);  
      30             :     
      31             :   virtual ~AliITSAlignMilleModule(); 
      32             :    
      33             :   // geometry methods  
      34           0 :   Int_t     GetIndex() const {return fIndex;} 
      35           0 :   UShort_t  GetVolumeID() const {return fVolumeID;}  
      36           0 :   Int_t     GetNSensitiveVolumes() const {return fNSensVol;} 
      37           0 :   TGeoHMatrix *GetMatrix() const {return fMatrix;} 
      38           0 :   const UShort_t *GetSensitiveVolumeVolumeID() const {return fSensVolVolumeID;}
      39             : 
      40             :   Int_t     Set(Int_t index, UShort_t volid, char* symname, const TGeoHMatrix * const m, Int_t nsv=0, const UShort_t *volidsv=NULL); // initialize a super module
      41             :   
      42             :   // util
      43             :   static Int_t GetIndexFromVolumeID(UShort_t volid);
      44             :   static UShort_t GetVolumeIDFromSymname(const Char_t *symname);
      45             :   static UShort_t GetVolumeIDFromIndex(Int_t index);
      46             : 
      47             :   // methods
      48             :   Bool_t    IsIn(UShort_t volid) const;
      49             :   TGeoHMatrix *GetSensitiveVolumeMatrix(UShort_t voluid);
      50             :   TGeoHMatrix *GetSensitiveVolumeOrigGlobalMatrix(UShort_t voluid);
      51             :   TGeoHMatrix *GetSensitiveVolumeModifiedMatrix(UShort_t voluid, const Double_t * const deltalocal); 
      52             :   AliAlignObjParams *GetSensitiveVolumeMisalignment(UShort_t voluid, const AliAlignObjParams *a); 
      53             :   AliAlignObjParams *GetSensitiveVolumeMisalignment(UShort_t voluid, const Double_t * const deltalocal); 
      54             :   // forse non serve...
      55             :   AliAlignObjParams *GetSensitiveVolumeGlobalMisalignment(UShort_t voluid, const Double_t * const deltalocal); 
      56             :   // mo' proviamo questo
      57             :   AliAlignObjParams *GetSensitiveVolumeTotalMisalignment(UShort_t voluid, const Double_t * const deltalocal); 
      58             :   void      Print(Option_t*) const; 
      59             : 
      60             : protected:
      61             :   Int_t     SensVolMatrix(UShort_t volid, TGeoHMatrix *m); 
      62             :   Int_t     SensVolOrigGlobalMatrix(UShort_t volid, TGeoHMatrix *m); 
      63             :   void      AddSensitiveVolume(UShort_t volid);
      64             : 
      65             : private:
      66             :   static const Int_t fgkSensModules = 2198; // number of sensors
      67             :   Int_t          fNSensVol; ///
      68             :   Int_t          fIndex; ///
      69             :   UShort_t       fVolumeID; ///
      70             :   // il symname e' il nome del TNamed...
      71             :   Int_t          fSensVolIndex[fgkSensModules]; ///
      72             :   UShort_t       fSensVolVolumeID[fgkSensModules]; ///
      73             :   TGeoHMatrix   *fMatrix; /// ideal TGeoHMatrix of the supermodule
      74             :   TGeoHMatrix   *fSensVolMatrix; ///
      75             :   TGeoHMatrix   *fSensVolModifMatrix; ///
      76             :   AliAlignObjParams *fTempAlignObj; ///
      77             :         
      78         116 :   ClassDef(AliITSAlignMilleModule, 0)
      79             : 
      80             : }; 
      81             : 
      82             : #endif 

Generated by: LCOV version 1.11