12#include "TofSim/BesTofDigitizerBrV1.hh"
13#include "G4DigiManager.hh"
14#include "Randomize.hh"
15#include "TofSim/BesTofDigi.hh"
16#include "TofSim/BesTofGeoParameter.hh"
17#include "TofSim/BesTofHit.hh"
23 m_scinLength = tofPara->
GetBr1L();
29 G4cout <<
"BesTofDigitizerBrV1::Digitize" << G4endl;
31 G4DigiManager* digiManager = G4DigiManager::GetDMpointer();
32 G4int THCID = digiManager->GetHitsCollectionID(
"BesTofHitsCollection" );
36 G4int partId, scinNb, nHits;
42 for ( G4int j = 0; j < nHits; j++ )
80 G4ThreeVector pos = hit->
GetPos();
81 G4double posx = pos.x();
82 G4double posy = pos.y();
83 G4double posz = pos.z();
88 pathL[0] = m_scinLength / 2 - posz;
89 pathL[1] = posz + m_scinLength / 2;
90 for ( G4int j = 0; j < 2; j++ )
93 m_ADC[j] += edep *
exp( -pathL[j] / atten );
104 G4cout <<
"m_t1st:" << m_t1st <<
" m_z:" << m_z << G4endl;
115 for (
int i = 0; i < 10; i++ )
122 for (
int i = 0; i < 2; i++ )
125 for (
int j = 0; j < 10; j++ )
127 if ( i == 0 ) pp[j] = pp1[j];
130 m_TDC[i] += ( pp[0] + pp[1] * m_z ) / TMath::Sqrt(
m_ADC[i] ) + pp[2] *
m_ADC[i] +
132 pp[5] / ( 84.2 * 84.2 + m_z * m_z ) + pp[6] * m_z + pp[7] * m_z * m_z +
133 pp[8] * m_z * m_z * m_z + pp[9];
EvtComplex exp(const EvtComplex &c)
G4TDigiCollection< BesTofDigi > BesTofDigitsCollection
G4THitsCollection< BesTofHit > BesTofHitsCollection
void SetPartId(G4int partId)
void SetForwADC(G4double ADC)
void SetTrackIndex(G4int index)
void SetBackADC(G4double ADC)
void SetForwTDC(G4double TDC)
void SetScinNb(G4int scinNb)
void SetBackTDC(G4double TDC)
void TofPmtAccum(BesTofHit *)
virtual void Digitize(ScintSingle *, BesTofDigitsCollection *)
ITofCaliSvc * m_tofCaliSvc
BesTofHitsCollection * m_THC
BesTofDigitsCollection * m_besTofDigitsCollection
static BesTofGeoParameter * GetInstance()
vector< G4int > * GetHitIndexes()