CGEM BOSS 6.6.5.i
BESIII Offline Software System
Loading...
Searching...
No Matches
BesMucNoise.hh
Go to the documentation of this file.
1//
2//
3//
4//
5
6
7#ifndef BesMucNoise_h
8#define BesMucNoise_h 1
9
10#include "GaudiKernel/IMessageSvc.h"
11#include "GaudiKernel/MsgStream.h"
12
13#include "BesMucHit.hh"
14#include "G4Step.hh"
15#include "G4Event.hh"
16#include "G4LogicalVolume.hh"
17
18#include "TMath.h"
19
22#include "MucCalibAlg/MucMark.h"
25
26
27using namespace std;
28
30{
31public:
34
35 static BesMucNoise* Instance(void);
36 void Initialize(G4String filename,G4LogicalVolume* logicalMuc);
37 void Initialize(G4String filename,G4LogicalVolume* logicalMuc,G4String temp);
38
39 void CheckCalibSvc();
40 G4int AddNoise( int model, BesMucHitsCollection* MucHitCollection,BesMucHitsCollection* MucHitList);
41 G4int NoiseByCnt(BesMucHitsCollection* MucHitCollection,BesMucHitsCollection* MucHitList);
42 G4int NoiseByNosRatio(BesMucHitsCollection* MucHitCollection,BesMucHitsCollection* MucHitList);
43 G4int NoiseSampling(int level, int prt, int seg, int lay, int strip);
44 G4int GetStripNo(G4int,G4int,G4int);
45 G4int IsNearestStrip(G4int,G4int,G4int,G4int,G4float);
46 bool IsExist(BesMucHit* aNoiseHit, BesMucHitsCollection* aMucHitList);
47 G4float Factorial(G4int i);
48 void InitProb();
49
50private:
51
52 static const int m_kPart =3;
53 static const int m_kSegment[m_kPart] ;
54 static const int m_kAbsorber[m_kPart] ;
55 static const int m_kGap[m_kPart] ;
56 static const int m_kPanel[m_kPart] ;
57 static const int m_kGasChamber =2;
58
59 G4double m_noise[3][8][9];
60 G4double m_noise_strip[3][8][9][112];
61 G4float area[3][8][9][112];
62 G4float strip_area[3][8][9][112];
63 G4float box_area[3][8][9];
64 double m_HitMean;
65 double m_Prob[20][2];
66 static BesMucNoise * fPointer;
67
68 int m_noiseLevel; //2: box; 3: strip
69 IMucCalibConstSvc* m_ptrCalibSvc; // pointer of calibration constants service
70 MucIdTransform* m_ptrIdTr; // pointer of muc id transform
71
72};
73#endif
G4THitsCollection< BesMucHit > BesMucHitsCollection
Definition BesMucHit.hh:104
#define prt(n)
G4int AddNoise(int model, BesMucHitsCollection *MucHitCollection, BesMucHitsCollection *MucHitList)
bool IsExist(BesMucHit *aNoiseHit, BesMucHitsCollection *aMucHitList)
void CheckCalibSvc()
G4int NoiseByNosRatio(BesMucHitsCollection *MucHitCollection, BesMucHitsCollection *MucHitList)
static BesMucNoise * Instance(void)
G4int IsNearestStrip(G4int, G4int, G4int, G4int, G4float)
G4float Factorial(G4int i)
void InitProb()
G4int NoiseByCnt(BesMucHitsCollection *MucHitCollection, BesMucHitsCollection *MucHitList)
G4int NoiseSampling(int level, int prt, int seg, int lay, int strip)
G4int GetStripNo(G4int, G4int, G4int)
void Initialize(G4String filename, G4LogicalVolume *logicalMuc)