source: trunk/examples/advanced/Rich/src/RichTbHit.cc @ 1321

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

update

File size: 4.2 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// Rich advanced example for Geant4
27// RichTbHit.cc for Rich of LHCb
28// History:
29// Created: Sajan Easo (Sajan.Easo@cern.ch)
30// Revision and changes: Patricia Mendez (Patricia.Mendez@cern.ch)
31/////////////////////////////////////////////////////////////////////////////
32#include "RichTbHit.hh"
33#include "G4VVisManager.hh"
34#include "G4Circle.hh"
35#include "G4Colour.hh"
36#include "G4VisAttributes.hh"
37#include "G4Transform3D.hh"
38#include "G4LogicalVolume.hh"
39#include "G4Transform3D.hh"
40
41G4Allocator<RichTbHit> RichTbHitAllocator;
42
43RichTbHit::RichTbHit()
44{;}
45
46RichTbHit::~RichTbHit()
47{;}
48
49RichTbHit::RichTbHit(const RichTbHit &right)
50  : G4VHit(right)
51{
52  edep = right.edep;
53  posAtSilicon = right.posAtSilicon;
54  posAtPhotoCathode=right.posAtPhotoCathode;
55  CurHpdNum=right.CurHpdNum;
56  CurSectNum=right.CurSectNum;
57  CurPixelNum=right.CurPixelNum;
58}
59
60const RichTbHit& RichTbHit::operator=(const RichTbHit &right)
61{
62  edep = right.edep;
63  posAtSilicon = right.posAtSilicon;
64  posAtPhotoCathode=right.posAtPhotoCathode;
65  CurHpdNum=right.CurHpdNum;
66  CurSectNum=right.CurSectNum;
67  CurPixelNum=right.CurPixelNum;
68 
69  return *this;
70}
71
72int RichTbHit::operator==(const RichTbHit &right) const
73{
74  return (this==&right) ? 1 : 0;
75}
76
77void RichTbHit::Draw()
78{
79
80  // The folowing does not work anymore .. SE 26-04-01
81  // Do not understand ................... John Allison 3/5/05
82  G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
83  if(pVVisManager)
84   {
85
86     G4Transform3D dummy;
87
88  G4Circle circle(posAtPhotoCathode);
89  circle.SetScreenSize(0.04);
90  circle.SetFillStyle(G4Circle::filled);
91  G4Colour colour(1.0,0.0,0.0);
92  G4VisAttributes attribs(colour);
93  circle.SetVisAttributes(attribs);
94  pVVisManager->Draw(circle,dummy);
95  }
96}
97void RichTbHit::DrawWithVisM(G4VVisManager* pVisManager)
98{
99
100  G4VVisManager* pVVisManager = pVisManager;
101  if(pVVisManager)
102    {
103      G4Transform3D dummy2;
104      G4Circle circle(posAtPhotoCathode);
105      circle.SetScreenSize(0.04);
106      circle.SetFillStyle(G4Circle::filled);
107      G4Colour colour(1.0,0.0,0.0);
108      G4VisAttributes attribs(colour);
109      circle.SetVisAttributes(attribs);
110      pVVisManager->Draw(circle,dummy2);
111    }
112}
113void RichTbHit::Print()
114{;}
115
116
117// This is a forward declarations of an instantiated G4Allocator<Type> object.
118// It has been added in order to make code portable for the GNU g++
119// (release 2.7.2) compiler.
120// Whenever a new Type is instantiated via G4Allocator, it has to be forward
121// declared to make object code (compiled with GNU g++) link successfully.
122//
123#ifdef GNU_GCC
124  template class G4Allocator<RichTbHit>;
125#endif
126
127
Note: See TracBrowser for help on using the repository browser.