JSFQuickSim


class description - source file - inheritance tree

class JSFQuickSim : public JSFModule


    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()

Data Members


    protected:
JSFQuickSimParam* fParam ! Parameters for JSFQuickSim Int_t fSMRRND Random seed for smearing Int_t fSWMRND Random seed for swiming

Class Description

 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.