Coding conventions
[u/mrichter/AliRoot.git] / HMPID / AliHMPIDv1.h
1 #ifndef AliHMPIDv1_h
2 #define AliHMPIDv1_h
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6 //.
7 //HMPID class of "standard" geometry 
8 //.
9 #include "AliHMPID.h"             //base class 
10 #include "AliHMPIDDigitizer.h"    //CreateDigitizer()
11
12 class AliHMPIDv1 : public AliHMPID //TObject-TNamed-AliModule-AliDetector-AliHMPID-AliHMPIDv0
13 {
14 public:
15                  AliHMPIDv1()                                   :AliHMPID(          ),fIdRad(-1),fIdWin(-1),fIdProxGap(-1),fIdAmpGap(-1),fIdPc(-1),fIdAnod(-1),fIdCath(-1),fIdColl(-1) {;}          //default ctor
16                  AliHMPIDv1(const char *name, const char *title):AliHMPID(name,title),fIdRad(-1),fIdWin(-1),fIdProxGap(-1),fIdAmpGap(-1),fIdPc(-1),fIdAnod(-1),fIdCath(-1),fIdColl(-1) {;}          //named ctor
17   virtual       ~AliHMPIDv1()                                                         {;}          //dtor
18 //framework part++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++   
19           void    AddAlignableVolumes(                               )const;                                   //from AliModule invoked from AliMC    
20           void    CreateMaterials  (                                 );                                        //from AliModule invoked from AliMC
21           void    CreateGeometry   (                                 );                                        //from AliModule invoked from AliMC
22   AliDigitizer*   CreateDigitizer  (AliRunDigitizer *m               )const{return new AliHMPIDDigitizer(m);}  //from AliModule invoked from AliSimulation::RunDigitization()
23           void    Digits2Raw       (                                 );                                        //from AliModule invoked from AliSimulation::WriteRawFiles()
24   virtual void    DefineOpticalProperties();                                                                   //from AliModule invoked from AliMC::ConstructOpGeometry() to set Cerenkov properties
25           void    Hits2SDigits     (                                 );                                        //from AliModule invoked from AliSimulation::RunSDigitization()
26           void    Init             (                                 );                                        //from AliModule invoked from AliMC::InitGeometry()
27           Int_t   IsVersion        (                                 )const{return 1;                      }   //from AliModule not used
28           void    Print            (const Option_t *opt=""           )const;                                   //from TObject
29           Bool_t  Raw2SDigits      (AliRawReader *pRR                );                                        //from AliMOdule invoked from AliSimulation  
30           void    StepManager      (                                 );                                        //from AliModule invoked from AliMC::Stepping()
31 //private part++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
32           void    GenFee           (Float_t qtot                     );                                        //generates feedback photons
33   static  Float_t Fresnel          (Float_t geV,Float_t p, Bool_t pl );                                        //deals with Fresnel absorption on PC          
34   static  void    Hit2Sdi          (TClonesArray *pH,TClonesArray *pS); 
35           Bool_t  IsLostByFresnel  (                                 );                                        //checks if the photon lost on Fresnel reflection  
36           void    StepCount        (                                 );                                        //counts particles in StepManager()
37           void    StepHistory      (                                 );                                        //prints history of tracking in StepManager()
38 protected:
39   enum EMedia {kAir=1,kRoha=2,kSiO2=3,kC6F14=4,kCH4=5,kCsI=6,kAl=7,kCu=8,kW=9};                               //media ids, used for geometry creation  
40   enum Ecounters {kMipEnterRad=1,kCkovNew,kCkovNewRad,kCkovNewWin,kCkovNewProxGap,kCkovNewAmpGap,kCkovEnterPc,kPhotoEle};    //counters id's
41   Int_t fIdRad,fIdWin,fIdProxGap,fIdAmpGap,fIdPc,fIdAnod,fIdCath,fIdColl;              //! volumes ID's used in StepManager() and Count()
42   ClassDef(AliHMPIDv1,2)                                                                //HMPID full version for simulation
43 };
44
45 #endif