44 CurrentHit(0), theTrack(0), CurrentPV(0), PreviousPV(0), UnitID(0),
45 PreviousUnitID(0), PreStepPoint(0), PostStepPoint(0),
46 theDescription(numberingScheme) {
50 G4cout <<
"*******************************************************" <<
G4endl;
52 G4cout <<
"* Constructing a CCaloSD with name " << name <<
G4endl;
54 G4cout <<
"*******************************************************" <<
G4endl;
88 if (aStep == NULL)
return true;
116 if (particleType ==
"e-" ||
117 particleType ==
"e+" ||
118 particleType ==
"gamma" ){
143 <<
" Maybe detector name changed"
194 G4cout <<
"CCaloSD: hit to be stored is NULL !!" <<
G4endl;
205 G4int currentCopyNo = -999;
206 G4int motherCopyNo = -999;
209 if ( theTouchable ) {
215 G4cout <<
"CCaloSD createNewHit for"
217 <<
" PVid = " << currentCopyNo
218 <<
" MVid = " << motherCopyNo
231 G4cout <<
" and created by " ;
317 G4double dapd = 0.5 * crlength - localPoint.z();
318 if (dapd >= -0.1 || dapd <= crlength+0.1) {
320 weight = 1.05 - dapd * 0.0005;
322 G4cout <<
"CCaloSD, light coll curve : wrong distance to APD " << dapd
323 <<
" crlength = " << crlength
324 <<
" z of localPoint = " << localPoint.z()
325 <<
" take weight = " << weight <<
G4endl;
328 G4cout <<
"CCaloSD, light coll curve : " << dapd
329 <<
" crlength = " << crlength
330 <<
" z of localPoint = " << localPoint.z()
331 <<
" take weight = " << weight <<
G4endl;
CCalVOrganization * theDescription
G4ParticleDefinition * GetDefinition() const
G4int GetParentID() const
G4double curve_LY(G4StepPoint *stepPoint)
void getStepInfo(G4Step *aStep)
G4int GetCollectionID(G4String colName)
G4int GetHistoryDepth() const
CLHEP::Hep3Vector G4ThreeVector
CCalG4HitCollection * theHC
G4THitsCollection< CCalG4Hit > CCalG4HitCollection
G4StepPoint * PreStepPoint
static CCalSDList * getInstance()
void setIncidentEnergy(double e)
virtual void PrintAllHits()
void SetOrganization(CCalVOrganization *org)
void StoreHit(CCalG4Hit *ahit)
virtual const G4NavigationHistory * GetHistory() const
G4ThreeVector SetToLocal(G4ThreeVector globalPoint)
void setEntry(CLHEP::Hep3Vector xyz)
G4VPhysicalVolume * CurrentPV
const G4VTouchable * GetTouchable() const
const G4String & GetParticleName() const
CCaloSD(G4String aSDname, CCalVOrganization *numberingScheme)
G4StepPoint * GetPreStepPoint() const
void EndOfEvent(G4HCofThisEvent *HCE)
const G4VProcess * GetCreatorProcess() const
G4GLOB_DLL std::ostream G4cout
void insert(G4String str)
G4VPhysicalVolume * GetPhysicalVolume() const
G4bool ProcessHits(G4Step *aStep, G4TouchableHistory *ROhist)
const G4String & GetName() const
const G4ThreeVector & GetPosition() const
void addCalo(nameType name)
G4int GetReplicaNumber(G4int depth=0) const
void ResetForNewPrimary()
virtual unsigned int GetUnitID(const G4Step *aStep) const =0
void setTimeSlice(double d)
const G4String & GetProcessName() const
G4double GetTotalEnergyDeposit() const
void AddHitsCollection(G4int HCID, G4VHitsCollection *aHC)
G4StepPoint * PostStepPoint
static const double nanosecond
G4ThreeVector EntrancePoint
virtual G4VPhysicalVolume * GetVolume(G4int depth=0) const
const G4VTouchable * GetTouchable() const
unsigned int PreviousUnitID
G4StepPoint * GetPostStepPoint() const
static G4SDManager * GetSDMpointer()
G4double GetTotalEnergy() const
unsigned int getUnitID() const
void setUnitID(unsigned int i)
G4double GetGlobalTime() const
const G4AffineTransform & GetTopTransform() const
void addEnergyDeposit(const CCalG4Hit &aHit)
G4CollectionNameVector collectionName
G4double GetKineticEnergy() const
G4VPhysicalVolume * PreviousPV
G4Track * GetTrack() const
void Initialize(G4HCofThisEvent *HCE)
int getTimeSliceID() const
G4GLOB_DLL std::ostream G4cerr