Changeset 65 for MEMPHYS/HEAD


Ignore:
Timestamp:
Jan 9, 2006, 4:59:11 PM (18 years ago)
Author:
campagne
Message:

o SteppingAction

  • JEC 15/12/05 version adapted from LXe exmple

o DetectorConstruction

  • JEC 15/12/05 OpGlassCathodeSurface properties as in the LXe example

use dielectric_metal with Reflectivity=0 and Efficiency=100%

o Trajectory

  • JEC 15/12/05 remove the SaveIt management

o TrackingAction

  • JEC 14/12/05 PreUserTrackingAction

create and store a priori a Trajectory
set save and draw option according to some criteria

PostUserTrackingAction

keep the Trajectory if a PMT has been hit overwise kill
it

o TrackInformation

  • JEC 15/12/05 use LXe example as basis

use TrackStatus:

active: still being tracked
hitPMT: stopped by being detected in a PMT
absorbed: stopped by being absorbed with G4OpAbsorbtion
boundaryAbsorbed: stopped by being aborbed with G4OpAbsorbtion
hitSphere: track hit the sphere at some point
inactive: track is stopped for some reason

This is the sum of all stopped flags so
can be used to remove stopped flags


saveit=false, drawit=false, status=active (default)
introduce status bits

o WCSD

-JEC 15/12/05 use ProcessHits_constStep(const G4Step*, G4TouchableHistory*)

to proceed with "const G4Step*"

o batch

  • JEC 15/12/06 register SteppingAction

o session

  • JEC 15/12/06 register SteppingAction
Location:
MEMPHYS/HEAD
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • MEMPHYS/HEAD/MEMPHYS/MEMPHYSTrackInformation.hh

    r10 r65  
    88#include "G4VUserTrackInformation.hh"
    99
    10 // Maximilien Fechner, december 2004
    11 // Information class for flagging the secondaries
    12 // I'm interested in (namely gammas from pi0s and secondaries
    13 // from muon decay
     10//JEC 14/12/05: use code from G4 extended optical LXe example
     11//for Track Status
     12
     13enum TrackStatus { active=1, hitPMT=2, absorbed=4, boundaryAbsorbed=8,
     14                      inactive=14};
     15
     16/*TrackStatus:
     17  active: still being tracked
     18  hitPMT: stopped by being detected in a PMT
     19  absorbed: stopped by being absorbed with G4OpAbsorbtion
     20  boundaryAbsorbed: stopped by being aborbed with G4OpAbsorbtion
     21  hitSphere: track hit the sphere at some point
     22  inactive: track is stopped for some reason
     23   -This is the sum of all stopped flags so can be used to remove stopped flags
     24 
     25 */
     26
    1427class MEMPHYSTrackInformation : public G4VUserTrackInformation {
    15 private:
    16   G4bool saveit;
    1728
    1829public:
    19   MEMPHYSTrackInformation() : saveit(true) {}
    20   MEMPHYSTrackInformation(const MEMPHYSTrackInformation* aninfo)
    21   { saveit = aninfo->saveit;}
     30  MEMPHYSTrackInformation(): saveit(false), drawit(false), status(active) {}
     31  //  MEMPHYSTrackInformation(const MEMPHYSTrackInformation* aninfo)
     32  // { saveit = aninfo->saveit;}
     33  MEMPHYSTrackInformation(const G4Track*);
    2234  virtual ~MEMPHYSTrackInformation() {}
    23   MEMPHYSTrackInformation(const G4Track* );
    2435 
    2536  inline void *operator new(size_t);
     
    2839  {return (this==&right);}
    2940
     41 
     42  //Sets the track status to s (does not check validity of flags)
     43  void SetTrackStatusFlags(G4int s){status=s;}
     44  //Does a smart add of track status flags (disabling old flags that conflict)
     45  //If s conflicts with itself it will not be detected
     46  void AddTrackStatusFlag(G4int s);
     47  int GetTrackStatus()  {return status;}
     48
     49  void SetDrawOption(G4bool b) {drawit = b;}
     50  G4bool GetDrawOption() {return drawit;}
     51
     52  void SetSaveOption(G4bool b) {saveit = b;}
     53  G4bool GetSaveOption() {return saveit;}
     54
     55
    3056  void Print() const;
     57
     58
     59private:
     60  G4bool saveit;
     61  G4bool drawit;
     62  G4int  status;
    3163
    3264};
  • MEMPHYS/HEAD/MEMPHYS/MEMPHYSWCSD.hh

    r10 r65  
    1818  void   Initialize(G4HCofThisEvent*);
    1919  G4bool ProcessHits(G4Step*, G4TouchableHistory*);
     20  G4bool ProcessHits_constStep(const G4Step*, G4TouchableHistory*);
    2021  void   EndOfEvent(G4HCofThisEvent*);
    2122 
  • MEMPHYS/HEAD/applications/MEMPHYS_batch.cxx

    r27 r65  
    1414#include "MEMPHYS/MEMPHYSStackingAction.hh"
    1515#include "MEMPHYS/MEMPHYSTrackingAction.hh"
     16#include "MEMPHYS/MEMPHYSSteppingAction.hh"
    1617
    1718
     
    8283
    8384  runManager->SetUserAction(new MEMPHYSStackingAction);
    84 
     85  runManager->SetUserAction(new MEMPHYSSteppingAction); //JEC 15/12/05 Add user SteppingAction
    8586
    8687  // Initialize G4 kernel
  • MEMPHYS/HEAD/applications/MEMPHYS_session.cxx

    r57 r65  
    3232#include "MEMPHYS/MEMPHYSStackingAction.hh"
    3333#include "MEMPHYS/MEMPHYSTrackingAction.hh"
     34#include "MEMPHYS/MEMPHYSSteppingAction.hh"
    3435#include "MEMPHYS/MEMPHYSWCDigi.hh"
    3536
     
    131132  runManager->SetUserAction(new MEMPHYSStackingAction);
    132133
     134  runManager->SetUserAction(new MEMPHYSSteppingAction); //JEC 15/12/05 Add user SteppingAction
    133135
    134136  // Initialize G4 kernel
Note: See TracChangeset for help on using the changeset viewer.