source: trunk/examples/extended/optical/LXe/include/LXeTrajectory.hh @ 1009

Last change on this file since 1009 was 807, checked in by garnier, 16 years ago

update

File size: 2.9 KB
Line 
1//
2// ********************************************************************
3// * License and Disclaimer                                           *
4// *                                                                  *
5// * The  Geant4 software  is  copyright of the Copyright Holders  of *
6// * the Geant4 Collaboration.  It is provided  under  the terms  and *
7// * conditions of the Geant4 Software License,  included in the file *
8// * LICENSE and available at  http://cern.ch/geant4/license .  These *
9// * include a list of copyright holders.                             *
10// *                                                                  *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work  make  any representation or  warranty, express or implied, *
14// * regarding  this  software system or assume any liability for its *
15// * use.  Please see the license in the file  LICENSE  and URL above *
16// * for the full disclaimer and the limitation of liability.         *
17// *                                                                  *
18// * This  code  implementation is the result of  the  scientific and *
19// * technical work of the GEANT4 collaboration.                      *
20// * By using,  copying,  modifying or  distributing the software (or *
21// * any work based  on the software)  you  agree  to acknowledge its *
22// * use  in  resulting  scientific  publications,  and indicate your *
23// * acceptance of all terms of the Geant4 Software license.          *
24// ********************************************************************
25//
26#ifndef LXeTrajectory_h
27#define LXeTrajectory_h 1
28
29#include "G4Trajectory.hh"
30#include "G4Allocator.hh"
31#include "G4ios.hh"
32#include "globals.hh"
33#include "G4ParticleDefinition.hh"
34#include "G4TrajectoryPoint.hh"
35#include "G4Track.hh"
36#include "G4Step.hh"
37
38class G4Polyline;                   // Forward declaration.
39
40class LXeTrajectory : public G4Trajectory
41{
42public:
43  LXeTrajectory();
44  LXeTrajectory(const G4Track* aTrack);
45  LXeTrajectory(LXeTrajectory &);
46  virtual ~LXeTrajectory();
47 
48  virtual void DrawTrajectory(G4int i_mode=0) const;
49 
50  inline void* operator new(size_t);
51  inline void  operator delete(void*);
52
53  void SetDrawTrajectory(G4bool b){drawit=b;}
54  void WLS(){wls=true;}
55  void SetForceDrawTrajectory(G4bool b){forceDraw=b;}
56  void SetForceNoDrawTrajectory(G4bool b){forceNoDraw=b;}
57private:
58  G4bool wls;
59  G4bool drawit;
60  G4bool forceNoDraw;
61  G4bool forceDraw;
62  G4ParticleDefinition* particleDefinition;
63};
64
65extern G4Allocator<LXeTrajectory> LXeTrajectoryAllocator;
66
67inline void* LXeTrajectory::operator new(size_t)
68{
69  void* aTrajectory;
70  aTrajectory = (void*)LXeTrajectoryAllocator.MallocSingle();
71  return aTrajectory;
72}
73
74inline void LXeTrajectory::operator delete(void* aTrajectory)
75{
76  LXeTrajectoryAllocator.FreeSingle((LXeTrajectory*)aTrajectory);
77}
78
79#endif
Note: See TracBrowser for help on using the repository browser.