LCOV - code coverage report
Current view: top level - PHOS/PHOSsim - AliPHOSvFast.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 4 25.0 %
Date: 2016-06-14 17:26:59 Functions: 1 8 12.5 %

          Line data    Source code
       1             : #ifndef ALIPHOSVFAST_H
       2             : #define ALIPHOSVFAST_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             : /* History of cvs commits:
       9             :  *
      10             :  * $Log$
      11             :  * Revision 1.26  2006/09/13 07:31:01  kharlov
      12             :  * Effective C++ corrections (T.Pocheptsov)
      13             :  *
      14             :  * Revision 1.25  2005/05/28 14:19:05  schutz
      15             :  * Compilation warnings fixed by T.P.
      16             :  *
      17             :  */
      18             : 
      19             : //_________________________________________________________________________
      20             : // Implementation of the PHOS manager class for fast simulations     
      21             : // Tracks particles until the reach a grossly designed PHOS module
      22             : // Modify the particles property (momentum, energy, type) according to
      23             : //  the PHOS response function. The result is called a virtual reconstructed
      24             : //  particle.                                
      25             : //                  
      26             : //*-- Author: Yves Schutz (SUBATECH)
      27             : 
      28             : // --- ROOT system ---
      29             : //#include "TClonesArray.h"
      30             : #include "TRandom.h"
      31             : 
      32             : class TVector3 ;
      33             : class TFile;
      34             : 
      35             : // --- AliRoot header files ---
      36             : #include "AliPHOS.h"
      37             : class AliPHOSGeometry ;
      38             : class AliPHOSFastRecParticle ;
      39             : 
      40             : class AliPHOSvFast : public AliPHOS {
      41             : 
      42             : public:
      43             : 
      44             :   AliPHOSvFast() ;
      45             :   AliPHOSvFast(const char *name, const char *title="") ;
      46             :   
      47             :   virtual ~AliPHOSvFast(void) ;
      48             : 
      49             :   void           AddRecParticle(const AliPHOSFastRecParticle & rp) ; // adds primary particle to the RecParticles list
      50             :   virtual void   CreateGeometry(void) ;                              // creates the geometry for GEANT
      51             :   Float_t        GetBigBox(Int_t index) const;                             
      52             :   virtual void   Init(void) ;                                        // does nothing
      53             :   virtual Int_t  IsVersion(void) const {
      54             :     // Gives the version number 
      55           0 :     return 99 ; 
      56             :   }
      57             : 
      58             :   void    MakeBranch(Option_t* opt);
      59             :   Double_t MakeEnergy(Double_t energy) ;                       // makes the detected energy    
      60             :   TVector3 MakePosition(Double_t energy, TVector3 pos, Double_t th, Double_t ph) ; 
      61             :                                                                      // makes the detected position
      62             :   void MakeRecParticle(Int_t modid, TVector3 pos, AliPHOSFastRecParticle & rp) ;  // makes a reconstructes particle from primary
      63             :   Int_t   MakeType(AliPHOSFastRecParticle & rp) ;                    // gets the detected type of particle
      64             :   // gets TClonesArray of reconstructed particles
      65           0 :   TClonesArray * FastRecParticles() const { return fFastRecParticles ; } 
      66             :   virtual void ResetPoints() ; 
      67             :   void         ResetFastRecParticles() ; 
      68             :   void         SetBigBox(Int_t index, Float_t value) ;                             
      69             :   Double_t     SigmaE(Double_t energy) ;    // calulates the energy resolution at a given Energy                           
      70             :   Double_t     SigmaP(Double_t energy, Double_t inc) ; // calulates the position resolution at a given Energy at a given incidence                           
      71             :   virtual void StepManager(void) ;          // does the tracking through PHOS and a preliminary digitalization
      72             :   virtual const TString Version(void)const { 
      73             :     // As IsVersion
      74           0 :     return TString("vFast") ; 
      75             :   }
      76             : 
      77             : private:
      78             :   AliPHOSvFast(AliPHOSvFast & fast);
      79             :   AliPHOSvFast & operator = (const AliPHOSvFast & );
      80             :   
      81             :   Float_t fBigBoxX ;                         // main box containing all PHOS (EMC+PPSD)
      82             :   Float_t fBigBoxY ;                         // main box containing all PHOS (EMC+PPSD)
      83             :   Float_t fBigBoxZ ;                         // main box containing all PHOS (EMC+PPSD)
      84             :   TClonesArray * fFastRecParticles ;         // list of particles modified by the response function 
      85             :   Int_t fNRecParticles ;                     // number of detected particles
      86             :   TRandom fRan ;                             // random number generator
      87             :   Double_t fResPara1 ;                       // parameter for the energy resolution dependence  
      88             :   Double_t fResPara2 ;                       // parameter for the energy resolution dependence  
      89             :   Double_t fResPara3 ;                       // parameter for the energy resolution dependence 
      90             :   Double_t fPosParaA0 ;                      // parameter for the position resolution
      91             :   Double_t fPosParaA1 ;                      // parameter for the position resolution 
      92             :   Double_t fPosParaB0 ;                      // parameter for the position resolution 
      93             :   Double_t fPosParaB1 ;                      // parameter for the position resolution 
      94             :   Double_t fPosParaB2 ;                      // parameter for the position resolution
      95             : 
      96          20 :   ClassDef(AliPHOSvFast,1)  //  Implementation of the PHOS manager class for fast simulations  
      97             : 
      98             : };
      99             : 
     100             : #endif // AliPHOSVFAST_H

Generated by: LCOV version 1.11