]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HMPID/AliHMPIDv3.h
Backward compatibility with old qthre in OCDB:
[u/mrichter/AliRoot.git] / HMPID / AliHMPIDv3.h
CommitLineData
100711d2 1#ifndef AliHMPIDv3_h
2#define AliHMPIDv3_h
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7//.
8//HMPID class for new geometry based on TGeo
9//.
10//.
11
12#include "AliHMPID.h" //base class
13#include "AliHMPIDDigitizer.h" //CreateDigitizer()
14#include <TGeoManager.h>
15
16class TGeoVolume;
17class TGeoMedium;
18
19class AliHMPIDv3 : public AliHMPID //TObject-TNamed-AliModule-AliDetector-AliHMPID-AliHMPIDv3
20{
21public:
22 AliHMPIDv3() :AliHMPID( ),fIdPad(-1),fIdCell(-1) {;} //default ctor
23 AliHMPIDv3(const char *name, const char *title):AliHMPID(name,title),fIdPad(-1),fIdCell(-1) {;} //named ctor
24 virtual ~AliHMPIDv3() {;} //dtor
25//framework part++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
26 void AddAlignableVolumes( )const; //from AliModule invoked from AliMC
27 void CreateMaterials ( ); //from AliModule invoked from AliMC
28static void IdealPosition(Int_t iCh,TGeoHMatrix *m); //ideal position of a given chamber
29static void IdealPositionCradle(Int_t iCh,TGeoHMatrix *m); //ideal position of a module of the cradle
30 void CreateGeometry ( ); //from AliModule invoked from AliMC
31 AliDigitizer* CreateDigitizer (AliRunDigitizer *m )const{return new AliHMPIDDigitizer(m);} //from AliModule invoked from AliSimulation::RunDigitization()
32 void Digits2Raw ( ); //from AliModule invoked from AliSimulation::WriteRawFiles()
33 virtual void DefineOpticalProperties( ); //from AliModule invoked from AliMC::ConstructOpGeometry() to set Cerenkov properties
34 void InitProperties ( ); //define the phys processes on/off (dray,eloss...)
35 void Hits2SDigits ( ); //from AliModule invoked from AliSimulation::RunSDigitization()
36 void Init ( ); //from AliModule invoked from AliMC::InitGeometry()
37 Int_t IsVersion ( )const{return 1; } //from AliModule not used
38 void Print (const Option_t *opt="" )const; //from TObject
39 Bool_t Raw2SDigits (AliRawReader *pRR ); //from AliModule invoked from AliSimulation
40 void StepManager ( ); //from AliModule invoked from AliMC::Stepping()
41//private part++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
42 void GenFee (Float_t qtot ); //generates feedback photons
43 static Float_t Fresnel (Float_t geV,Float_t p, Bool_t pl ); //deals with Fresnel absorption on PC
44 static void Hit2Sdi (TClonesArray *pH,TClonesArray *pS); //hits to sdigits conversion
45 Bool_t IsLostByFresnel ( ); //checks if the photon lost on Fresnel reflection
46 void StepCount ( ); //counts particles in StepManager()
47 void StepHistory ( ); //prints history of tracking in StepManager()
48 static void TestGeom ( ); //tests the validity of geometry
49 static void TestPoint (Int_t ch,Float_t x,Float_t y ); //tests the validity of geometry
50 TGeoVolume* CreateChamber (Int_t number ); //chamber geometry building
51 TGeoVolume* CradleBaseVolume ( TGeoMedium *med, Double_t l[7], char *name); //base topology of the cradle elements
52 TGeoVolume* CreateCradle ( ); //cradle geometry building
53protected:
54 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
55 enum Ecounters {kMipEnterRad=1,kCkovNew,kCkovNewRad,kCkovNewWin,kCkovNewProxGap,kCkovNewAmpGap,kCkovEnterPc,kPhotoEle}; //counters id's
56 Int_t fIdPad,fIdCell; //! volumes ID's used in StepManager() and Count()
57 ClassDef(AliHMPIDv3,1) //HMPID full version for simulation
58};
59
60#endif