Skip to content
Snippets Groups Projects
Commit 41949283 authored by Vangelis Kourlitis's avatar Vangelis Kourlitis
Browse files

add inside/outside null-field area step length histo

parent 87bae1c0
No related branches found
No related tags found
No related merge requests found
......@@ -54,6 +54,10 @@ public:
int fStepKinetic_id;
// ID of the LSteps 1D Histogram
int fStepLength_id;
// ID of the LStepsIn 1D Histogram
int fStepLengthIn_id;
// ID of the LSteps 1D Histogram
int fStepLengthOut_id;
// ID of the InitETracks 1D Histogram
int fInitTrackKinetic_id;
// ID of the NumOfSteps 1D Histogram
......
......@@ -144,6 +144,20 @@ void MyRunAction::BeginOfRunAction(const G4Run* /*aRun*/){
analysisManager->SetH1YAxisTitle(fStepLength_id, "Steps");
}
const char* stepLengthInName = "LStepsIn";
if(analysisManager->GetH1Id(stepLengthInName, false) < 0) {
fStepLengthIn_id = analysisManager->CreateH1(stepLengthInName,stepLengthInName,1000,-12,4);
analysisManager->SetH1XAxisTitle(fStepLengthIn_id, "log( step length [mm] )");
analysisManager->SetH1YAxisTitle(fStepLengthIn_id, "Steps");
}
const char* stepLengthOutName = "LStepsOut";
if(analysisManager->GetH1Id(stepLengthOutName, false) < 0) {
fStepLengthOut_id = analysisManager->CreateH1(stepLengthOutName,stepLengthOutName,1000,-12,4);
analysisManager->SetH1XAxisTitle(fStepLengthOut_id, "log( step length [mm] )");
analysisManager->SetH1YAxisTitle(fStepLengthOut_id, "Steps");
}
const char* trackInitKineticName = "InitETracks";
if(analysisManager->GetH1Id(trackInitKineticName, false) < 0) {
fInitTrackKinetic_id = analysisManager->CreateH1(trackInitKineticName,trackInitKineticName,1000,-9,7);
......
......@@ -64,6 +64,13 @@ void MySteppingAction::UserSteppingAction(const G4Step* theStep) {
const G4ThreeVector position = PreStepPoint->GetPosition();
const G4double rXY = position.rho();
const G4double Z = position.z();
const G4double r2XY = position.x()*position.x() + position.y()*position.y();
const G4double dOffset = 100.0; // 'zero field area' dOffset mm away of the Calo boudaries
const G4double r2Min = (1500 + dOffset)*(1500 + dOffset);
const G4double r2Max = (3700 - dOffset)*(3700 - dOffset);
const bool inSide = (r2XY > r2Min) && (r2XY < r2Max) && (abs(Z) < 1000 - dOffset);
// pre-step kinetic energy
const G4double stepKinetic = PreStepPoint->GetKineticEnergy();
// first step (after initial step)
......@@ -105,6 +112,10 @@ void MySteppingAction::UserSteppingAction(const G4Step* theStep) {
analysisManager->FillH1(fRunAction->fStepKinetic_id, log10(stepKinetic));
// step length
analysisManager->FillH1(fRunAction->fStepLength_id, log10(stepl));
if (inSide)
analysisManager->FillH1(fRunAction->fStepLengthIn_id, log10(stepl));
else
analysisManager->FillH1(fRunAction->fStepLengthOut_id, log10(stepl));
// first step (after initial step)
if (theTrack->GetCurrentStepNumber() == 1)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment