LCOV - code coverage report
Current view: top level - MUON/MUONsim - AliMUONResponseV0.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 15 25 60.0 %
Date: 2016-06-14 17:26:59 Functions: 16 29 55.2 %

          Line data    Source code
       1             : #ifndef ALIMUONRESPONSEV0_H
       2             : #define ALIMUONRESPONSEV0_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             : // Revision of includes 07/05/2004
       8             : 
       9             : /// \ingroup sim
      10             : /// \class AliMUONResponseV0
      11             : /// \brief Implementation of Mathieson response
      12             : 
      13             : #include "AliMUONResponse.h"
      14             : #include "AliMUONMathieson.h"
      15             : 
      16             : class AliMUONResponseV0 : public AliMUONResponse
      17             : {
      18             :  public:
      19             :   AliMUONResponseV0();
      20             :   AliMUONResponseV0(const AliMUONResponseV0& rhs);
      21             :   AliMUONResponseV0& operator = (const AliMUONResponseV0& rhs);
      22             :   virtual ~AliMUONResponseV0();
      23             :   
      24             :   //
      25             :     // Configuration methods
      26             :     //
      27             :     /// Set number of sigmas over which cluster didintegration is performed
      28           4 :     virtual void    SetSigmaIntegration(Float_t p1) {fSigmaIntegration=p1;}
      29             :     /// Get number of sigmas over which cluster didintegration is performed   
      30         332 :     virtual Float_t SigmaIntegration() const {return fSigmaIntegration;}    
      31             :     /// Set single electron pulse height (ADCcounts/e)
      32           4 :     virtual void    SetChargeSlope(Float_t p1) {fChargeSlope=p1;}
      33             :     /// Get Set single electron pulse height (ADCcounts/e)
      34           0 :     virtual Float_t ChargeSlope() const     {return fChargeSlope;}
      35             :     /// Set sigmas of the charge spread function
      36             :     virtual void    SetChargeSpread(Float_t p1, Float_t p2)
      37           4 :         {fChargeSpreadX=p1; fChargeSpreadY=p2;}
      38             :     /// Get sigma_X of the charge spread function
      39         166 :     virtual Float_t ChargeSpreadX() const    {return fChargeSpreadX;}
      40             :     /// Get sigma_Y of the charge spread function
      41         166 :     virtual Float_t ChargeSpreadY() const    {return fChargeSpreadY;}        
      42             :     /// Set maximum Adc-count value
      43           4 :     virtual void    SetMaxAdc(Int_t p1) {fMaxAdc=p1;}
      44             :     /// Set saturation value
      45           4 :     virtual void    SetSaturation(Int_t p1) {fSaturation=p1;}
      46             :     /// Set zero suppression threshold
      47           4 :     virtual void    SetZeroSuppression(Int_t p1) {fZeroSuppression=p1;}
      48             :     /// Get maximum Adc-count value   
      49           0 :     virtual Int_t   MaxAdc() const          {return fMaxAdc;}
      50             :     /// Get saturation value   
      51           0 :     virtual Int_t   Saturation() const      {return fSaturation;}
      52             : 
      53             :     /// Get zero suppression threshold
      54           0 :     virtual Int_t   ZeroSuppression() const {return fZeroSuppression;}
      55             :     /// Set the charge correlation
      56          20 :     virtual void SetChargeCorrel(Float_t correl){fChargeCorrel = correl;}
      57             :     /// Get the charge correlation
      58         166 :     virtual Float_t ChargeCorrel() const {return fChargeCorrel;}
      59             : 
      60             : 
      61             :     /// Set anode cathode Pitch
      62         332 :     virtual Float_t Pitch() const           {return fMathieson->Pitch();}
      63             :     /// Get anode cathode Pitch
      64           4 :     virtual void    SetPitch(Float_t p1)    {fMathieson->SetPitch(p1);};
      65             : 
      66             :     /// Set Mathieson parameters
      67             :     /// Mathieson sqrt{Kx3} and derived Kx2 and Kx4 
      68             :     /// passing pointer to class Mathieson for backward compatibility
      69             :     virtual void    SetSqrtKx3AndDeriveKx2Kx4(Float_t SqrtKx3);
      70             :     /// Mathieson sqrt{Kx3}
      71           0 :     virtual void    SetSqrtKx3(Float_t p1) {fMathieson->SetSqrtKx3(p1);};
      72             :     /// Mathieson Kx2
      73           0 :     virtual void    SetKx2(Float_t p1)     {fMathieson->SetKx2(p1);};
      74             :     /// Mathieson Kx4
      75           0 :     virtual void    SetKx4(Float_t p1)     {fMathieson->SetKx4(p1);};
      76             :     /// Mathieson sqrt{Ky3} and derived Ky2 and Ky4
      77             :     virtual void SetSqrtKy3AndDeriveKy2Ky4(Float_t SqrtKy3);
      78             :     /// Mathieson sqrt{Ky3}
      79           0 :     virtual void    SetSqrtKy3(Float_t p1) {fMathieson->SetSqrtKy3(p1);};
      80             :     /// Mathieson Ky2
      81           0 :     virtual void    SetKy2(Float_t p1)     {fMathieson->SetKy2(p1);};
      82             :     /// Mathieson Ky4
      83           0 :       virtual void SetKy4(Float_t p1)     {fMathieson->SetKy4(p1);};
      84             :     //  
      85             :     // Chamber response methods
      86             :     // Pulse height from scored quantity (eloss)
      87             :     virtual Float_t  IntPH(Float_t eloss) const;
      88             : 
      89             :     /// Parametrised tail effect in resolution histogram
      90           2 :     virtual void    SetTailEffect(Bool_t isTail) {fIsTailEffect=isTail;}
      91             :     
      92             :     virtual Float_t GetAnod(Float_t x) const;
      93             :     
      94             :     virtual void DisIntegrate(const AliMUONHit& hit, TList& digits, Float_t timeDif);
      95             :     
      96             :     virtual void Print(Option_t* opt="") const;
      97             :   
      98             : private:
      99             :     void CopyTo(AliMUONResponseV0& other) const;
     100             :     
     101             : private:
     102             :    
     103             :     Float_t fChargeSlope;              ///< Slope of the charge distribution
     104             :     Float_t fChargeSpreadX;            ///< Width of the charge distribution in x
     105             :     Float_t fChargeSpreadY;            ///< Width of the charge distribution in y
     106             :     Float_t fSigmaIntegration;         ///< Number of sigma's used for charge distribution
     107             :     Int_t   fMaxAdc;                   ///< Maximum ADC channel
     108             :     Int_t   fSaturation;               ///< Pad saturation in ADC channel
     109             :     Int_t   fZeroSuppression;          ///< Zero suppression threshold
     110             :     Float_t fChargeCorrel;             ///< \brief amplitude of charge correlation on 2 cathods
     111             :                                        ///  is RMS of ln(q1/q2)
     112             :     AliMUONMathieson* fMathieson;      ///< pointer to mathieson fct
     113             :     Float_t fChargeThreshold;          ///< Charges below this threshold are = 0  
     114             :     Bool_t   fIsTailEffect;            ///< switch to turn on/off the tail effect
     115             :       
     116             : 
     117         992 :     ClassDef(AliMUONResponseV0,2) // Implementation of detector response
     118             : };
     119             : 
     120             : #endif
     121             : 
     122             : 
     123             : 
     124             : 
     125             : 
     126             : 
     127             : 
     128             : 
     129             : 
     130             : 
     131             : 

Generated by: LCOV version 1.11