Line data Source code
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 TGeoManager;
13 :
14 : class AliHMPIDv1 : public AliHMPID //TObject-TNamed-AliModule-AliDetector-AliHMPID-AliHMPIDv0
15 : {
16 : public:
17 0 : AliHMPIDv1() :AliHMPID( ),fIdRad(-1),fIdWin(-1),fIdProxGap(-1),fIdAmpGap(-1),fIdPc(-1),fIdAnod(-1),fIdCath(-1),fIdColl(-1) {;} //default ctor
18 0 : 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
19 0 : virtual ~AliHMPIDv1() {;} //dtor
20 : //framework part++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
21 : void AddAlignableVolumes( )const; //from AliModule invoked from AliMC
22 : void CreateMaterials ( ); //from AliModule invoked from AliMC
23 : void CreateGeometry ( ); //from AliModule invoked from AliMC
24 0 : AliDigitizer* CreateDigitizer (AliDigitizationInput *m )const{return new AliHMPIDDigitizer(m);} //from AliModule invoked from AliSimulation::RunDigitization()
25 : void Digits2Raw ( ); //from AliModule invoked from AliSimulation::WriteRawFiles()
26 : virtual void DefineOpticalProperties(); //from AliModule invoked from AliMC::ConstructOpGeometry() to set Cerenkov properties
27 : void Hits2SDigits ( ); //from AliModule invoked from AliSimulation::RunSDigitization()
28 : void Init ( ); //from AliModule invoked from AliMC::InitGeometry()
29 0 : Int_t IsVersion ( )const{return 1; } //from AliModule not used
30 : void Print (const Option_t *opt="" )const; //from TObject
31 : Bool_t Raw2SDigits (AliRawReader *pRR ); //from AliMOdule invoked from AliSimulation
32 : void StepManager ( ); //from AliModule invoked from AliMC::Stepping()
33 : //private part++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
34 : void GenFee (Float_t qtot ); //generates feedback photons
35 : static Float_t Fresnel (Float_t geV,Float_t p, Bool_t pl ); //deals with Fresnel absorption on PC
36 : static void Hit2Sdi (TClonesArray *pH,TClonesArray *pS);
37 : Bool_t IsLostByFresnel ( ); //checks if the photon lost on Fresnel reflection
38 : void StepCount ( ); //counts particles in StepManager()
39 : void StepHistory ( ); //prints history of tracking in StepManager()
40 : protected:
41 : 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
42 : enum Ecounters {kMipEnterRad=1,kCkovNew,kCkovNewRad,kCkovNewWin,kCkovNewProxGap,kCkovNewAmpGap,kCkovEnterPc,kPhotoEle}; //counters id's
43 : Int_t fIdRad,fIdWin,fIdProxGap,fIdAmpGap,fIdPc,fIdAnod,fIdCath,fIdColl; //! volumes ID's used in StepManager() and Count()
44 12 : ClassDef(AliHMPIDv1,2) //HMPID full version for simulation
45 : };
46 :
47 : #endif
|