54 G4double edep = aStep->GetTotalEnergyDeposit();
56 if(aStep->GetTrack()->GetDefinition()!=G4Geantino::GeantinoDefinition() &&
57 aStep->GetTrack()->GetDefinition()!=G4ChargedGeantino::ChargedGeantinoDefinition())
65 const G4TouchableHistory* myTouch =
dynamic_cast<const G4TouchableHistory*
>(aStep->GetPreStepPoint()->GetTouchable());
67 G4cout <<
"SctSensor_CTB::ProcessHits bad dynamic_cast" << G4endl;
73 G4ThreeVector coord1 = aStep->GetPreStepPoint()->GetPosition();
74 G4ThreeVector coord2 = aStep->GetPostStepPoint()->GetPosition();
80 const G4AffineTransform transformation = myTouch->GetHistory()->GetTopTransform();
81 G4ThreeVector localPosition1 = transformation.TransformPoint(coord1);
82 G4ThreeVector localPosition2 = transformation.TransformPoint(coord2);
84 HepGeom::Point3D<double> lP1,lP2;
114 int BEcopyNo = myTouch->GetVolume()->GetCopyNo();
116 #ifdef SCTSD_CTB_DEBUG
117 for (
int i=0;
i<myTouch->GetHistoryDepth();
i++){
118 std::string detname=myTouch->GetVolume(
i)->GetLogicalVolume()->GetName();
119 int copyno=myTouch->GetVolume(
i)->GetCopyNo();
120 if (verboseLevel>1) G4cout <<
"Volume "<<detname <<
" Copy Nr. "<<copyno << G4endl;
126 int BEcopyNoTest = BEcopyNo/100;
127 if(BEcopyNoTest == 5 || BEcopyNoTest == 6 || BEcopyNo == 1000 || BEcopyNo == 2000) {
131 if(BEcopyNoTest == 5 || BEcopyNoTest == 6 ) {
132 side = myTouch->GetVolume(0)->GetCopyNo()%2;
133 phiMod=myTouch->GetVolume(1)->GetCopyNo()%2;
134 LayerDisk = myTouch->GetVolume(1)->GetCopyNo()/2;
135 }
else if ( BEcopyNo == 1000) {
136 side = myTouch->GetVolume(1)->GetCopyNo();
137 phiMod=myTouch->GetVolume(2)->GetCopyNo()%2;
138 LayerDisk = myTouch->GetVolume(2)->GetCopyNo()/2;
141 #ifdef SCTSD_CTB_DEBUG
142 if (verboseLevel>1) G4cout <<
"In the SCT TestBeam" << G4endl;
143 if (verboseLevel>1) G4cout <<
" * Module Number: " <<
LayerDisk <<
"," << phiMod <<
" Side: " <<
side << G4endl;
144 if (verboseLevel>5) G4cout <<
" Identifier will be [2.2."
149 <<
side <<
"]" << G4endl;
153 description <<
"ProcessHits: Unexpected copy number for sensor";
154 G4Exception(
"SctSensor_CTB",
"UnexpectedCopyNumberForSctSensor", FatalException,
description);
161 aStep->GetPreStepPoint()->GetGlobalTime(),
162 trHelp.GenerateParticleLink(),