Source: src/include/ArichDetector.hh
|
|
|
|
#ifndef _ArichDetector_hh_
#define _ArichDetector_hh_
#include
#include
#include
#include
class ArichDetector{
public:
ArichDetector();
~ArichDetector();
HepDouble z();
HepDouble SigmaPad();
HepInt Digitization( ArichPhoton *p,HepInt type=0);
HepInt Position2Hit(Hep3Vector x, HepInt &xch, HepInt &ych );
Hep3Vector Hit2Position(HepInt ch, HepInt &xch, HepInt &ych );
HepInt HitReconstruction();
HepDouble Energy(int i);
HepDouble QEBialkali(HepDouble energy);
HepInt DetectorQE(HepDouble energy);
HepDouble PeakEfficiency();
void Clear();
void SetBit(HepInt bit);
inline HepBoolean GetBit(HepInt bit);
friend std::ostream& operator<< (std::ostream& o, ArichDetector& d);
HepInt *fBitMap;
HepInt fBitMapSize;
HepInt fBits;
Hep3Vector fPosition; // central point of the detector
Hep3Vector fCorner; // lower left corner of the detector;
Hep3Vector fNorm; // detector plane normal
Hep3Vector fbX,fbY; // base vectors in the detector plane
HepInt fNX,fNY;
HepDouble fPad;
HepDouble fsigma_pad;
HepDouble fThcMin;
HepDouble fThcMax;
HepDouble fWideWinSize;
HepDouble fNarrowWinSize;
HepDouble fRadius[2];
HepDouble fEntrance;
HepDouble fEnergy[2]; // photon detector sensitive energy window
HepDouble fMagneticField; // constant magnetic field B in the z direction
HepDouble fWindowThickness; // Thickness of the entrance window
HepDouble fWindowRefind; // refractive index of the entrance window
private:
};
inline HepDouble ArichDetector::Energy(int i){
return fEnergy[i];
}
inline HepDouble ArichDetector::z(){
return fPosition.z();
}
inline HepDouble ArichDetector::SigmaPad(){
return fsigma_pad;
}
inline HepBoolean ArichDetector::GetBit(HepInt bit){
// HepBool test=fBitMap[bit/fBits] & ( 1 << (bit % fBits));
// if (test) cout << "Gbit " << bit << endl;
return fBitMap[bit/fBits] & ( 1 << (bit % fBits));;
}
inline HepInt ArichDetector::DetectorQE(HepDouble energy){
return ( RandFlat::shoot(gRanluxEngine) < QEBialkali(energy));
}
inline HepDouble ArichDetector::PeakEfficiency(){
return 0.15; //
}
extern ArichDetector * gArichDetector;
#endif
Generated by: rok on f9pc43.ijs.si on Wed Jun 18 12:02:34 2003, using kdoc 2.0a54. |