JSFQuickSim
class description - source file - inheritance tree
public:
JSFQuickSim(const Char_t* name = "JSFQuickSim", const Char_t* title = "JSF Quick Simulator", const Char_t* opt)
JSFQuickSim(const JSFQuickSim&)
virtual ~JSFQuickSim()
virtual Bool_t BeginRun(Int_t nrun)
static TClass* Class()
virtual Bool_t EndRun()
virtual Bool_t GetLastRunInfo()
Int_t GetSMRRND()
Int_t GetSWMRND()
virtual Bool_t Initialize()
virtual TClass* IsA() const
virtual void MakeBranch(TTree* tree)
JSFQuickSimParam* Param()
virtual Bool_t Process(Int_t event)
Bool_t ReviseGeneratorInfo()
virtual void SetBranch(TTree* tree)
void SetSMRRND(Int_t i)
void SetSWMRND(Int_t i)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
Bool_t TBPUTGeneratorParticles()
protected:
JSFQuickSimParam* fParam ! Parameters for JSFQuickSim
Int_t fSMRRND Random seed for smearing
Int_t fSWMRND Random seed for swiming
JSRSFQuickSim
Quick simulator for JLC detector.
This version calls Quick simulator written by Fortran, which is
those in lclib, then detector informations are outpu a la C++ class.
When Quick Simulator is executed, detector information are saved in
JSFQuickSimBuf class, where pointers to detector signals are prepared.
The JSFQuickSimBuf includes following information:
CDC track information, VTX/EMC/HDC hit information,
LTKCL information ( created by combining CDC and EMC/HDC information)
There are several link information among classes. Thoese are
JSFLTKCLTrack.fCDC -> JSFCDCTrack ( only for charged track.)
JSFCDCTrack.f1stCDC -> index of JSFCDCTrack in JSFQuickSimBuf.fCDCTracks
JSFCDCTrack.fVTXHits[i] -> JSFVTXHit
JSFCDCTrack.fGenID -> (index of JSFGeneratorParticle + 1 )
JSFVTXHit.fLinkedTrack ->index of JSFCDCTrack in JSFQuickSimBuf.fCDCTracks
JSFVTXHit.fGenTrack ->(index of JSFGeneratorParticle + 1 )
For simple minded usage, the use of LTKCL information is recomended,
as it includes both Track and Calorimeter information. For example to
calculate total energy from LTKCL is as follows.
JSFQuickSim *sim=(JSFQuickSim*)gJSF->FindModule("JSFQuickSim");
JSFQuickSimBuf *sbuf=(JSFQuickSimBuf*)sim->EventBuf();
TClonesArray *cmbt=sbuf->GetTracks();
TVector psum(4);
for(Int_t i=0;i<sbuf->GetNTracks();i++){
JSSFLTKCLTrack *lt=(JSFLTKCLTrack*)sbuf->UncheckedAt(i);
TVecor pv(4);
pv=lt->GetPv();
psum=psum+pv;
}
printf(" Total energy is %gn",psum(0));
Environment parameter and its default value are as follows
# If 0, track parameter in JSFCDCTrack is parameter by CDCTrack only.
# If 1, JSFCDCTrack is a result of CDC-VTX combined track parameter.
JSFQuickSim.CDCTrackIsCDCVTX 1
$Id: JSFQuickSim.cxx,v 1.41 2003/05/23 07:04:35 miyamoto Exp $
JSFQuickSim(const Char_t *name, const Char_t *title, const Char_t *opt)
: JSFModule(name,title,opt)
JLC QuickSimulator module.
~JSFQuickSim()
Bool_t Initialize()
Bool_t BeginRun(Int_t nrun)
Bool_t Process(Int_t ev)
Simulate one event.
Bool_t TBPUTGeneratorParticles()
Copy Generator Particle information in the GeneratorParticles class
into the TBS bank.
All generator particle information stored in JSFGenerator class is
saved in TBS's bank, Generator:Particle_List. All objects in the
TClonesArray are copied according to the order save there.
void MakeBranch(TTree *tree)
JSFModule::MakeBranch(tree);
void SetBranch(TTree *tree)
Set Branch address for this module
Bool_t EndRun()
Bool_t GetLastRunInfo()
Bool_t ReviseGeneratorInfo()
Generator information of particles with finite decay length is revised
by swim routine. JSFGenerator class information is updated according to the
updated Generator:Particle_List informations.
Inline Functions
JSFQuickSimParam* Param()
Int_t GetSMRRND()
Int_t GetSWMRND()
void SetSMRRND(Int_t i)
void SetSWMRND(Int_t i)
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
JSFQuickSim JSFQuickSim(const JSFQuickSim&)
Last update: Tue Jan 20 15:54:37 2004
ROOT page - Home page - Class index - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.