LCOV - code coverage report
Current view: top level - ITS/ITSbase - AliITSsegmentationSSD.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 10 14 71.4 %
Date: 2016-06-14 17:26:59 Functions: 12 20 60.0 %

          Line data    Source code
       1             : #ifndef ALIITSSEGMENTATIONSSD_H
       2             : #define ALIITSSEGMENTATIONSSD_H
       3             : 
       4             : #include "AliITSsegmentation.h"
       5             : 
       6             : //////////////////////////////////////////////////////
       7             : // Segmentation class for SSD                       //
       8             : //                                                  //
       9             : //////////////////////////////////////////////////////
      10             : 
      11             : /* $Id$ */
      12             : 
      13             : class AliITSsegmentationSSD :
      14             : public AliITSsegmentation {
      15             :  public:
      16             : 
      17             :     AliITSsegmentationSSD(Option_t *opt="");
      18             :     AliITSsegmentationSSD(const AliITSsegmentationSSD &source);
      19          50 :     virtual ~AliITSsegmentationSSD(){}
      20             :     AliITSsegmentationSSD& operator=(const AliITSsegmentationSSD &source);
      21             : 
      22             : 
      23             :     // Strip size  
      24             :     virtual void    SetPadSize(Float_t pitch,Float_t /* d */)
      25          18 :         {fPitch=pitch;}
      26             : 
      27             :     // Maximum number of strips along the two coordinates  
      28          18 :     virtual void    SetNPads(Int_t p1,Int_t /* d */){fNstrips=p1;}
      29             :     // Returns the maximum number of cells (digits) posible
      30           0 :     virtual Int_t   GetNPads() const {return 2*fNstrips;}
      31             : 
      32             : 
      33             :     // Set stereo angles Pside-Nside 
      34             :     virtual void    SetAngles(Float_t pa=0.0075, Float_t na=0.0275) 
      35          18 :                          {fStereoP=pa; fStereoN=na;}
      36             : 
      37             :     // Set stereo angles Pside-Nside 
      38             :     // Transform from real coordinates to strips
      39             :     virtual void    GetPadIxz(Float_t x ,Float_t z ,Int_t   &iP,Int_t  &iN) const;
      40             :     // Transform from strips to real coordinates
      41             :             void    GetPadCxz(Float_t iP, Float_t iN, Float_t &x , Float_t &z) const;
      42           0 :     virtual void    GetPadCxz(Int_t iP, Int_t iN, Float_t &x , Float_t &z) const { GetPadCxz((Float_t) iP, (Float_t) iN, x, z); }
      43             :     virtual void    GetPadTxz(Float_t &x , Float_t &z) const;
      44             :     // Transformation from Geant cm detector center local coordinates
      45             :     // to detector P and N side strip numbers..
      46             :     virtual Bool_t  LocalToDet(Float_t x,Float_t z,Int_t &iP,Int_t &iN) const;
      47             :     // Transformation from detector segmentation/cell coordiantes starting
      48             :     // from 0. iPN=0 for P side and 1 for N side strip. Returned is z=0.0
      49             :     // and the corresponding x value..
      50             :     virtual void    DetToLocal(Int_t ix,Int_t iPN,Float_t &x,Float_t &z) const;
      51             : 
      52             :     virtual Int_t    GetNumberOfChips() const {
      53           0 :       return fgkNchipsPerSide;
      54             :     }
      55             :     virtual Int_t    GetMaximumChipIndex() const{
      56        6792 :       return fgkNchipsPerSide*2-1;
      57             :     }
      58             :     virtual Int_t    GetChipFromLocal(Float_t xloc, Float_t zloc) const;
      59             :     virtual Int_t    GetChipFromChannel(Int_t ix, Int_t iz) const;
      60             :     virtual Int_t    GetChipsInLocalWindow(Int_t* array, Float_t zmin, Float_t zmax, Float_t xmin, Float_t xmax) const;
      61             : 
      62             :     virtual void Init();
      63             : 
      64             :     // Strip size in x
      65        8690 :     virtual Float_t Dpx(Int_t) const {return fPitch;}
      66             :     // Strip size in z 
      67           0 :     virtual Float_t Dpz(Int_t) const {return fDz;}
      68             :     // Maximum number of Strips in x
      69   114920504 :     virtual Int_t    Npx() const {return fNstrips;}
      70             :     // Maximum number of Strips in z
      71           2 :     virtual Int_t    Npz()const {return 1;}
      72             : 
      73             :     // Angles : Pside stereo angle-Nside stereo angle
      74             :      virtual void Angles(Float_t &aP,Float_t &aN) const;
      75             :      virtual void SetLayer(Int_t l);
      76        5320 :      virtual Int_t GetLayer() const {return fLayer;}
      77             :     // Print Default parameters
      78             :      virtual void PrintDefaultParameters() const;
      79             : 
      80             :   protected:
      81             : 
      82             :   virtual void Copy(TObject &obj) const; 
      83             : 
      84             :   Int_t      fNstrips;       // Number of strips in x 
      85             :   Float_t    fStereoP;       // Stereo angle for Pside (rad)
      86             :   Float_t    fStereoN;       // Stereo angle for Nside (rad)
      87             :   Float_t    fPitch;         // Pitch of the strips
      88             :   
      89             :   Int_t      fLayer;           //! layer number (5 or 6)
      90             :   static const Float_t fgkDxDefault;  // Default value for fDx
      91             :   static const Float_t fgkDzDefault;  // Default value for fDz
      92             :   static const Float_t fgkDyDefault;  // Default value for fDy
      93             :   static const Float_t fgkPitchDefault; //Default value for fPitch
      94             :   static const Int_t fgkNstripsDefault; //Default value for fNstrips
      95             :   static const Int_t fgkNchipsPerSide;    //number of chips per side
      96             :   static const Int_t fgkNstripsPerChip;    //number of strips per chip
      97             : 
      98         118 :   ClassDef(AliITSsegmentationSSD,4) //Segmentation class for SSD 
      99             : };
     100             : 
     101             : #endif

Generated by: LCOV version 1.11