musrsim/geant4/TaoLEMuSR/include/LEMuSRTrackingAction.hh
2008-03-20 09:23:20 +00:00

89 lines
2.8 KiB
C++

//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$//*
// LOW ENERGY MUON SPIN RELAXATION, ROTATION, RADIATION Geant4 SIMULATION
// ID : LEMuSRTrackingAction.hh , v 1.0
// AUTHOR: Taofiq PARAISO
// DATE : 2004-07-07 11:15
//
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$//
//
// & &&&&&&&&&& &&&&&&& &&&&&&&&
// & & && && & &&
// & & & & & & &&
// & &&&&&&& & & &&&&&& &&&&&&&&
// & & & && & & &&
// & & && & & && && & &
// &&&&&&&&&& &&&&&&&&&& & &&&&& && &&&&&&& & &&
// &
// &
// &
// &
// TRACKING ACTION.CC
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$//
#ifndef LEMuSRTrackingAction_h
#define LEMuSRTrackingAction_h 1
#include "G4DynamicParticle.hh"
#include "G4UserTrackingAction.hh"
#include "G4Track.hh"
#include "globals.hh"
// root histogram classes
#include <stdlib.h>
#include "TROOT.h"
#include "TFile.h"
#include "TH1.h"
#include "TRandom.h"
#include "TTree.h"
#include "TBranch.h"
#include "TClonesArray.h"
#include "TStopwatch.h"
#include "LEMuSRCryoHit.hh"
#include "G4SteppingManager.hh" // Include from 'tracking'
#include "G4TrackingManager.hh" // Include from 'tracking'
/*!
* The role of the tracking action is to take special actions
* before or after a track.
* Two importants methods can be implemented at will by the user,
* the PreUserTrackingAction and the PostUserTrackingAction. Those two methods are
* virtual methods and their names must not be changed.
* One can use the tracking action for histogramming, but also to act on the tracked
* particles, to get/print information, or even to delete useless tracks etc.( cf. \ref Useraction).
*/
class LEMuSRTrackingAction : public G4UserTrackingAction {
public:
LEMuSRTrackingAction();
~ LEMuSRTrackingAction();
void PreUserTrackingAction(const G4Track*);
void PostUserTrackingAction(const G4Track*);
void Collect_datas(const G4Track*);
static LEMuSRTrackingAction* GetInstance();
static LEMuSRTrackingAction* pointer;
// TROOT eventTree;
Int_t nevent , comp , split , write , hfill , read ,arg4, arg5 ;
TFile *myFile;
TTree *myTree;
TBranch *b;
TH1D *hEnergy, *hTime, *hAngle, *hAngle2;
G4TrackingManager* tMgr;
G4double GyroMagRatio;
G4double GyroMagFactor;
private:
};
#endif