BOSS 7.0.3
BESIII Offline Software System
Loading...
Searching...
No Matches
InstallArea/include/TrkBase/TrkBase/TrkVolume.h
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2// File and Version Information:
3// $Id: TrkVolume.h,v 1.2 2006/03/28 01:02:36 zhangy Exp $
4//
5// Description:
6// TrkVolume Class -
7// Abstract interface for the description
8// of the tracking volume of any subdetector
9//
10// Environment:
11// Software developed for the BaBar Detector at the SLAC B-Factory.
12//
13// Author List:
14// Gautier Hamel de Monchenault - CEN Saclay & Lawrence Berkeley Lab
15//
16// History (add to end):
17// Gautier May 6, 1997 - creation
18// Dave Brown 5/11/97 Add a name member
19//
20// Copyright Information:
21// Copyright (C) 1997 Lawrence Berkeley Laboratory
22// Copyright (C) 1997 CEA - Centre d'Etude de Saclay
23//
24//------------------------------------------------------------------------
25
26#ifndef TRKVOLUME_HH
27#define TRKVOLUME_HH
28
29#include "TrkBase/TrkDirection.h"
30#include <string>
31#include "CLHEP/Geometry/Point3D.h"
32
33#ifndef ENABLE_BACKWARDS_COMPATIBILITY
34// backwards compatibility will be enabled ONLY in CLHEP 1.9
36#endif
37
38class Trajectory;
39
40class TrkVolume {
41
42public:
43// Default ctor
44 TrkVolume();
45 TrkVolume(const char*);
46// Destructor
47 virtual ~TrkVolume();
48//
49 virtual bool extendThrough( const Trajectory* theTraj,
50 double& theFlightDist,
51 trkDirection theDirection=trkOut,
52 double* theStartingFlightDist=0) const = 0;
53// returns false if the point is outside the volume
54 virtual bool isInside( const HepPoint3D& ) const = 0;
55// Access to the name
56 const std::string& name() const {return _tvname;}
57private:
58 std::string _tvname; // define the volume name
59};
60
61#endif
HepGeom::Point3D< double > HepPoint3D
const std::string & name() const
virtual bool isInside(const HepPoint3D &) const =0
virtual bool extendThrough(const Trajectory *theTraj, double &theFlightDist, trkDirection theDirection=trkOut, double *theStartingFlightDist=0) const =0
virtual ~TrkVolume()
Definition: TrkVolume.cxx:51