]>
Commit | Line | Data |
---|---|---|
8f16e0db | 1 | #ifndef AliHMPIDv2_h |
2 | #define AliHMPIDv2_h | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
a137507f | 7 | //. |
8 | //HMPID class for new geometry based on TGeo | |
9 | //. | |
10 | //. | |
11 | ||
8f16e0db | 12 | #include "AliHMPID.h" //base class |
13 | #include "AliHMPIDDigitizer.h" //CreateDigitizer() | |
a47b5293 | 14 | #include <TGeoManager.h> |
f2141b51 | 15 | class AliHMPIDv2 : public AliHMPID //TObject-TNamed-AliModule-AliDetector-AliHMPID-AliHMPIDv2 |
8f16e0db | 16 | { |
17 | public: | |
18 | AliHMPIDv2() :AliHMPID( ),fIdPad(-1),fIdCell(-1) {;} //default ctor | |
19 | AliHMPIDv2(const char *name, const char *title):AliHMPID(name,title),fIdPad(-1),fIdCell(-1) {;} //named ctor | |
20 | virtual ~AliHMPIDv2() {;} //dtor | |
21 | //framework part++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ | |
a47b5293 | 22 | void AddAlignableVolumes( )const; //from AliModule invoked from AliMC |
8f16e0db | 23 | void CreateMaterials ( ); //from AliModule invoked from AliMC |
a47b5293 | 24 | static void IdealPosition(Int_t iCh,TGeoHMatrix *m); //ideal position of a given chamber |
8f16e0db | 25 | void CreateGeometry ( ); //from AliModule invoked from AliMC |
f21fc003 | 26 | AliDigitizer* CreateDigitizer (AliDigitizationInput *m )const{return new AliHMPIDDigitizer(m);} //from AliModule invoked from AliSimulation::RunDigitization() |
8f16e0db | 27 | void Digits2Raw ( ); //from AliModule invoked from AliSimulation::WriteRawFiles() |
a137507f | 28 | virtual void DefineOpticalProperties( ); //from AliModule invoked from AliMC::ConstructOpGeometry() to set Cerenkov properties |
cee71445 | 29 | //void InitProperties ( ); //define the phys processes on/off (dray,eloss...) |
8f16e0db | 30 | void Hits2SDigits ( ); //from AliModule invoked from AliSimulation::RunSDigitization() |
31 | void Init ( ); //from AliModule invoked from AliMC::InitGeometry() | |
32 | Int_t IsVersion ( )const{return 1; } //from AliModule not used | |
33 | void Print (const Option_t *opt="" )const; //from TObject | |
a137507f | 34 | Bool_t Raw2SDigits (AliRawReader *pRR ); //from AliModule invoked from AliSimulation |
8f16e0db | 35 | void StepManager ( ); //from AliModule invoked from AliMC::Stepping() |
36 | //private part++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ | |
37 | void GenFee (Float_t qtot ); //generates feedback photons | |
38 | static Float_t Fresnel (Float_t geV,Float_t p, Bool_t pl ); //deals with Fresnel absorption on PC | |
a137507f | 39 | static void Hit2Sdi (TClonesArray *pH,TClonesArray *pS); //hits to sdigits conversion |
8f16e0db | 40 | Bool_t IsLostByFresnel ( ); //checks if the photon lost on Fresnel reflection |
41 | void StepCount ( ); //counts particles in StepManager() | |
42 | void StepHistory ( ); //prints history of tracking in StepManager() | |
80c418c4 | 43 | static void TestGeom ( ); //tests the validity of geometry |
44 | static void TestPoint (Int_t ch,Float_t x,Float_t y ); //tests the validity of geometry | |
8f16e0db | 45 | protected: |
c788bf55 | 46 | enum EMedia {kAir=1,kRoha=2,kSiO2=3,kC6F14=4,kCH4=5,kCsI=6,kAl=7,kCu=8,kW=9,kNeo=10,kAr=11}; //media ids, used for geometry creation |
8f16e0db | 47 | enum Ecounters {kMipEnterRad=1,kCkovNew,kCkovNewRad,kCkovNewWin,kCkovNewProxGap,kCkovNewAmpGap,kCkovEnterPc,kPhotoEle}; //counters id's |
48 | Int_t fIdPad,fIdCell; //! volumes ID's used in StepManager() and Count() | |
49 | ClassDef(AliHMPIDv2,2) //HMPID full version for simulation | |
50 | }; | |
51 | ||
52 | #endif |